Fully featured low overhead profiler for Java EE and Java SE platforms.
Monitoring and profiling solution for Gradle, Maven, Ant, JUnit and TestNG.
Easy to use performance and memory profiler for .NET framework.

Capturing snapshots

Much useful profiling information is available in the live views when the profiler is connected to a profiled application.

However, to use all analysis capabilities the profiler provides, a snapshot should be captured, i.e. the collected profiling data written to a file.

The snapshot files have extension .snapshot and are created in thesnapshot directory.

  • To capture a snapshot, connect to the profiled application and use corresponding toolbar button:
  • Snapshots can also be captured automatically using:

    Memory vs performance snapshots

    By default, the snapshot captured from the profiler UI contains the memory state of the profiled application at the moment it was captured. It contains information about all loaded classes, about all existing objects, and about references between objects.

    The heap is necessary for comprehensive memory profiling.

    If for some reason (e.g. to reduce the snapshot size) you do not need that information, select corresponding option before capturing the snapshot:

    The result snapshot will be a performance snapshot. It will contain all the same information as a memory snapshot except for the detail on individual objects in the heap.

    Note: snapshots captured on exit are always performance snapshots due to a technical reason: capturing a memory snapshot requires to force garbage collection which is not possible when the CLR is being shut down.