OpenTelemetry Java SDK
opentelemetry-java
is the home of the Java implementation of the OpenTelemetry API for recording
telemetry, and SDK for managing telemetry recorded by the API.
See opentelemetry.io Java Documentation for:
[!IMPORTANT]
We are currently seeking additional contributors! See help wanted for details.
Unless otherwise noted, all published artifacts support Java 8 or higher.
See language version compatibility for complete
details.
Android Disclaimer: For compatibility
reasons, library desugaring
must be enabled.
See contributing for details on building this project locally.
Releases are published to maven central. We
publish minor releases monthly
and patch releases as needed.
See releases for a listing of
released versions and notes (see also changelog).
The artifacts published by this repository are summarized below in tables, organized in collapsible
sections by topic.
As discussed in compatibility, artifact versions must be kept in sync, for which
we strongly recommend using one of our BOMs.
opentelemetry-bom
| 1.49.0 | N/A |opentelemetry-bom-alpha
| 1.49.0-alpha | N/A |opentelemetry-api
| 1.49.0 | opentelemetry-api-incubator
| 1.49.0-alpha | opentelemetry-context
| 1.49.0 | opentelemetry-extension-kotlin
| 1.49.0 | opentelemetry-extension-trace-propagators
| 1.49.0 | opentelemetry-sdk
| 1.49.0 | opentelemetry-sdk-metrics
| 1.49.0 | opentelemetry-sdk-trace
| 1.49.0 | opentelemetry-sdk-logs
| 1.49.0 | opentelemetry-sdk-common
| 1.49.0 | opentelemetry-sdk-testing
| 1.49.0 | opentelemetry-exporter-otlp
| 1.49.0 | opentelemetry-exporter-logging-otlp
| 1.49.0 | opentelemetry-exporter-otlp-common
| 1.49.0 | opentelemetry-exporter-logging
| 1.49.0 | opentelemetry-exporter-zipkin
| 1.49.0 | opentelemetry-exporter-prometheus
| 1.49.0-alpha | opentelemetry-exporter-common
| 1.49.0 | opentelemetry-exporter-sender-okhttp
| 1.49.0 | opentelemetry-exporter-sender-jdk
| 1.49.0 | opentelemetry-exporter-sender-grpc-managed-channel
| 1.49.0 | opentelemetry-sdk-extension-autoconfigure
| 1.49.0 | opentelemetry-sdk-extension-autoconfigure-spi
| 1.49.0 | opentelemetry-sdk-extension-jaeger-remote-sampler
| 1.49.0 | opentelemetry-sdk-extension-incubator
| 1.49.0-alpha | opentelemetry-opencensus-shim
| 1.49.0-alpha | opentelemetry-opentracing-shim
| 1.49.0 | To take a dependency, include a BOM and specify the dependency as follows,
replacing {{artifact-id}}
with the value from the “Artifact ID” column
from artifacts:
groovy
implementation('io.opentelemetry:{{artifact-id}}')
xml
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>{{artifact-id}}</artifactId>
</dependency>
Snapshots of the main
branch are available as follows:
groovy
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
}
dependencies {
implementation platform("io.opentelemetry:opentelemetry-bom:1.50.0-SNAPSHOT")
implementation('io.opentelemetry:opentelemetry-api')
}
xml
<project>
<repositories>
<repository>
<id>oss.sonatype.org-snapshot</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-bom</artifactId>
<version>1.50.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
</dependency>
</dependencies>
</project>
Artifacts from this repository follow semantic versioning.
Stable artifacts (i.e. artifacts without -alpha
version suffix) come with strong backwards
compatibility guarantees for public APIs.
Artifacts may depend on other artifacts from this repository, and may depend on internal APIs (i.e.
non-public APIs) which are subject to change across minor versions. Therefore, it’s critical to keep
artifact versions in sync in order to avoid possible runtime exceptions. We strongly
recommend using one of our BOMs to assist in keeping artifacts in sync.
See the VERSIONING.md for complete details on compatibility policy.
We hold regular meetings. See details at community page.
To report a bug, or request a new feature,
please open an issue.
We use GitHub Discussions
for support or general questions. Feel free to drop us a line.
We are also present in the #otel-java
channel in the CNCF slack.
Please join us for more informal discussions.
See CONTRIBUTING.md for:
Triagers:
Find more about the triager role in community repository.
Approvers (@open-telemetry/java-approvers):
Find more about the approver role in community repository.
Maintainers (@open-telemetry/java-maintainers):
Emeritus:
Find more about the maintainer role in community repository.
We are currently resource constrained and are actively seeking new contributors interested in working towards approver / maintainer roles. In addition to the documentation for approver / maintainer roles and the contributing guide, here are some additional notes on engaging:
Made with contrib.rocks.