Fully featured low overhead profiler for Java EE and Java SE platforms.
Performance monitoring and profiling of Jenkins, TeamCity, Gradle, Maven, Ant, JUnit and TestNG.
Easy to use performance and memory profiler for .NET framework.

Event Recording with Probes

Get almost unlimited capabilities to analyze issues specific to your particular application, as well as automatically recognize problems typical to wide range of applications.

Please find a short description below. For more detail, please refer to Help.

  • Recognize typical problems with the help of built-in probes which are ready to use out of the box. Also, as the source code of the built-in probes is available, use it as a good example should you decide creating custom probes.

    Built-in probes allow to monitor:

    • Thread creation, start, name change
    • Class load and unload events
    • File stream-based I/O operations
    • File NIO channel-based operations
    • Random access file I/O operations
    • Socket I/O operations
    • Database activity (JDBC/SQL)
    • JSP/Servlet request processing
    • Long AWT/Swing events, which cause UI irresponsiveness
  • Write a custom probe to gather information about your application according to your own rules.

  • Probes can be registered on startup or via API. Probe activity mode can be changed in runtime.

  • Event inspections enable automatic high-level analysis of application basing on results obtained by the built-in probes. Previously, the "Inspections" were available for memory-related issues only.

  • Rich UI enables comprehensive analysis of probe results.

    There are several views offering different presentation of events. You can easily navigate between the views, opening selected event in different view, as well as in the telemetry graphs.

    Tables view shows events by table. If table has dependent tables, they are presented as slave views:

    Timeline view shows sequence of events from different tables, allowing to analyze nested and sequential events from different tables:

    Call tree view shows events distributed by stack trace. For each table it shows where and how many events have happened:

  • You can estimate CPU usage in arbitrary time range, basing on available stack trace telemetry:
  • You can examine all recorded events, or focus on events intersecting with given event or group of events. For example, select event corresponding to particular servlet request, to see nested events such as database operations, file I/O, socket connections etc.

  • Scalability: to avoid infinite growth of collected data, the number of recorded events can be limited.