Profiler redesigned to AOP style