Profiling configuration optionsedit

profiling_inferred_spans_enabled ( [1.15.0] Added in 1.15.0. experimental)edit

This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases.

Set to true to make the agent create spans for method executions based on async-profiler, a sampling aka statistical profiler.

Due to the nature of how sampling profilers work, the duration of the inferred spans are not exact, but only estimations. The profiling_inferred_spans_sampling_interval lets you fine tune the trade-off between accuracy and overhead.

The inferred spans are created after a profiling session has ended. This means there is a delay between the regular and the inferred spans being visible in the UI.

This feature is not available on Windows

dynamic config

Default Type Dynamic

false

Boolean

true

Java System Properties Property file Environment

elastic.apm.profiling_inferred_spans_enabled

profiling_inferred_spans_enabled

ELASTIC_APM_PROFILING_INFERRED_SPANS_ENABLED

profiling_inferred_spans_sampling_interval ( [1.15.0] Added in 1.15.0. )edit

The frequency at which stack traces are gathered within a profiling session. The lower you set it, the more accurate the durations will be. This comes at the expense of higher overhead and more spans for potentially irrelevant operations. The minimal duration of a profiling-inferred span is the same as the value of this setting.

dynamic config

Supports the duration suffixes ms, s and m. Example: 50ms. The default unit for this option is ms.

Default Type Dynamic

50ms

TimeDuration

true

Java System Properties Property file Environment

elastic.apm.profiling_inferred_spans_sampling_interval

profiling_inferred_spans_sampling_interval

ELASTIC_APM_PROFILING_INFERRED_SPANS_SAMPLING_INTERVAL

profiling_inferred_spans_min_duration ( [1.15.0] Added in 1.15.0. )edit

The minimum duration of an inferred span. Note that the min duration is also implicitly set by the sampling interval. However, increasing the sampling interval also decreases the accuracy of the duration of inferred spans.

dynamic config

Supports the duration suffixes ms, s and m. Example: 0ms. The default unit for this option is ms.

Default Type Dynamic

0ms

TimeDuration

true

Java System Properties Property file Environment

elastic.apm.profiling_inferred_spans_min_duration

profiling_inferred_spans_min_duration

ELASTIC_APM_PROFILING_INFERRED_SPANS_MIN_DURATION

profiling_inferred_spans_included_classes ( [1.15.0] Added in 1.15.0. )edit

If set, the agent will only create inferred spans for methods which match this list. Setting a value may slightly reduce overhead and can reduce clutter by only creating spans for the classes you are interested in. Example: org.example.myapp.*

This option supports the wildcard *, which matches zero or more characters. Examples: /foo/*/bar/*/baz*, *foo*. Matching is case insensitive by default. Prepending an element with (?-i) makes the matching case sensitive.

dynamic config

Default Type Dynamic

*

List

true

Java System Properties Property file Environment

elastic.apm.profiling_inferred_spans_included_classes

profiling_inferred_spans_included_classes

ELASTIC_APM_PROFILING_INFERRED_SPANS_INCLUDED_CLASSES

profiling_inferred_spans_excluded_classes ( [1.15.0] Added in 1.15.0. )edit

Excludes classes for which no profiler-inferred spans should be created.

This option supports the wildcard *, which matches zero or more characters. Examples: /foo/*/bar/*/baz*, *foo*. Matching is case insensitive by default. Prepending an element with (?-i) makes the matching case sensitive.

dynamic config

Default Type Dynamic

(?-i)java.*, (?-i)javax.*, (?-i)sun.*, (?-i)com.sun.*, (?-i)jdk.*, (?-i)org.apache.tomcat.*, (?-i)org.apache.catalina.*, (?-i)org.apache.coyote.*, (?-i)org.jboss.as.*, (?-i)org.glassfish.*, (?-i)org.eclipse.jetty.*, (?-i)com.ibm.websphere.*, (?-i)io.undertow.*

List

true

Java System Properties Property file Environment

elastic.apm.profiling_inferred_spans_excluded_classes

profiling_inferred_spans_excluded_classes

ELASTIC_APM_PROFILING_INFERRED_SPANS_EXCLUDED_CLASSES