|
Update: August 31, 2006
Elimination of unnecessary print statements that cause unwanted overhead when the library that gathers CPU timings with POSIX is used.
What is Bytecode Instrumentation Profiling Toolkit for Java?
Profiling consists of getting timing traces on method execution and is commonly achieved by using a JVMPI standard interface. Instead, Bytecode Instrumentation Profiling Toolkit for Java™ (BIPTK) exploits new bytecode instrumentation capabilities provided by frameworks such as AspectJ or Eclipse TPTP. Bytecode instrumentation allows for a new generation of profilers that are much more customizable than older, JVMPI-based counterparts.
The advantages of BIPTK are mainly in flexibility: Timing events are sent to a Java library and can be handled in a variety of ways. For instance, one can simply generate a profiling trace of all method calls that match a filter or put a threshold and get traces only for methods that exceed the threshold.
How does it work?
BIPTK includes a library for generating profiling traces, an Eclipse plug-in for visualizing the traces, and some working examples of instrumenting code with Eclipse TPTP Probekit.
The Bytecode Instrumentation Engine captures timing events from the Java application, and the library makes the correlations and saves traces in XML format.
The Eclipse plug-in is an editor for profiling traces, helping in the analysis, and visualizing for each method and every child call; it also enables navigation of the whole call tree in order to identify the major causes of performance degradation.
|