Java Exception sensor

The Java Exception sensor retrieves information about the exception's Throwable class, its messages and optionally its stack trace elements. It also retrieves information about exceptions that do not get thrown but are created by new. The transferred exception event is handled as a single event with no duration.

Sensor Configuration

To edit the System Profile specific settings, open the System Profile Preferences dialog box and select Agent Group/tier with Java technology > Sensor Configuration and then select the Exceptions item in the Sensor Configuration list.

Aggregation

Exception aggregation is aimed to reduce the PurePath node count when many exceptions are thrown. The aggregation is done per instrumented node level. The first three exceptions are captured normally, beginning with the 4th exception, aggregation takes effect and only count occurrences of distinct class+message combinations.

Configuration properties

You can define which classes to instrument. There are two possible scenarios:

  • Instrument listed classes only.
  • Instrument all classes, except for the listed ones.

Select the appropriate option button and list classes to be included/excluded from the instrumentation. You can do this manually or use the Class Browser.

Note that this configuration only applies to Exception subclasses, not Error subclasses. For example, a java.lang.AssertionError always appears, even if a rule such as java. is active. The java.lang.NullPointerException does not appear in the same example, because it is excluded by the same rule.

Overhead properties

The Java Exception Sensor captures data of the Throwable class without using reflection. A delegation suppression mechanism is used for suppressing nested super() calls.

In the Overhead Properties section in the Exception Sensor Properties dialog box, you can enable or disable capture of stack traces for exceptions and fine-tune the amount of data that is captured and transferred from the Agent to the Server.

Overhead Property Description Overhead impact Default value
Capture Stacktrace Enables capturing of stack traces.
Capturing the stack and transferring the data to the server causes high CPU overhead on the instrumented application and consumes network bandwidth.
high enabled
Maximum Captured Stacktrace depth Limits the number of elements per stacktrace. Only the topmost elements are transferred.
The allowed range is 0—256.
medium 32
Maximum Captured Stacktraces per second Limits the number of stacktraces captured per second.
The allowed range is 0—1024.
high 128