Extensible Java Profiler (EJP) is an open-source profiling tool for Java with a scalable and extensible architecture, allowing its usage for exotic programming languages that use a Java backend.
A Java profiler is a development tool used to optimize the performance of Java programs, by helping to find and tune away expensive parts of them.
EJP is based on the Java Virtual Machine Profiler Interface (JVMPI). On the contrary of Sun's hprof tool, which generates statistical information, it logs every single method invocation. It can be used to trace the execution of small parts of Java programs and display it in hierarchical trees with some elements hidden or highlighted.
EJP is absolutely free software, which means you do not have and never will have to pay anything to use it.
Special features of EJP (over other free or commercial Java profilers).
- every single method invocation is traced, which means you get the complete trace of a program's execution;
- as of version 2.0, huge execution traces can be instantly loaded up and browsed on a tree view;
- plugin architecture allows for creation of custom modifications to the displayed execution tree to better filter out information.