Features of the EDOT Java Agent
Elastic Stack Serverless Observability
The EDOT Java agent is a distribution of OpenTelemetry Java Instrumentation agent. It inherits all the features of the OpenTelemetry Java Instrumentation to capture logs, metrics, and traces.
The EDOT Java agent also provides:
- Exclusive features that are not available in the OpenTelemetry Java Instrumentation.
- Features of OpenTelemetry Java Instrumentation with different default configuration.
In addition to the features listed, refer to Supported technologies.
The EDOT Java agent includes the following resource attributes providers from opentelemetry-java-contrib:
- AWS: aws-resources. Turned on by default.
- GCP: gcp-resources. Turned on by default.
- Application server service name detection: resource-providers.
The EDOT Java agent includes the Inferred Spans Extension from opentelemetry-java-contrib. This extension provides the ability to enhance the traces by creating spans from async-profiler data without the need of explicit instrumentation of corresponding spans.
This feature is turned off by default and can be activated by setting OTEL_INFERRED_SPANS_ENABLED
to true
. Refer to Inferred-spans documentation for configuration options.
The EDOT Java agent includes the Span Stacktrace Extension from opentelemetry-java-contrib.
This feature is activated by default and allows to capture a stacktrace for spans that have a duration above a threshold. The OTEL_JAVA_EXPERIMENTAL_SPAN_STACKTRACE_MIN_DURATION
configuration option, which defaults to 5ms
, allows to configure the minimal duration threshold. A negative value turns off the feature.
Refer to span-stacktrace for configuration options.
Experimental runtime metrics are turned on by default.
Set OTEL_INSTRUMENTATION_RUNTIME_TELEMETRY_EMIT_EXPERIMENTAL_TELEMETRY
to false
to turn them off.
Elasticsearch and Kibana work best with metrics provided in delta-temporality. Therefore, the EDOT Java changes the default value of OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
to DELTA
. You can override this default if needed, though some provided Kibana dashboards will not work correctly if you do it.
Universal Profiling integration provides the ability to correlate traces with profiling data from the Elastic universal profiler. This feature is turned on by default on supported systems, and turned off otherwise.
Refer to universal-profiling-integration for details and configuration options.