Java

A language-specific implementation of OpenTelemetry in Java.

OpenTelemetry Java consists of the following repositories:

  • opentelemetry-java: Components for manual instrumentation including API and SDK as well as extensions, the OpenTracing shim and examples.
  • opentelemetry-java-instrumentation: Built on top of opentelemetry-java and provides a Java agent JAR that can be attached to any Java 8+ application and dynamically injects bytecode to capture telemetry from a number of popular libraries and frameworks.
  • opentelemetry-java-contrib: Provides helpful libraries and standalone OpenTelemetry-based utilities that don’t fit the express scope of the OpenTelemetry Java or Java Instrumentation projects. For example, JMX metric gathering.

opentelemetry-java

TracesMetricsLogs
BetaAlphaExperimental

Components

  • Tracing API
  • Tracing SDK
  • Metrics API
  • Metrics SDK
  • OTLP Exporter
  • Jaeger Trace Exporter
  • Zipkin Trace Exporter
  • Prometheus Metric Exporter
  • Context Propagation
  • OpenTracing Bridge
  • OpenCensus Bridge

Releases

Published releases are available on maven central.

Maven

  <dependencies>
    <dependency>
      <groupId>io.opentelemetry</groupId>
      <artifactId>opentelemetry-api</artifactId>
      <version>0.10.0</version>
    </dependency>
  </dependencies>

Gradle

dependencies {
	implementation('io.opentelemetry:opentelemetry-api:0.10.0')
}

Other

Additional Information

opentelemetry-java-instrumentation

TracesMetricsLogs
BetaAlphaExperimental

Releases

Published releases are NOT available on maven central, but will be by GA.

Snapshots are also available as documented here.

Additional Information

opentelemetry-java-contrib

ComponentStatus
JMX Metric GatherAlpha

Releases

Last modified February 16, 2021: Update instrumentation libraries (#399) (63f91e8)