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.

Enabling probes, probe activity modes

When starting a local profiled application from within the profiler, choose whether to enable the probes:

When starting a remote profiled application, use corresponding start options (see below).

Probe activity modes

When a probe is enabled, it is in one of following activity modes:

  • On: the probe is active and does its job.

  • Off: the probe does nothing. The effect is the same as if the probe was not registered at all. The probe overhead in this mode is almost negligible.

  • Auto: the probe is active only while CPU profiling is running: the probe automatically turns On when CPU profiling starts and then automatically turns Off when CPU profiling stops. This mode is intended for the probes whose results are naturally associated with CPU profiling session, and/or would impose undesirable overhead when no profiling is being performed. When CPU profiling results are cleared, either by starting CPU profiling or explicitly, the tables of the Auto probes are automatically cleared too.

Initial activity mode is controlled via corresponding startup options (see below).

Obtaining and changing activity mode in runtime

  • Using the profiler UI: when the profiler is connected to a profiled application, switch to the "Events" tab and press the "Manage Probes" button.

Default activity modes

Probe Default mode
Lightweight probes providing data for the performance charts On
YourKit.Probes.Files Auto
YourKit.Probes.Sockets Auto
YourKit.Probes.WebPages Auto
YourKit.Probes.Databases Auto
YourKit.Probes.Processes On

Control probes with startup options

The following startup options allow to specify which probes to enable, and to specify their initial activity mode.

Startup option Description

probe_on=<full qualified probe class name or pattern>

probe_off=<full qualified probe class name or pattern>

probe_auto=<full qualified probe class name or pattern>

Until any of the probe_* options is processed, or if none of them is specified, the list of probes to be registered on startup includes all probes in their default mode, either On or Auto (see table).

The options set the initial mode of matching probes to On, Off, Auto.

You can later change the mode of these probes in runtime by using the UI or the API.

Note: the order of probe_* options matter: they are applied from left to right, and further options can override the previous ones.

probe_disable=<full qualified probe class name or pattern>

Until any of the probe_* options is processed, or if none of them is specified, the list of probes to be registered on startup includes all probes in their default mode, either On or Auto (see table).

probe_disable removes matching probes from the list of probes to be registered on startup.

This totally eliminates the matching probes: no classes will be instrumented with their callbacks.

You won't be able to change the probe mode in runtime. Thus consider an alternate approach: use the option probe_off and activate the probe on demand by changing its mode to On or Auto.

Note: the order of probe_* options matter: they are applied from left to right, and further options can override the previous ones.

Examples

1. probe_on=*

All probes are On. This was the default behavior in the previous versions.

2. probe_off=YourKit.Probes.Databases

Databases probe will be Off. Other probes will be in their default mode.

3. probe_disable=*,probe_on=YourKit.Probes.Databases

Disable all probes except for Databases, whose initial mode is changed from Auto to On.