Skip to Main Content
Understanding thread behavior makes multi-threaded programming easier. Thread behavior can be observed by calculating metrics that are driven from thread state changes and time durations spent in those states. This paper presents the design and implementation of a new thread profiler that builds on aspect-oriented programming (AOP) approach and its use on multi-threaded applications. The new profiler differs from existing profilers in that it adopts a metrics based approach, calculating certain metrics for threads profiled. Also presented is a method to retrieve exact time information at the machine level from the JVM context. The paper concludes with a description of results obtained for thread profiling and metric calculations and a comparison of the overhead the profiler introduces with that of other profilers.