Java
This is the OpenTelemetry Java documentation. OpenTelemetry is an observability framework – an API, SDK, and tools that are designed to aid in the generation and collection of application telemetry data such as metrics, logs, and traces. This documentation is designed to help you understand how to get started using OpenTelemetry Java.
Status and Releases
The current status of the major functional components for OpenTelemetry Java is as follows:
Traces | Metrics | Logs |
---|---|---|
Stable | Stable | Stable |
For releases, including the latest release, see Releases.
Repositories
OpenTelemetry Java consists of the following repositories:
- opentelemetry-java: Components for manual instrumentation including API and SDK as well as extensions, the OpenTracing shim.
- opentelemetry-java-docs: Manual instrumentation 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.
- semantic-conventions-java:
Java implementation of
OpenTelemetry Semantic Conventions. For example,
ResourceAttributes.SERVICE_NAME
. - opentelemetry-proto-java: Java bindings for the OpenTelemetry Protocol (OTLP).
Components
See components for a complete list of published components.
Releases
Published releases are available on maven central. We strongly recommend using our BOM to keep the versions of the various components in sync.
Maven
<project>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-bom</artifactId>
<version>1.42.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
</dependency>
</dependencies>
</project>
Gradle
dependencies {
implementation(platform("io.opentelemetry:opentelemetry-bom:1.42.0"))
implementation("io.opentelemetry:opentelemetry-api")
}
Getting Started
Get telemetry for your app in less than 5 minutes!
Instrumentation
Manual instrumentation for OpenTelemetry Java
Performance
Performance reference for the OpenTelemetry Java agent
Registry
Instrumentation libraries, exporters and other useful components for OpenTelemetry Java
[i18n] feedback_title
[i18n] feedback_question
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!