The Java(TM) Execution Time Measurement Library provides a small set of classes to measure execution performance of existing J2SE or J2EE applications.

What's the purpose of this library?

In order to identify the root cause of bad application performance a fairly limited set of data is needed. Usually it is enough to know

to track down application hotspots. However collecting those data is either expensive (in terms of budget or application side effects) or too low level or just highly proprietary. The Java(TM) Execution Time Measurement Library tries to target these issues.

How does it work?

The main idea of this library is to collect the data mentioned as so called Named Measurement Points, while an Measurement Point may be any abritary code segment such as an method call, a constructor invocation or a limited set of Java instructions. Measurement Points may be inserted into existing code either by hand or declarative with the help of Aspect Oriented Programming (AOP) frameworks. Since Measurement Points might be nested within others the library supports recording of nested Measurement Points and represent them as Execution Path.

For further details see one minute and five minute tutorial.

ATTENTION!
Please note that it is not recommended to use this library for low level profiling. We highly encourage everyone to use this library for high level performance analysis only. For low level optimization please consider the use of an commercial or non commercial profiler.