https://github.com/signalfx/splunk-otel-java
Splunk Distribution of OpenTelemetry Java
https://github.com/signalfx/splunk-otel-java
instrumentation java java-agent jvm metrics opentelemetry tracing
Last synced: 4 months ago
JSON representation
Splunk Distribution of OpenTelemetry Java
- Host: GitHub
- URL: https://github.com/signalfx/splunk-otel-java
- Owner: signalfx
- License: apache-2.0
- Created: 2020-07-29T14:58:00.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-09-03T05:24:02.000Z (5 months ago)
- Last Synced: 2025-09-03T07:20:35.651Z (5 months ago)
- Topics: instrumentation, java, java-agent, jvm, metrics, opentelemetry, tracing
- Language: Java
- Homepage: https://docs.splunk.com/Observability/gdi/get-data-in/application/java/get-started.html
- Size: 4.52 MB
- Stars: 70
- Watchers: 15
- Forks: 42
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
## Important
**Splunk OpenTelemetry Java Instrumentation 2.x** is available and recommended to collect and export
telemetry for Splunk Observability Cloud. Refer to the [official documentation](https://docs.splunk.com/observability/en/gdi/get-data-in/application/java/get-started.html)
for details.
---
Get Started
•
Get Involved
•
Migrate from SignalFx Java Agent
About the distribution
•
Security
•
Supported Libraries
•
Troubleshooting
# Splunk Distribution of OpenTelemetry Java
The Splunk Distribution of [OpenTelemetry Instrumentation for
Java](https://github.com/open-telemetry/opentelemetry-java-instrumentation)
provides a Java Virtual Machine (JVM)
agent that automatically instruments your Java application to capture and report
distributed traces to [Splunk APM](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=apm-intro).
This distribution comes with the following defaults:
- [W3C `tracecontext`](https://www.w3.org/TR/trace-context/) and [W3C
baggage](https://www.w3.org/TR/baggage/) context propagation;
[B3](https://github.com/openzipkin/b3-propagation) can also be
[configured](https://github.com/signalfx/splunk-otel-java/blob/main/docs/advanced-config.md#trace-propagation-configuration).
- [OTLP HTTP/protobuf
exporter](https://opentelemetry.io/docs/specs/otlp/#otlphttp)
configured to send spans to a locally running [Splunk OpenTelemetry
Collector](https://github.com/signalfx/splunk-otel-collector)
- Unlimited default limits for [configuration
options](docs/advanced-config.md#trace-configuration) to support
full-fidelity traces.
If you're currently using the SignalFx Java Agent and want to
migrate to the Splunk Distribution of OpenTelemetry Java,
see [Migrate from the SignalFx Java Agent](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=java.otel.repo.migration).
---
The following documentation refers to the in-development version of `splunk-otel-java`. Docs for the latest version ([v2.19.0](https://github.com/signalfx/splunk-otel-java/releases/latest)) can be found [here](https://github.com/signalfx/splunk-otel-java/blob/v2.19.0/README.md).
---
## Requirements
The agent works with Java runtimes version 8 and higher. For the full list of requirements and supported libraries and versions, see [Requirements for the Java agent](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=java.gdi.requirements) in the official Splunk documentation.
## Get started
For complete instructions on how to get started with the Splunk Distribution of OpenTelemetry Java, see [Instrument Java services for Observability Cloud](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=learnmore.java.gdi) in the official Splunk documentation.
To see the Java Agent in action with sample applications, see the OpenTelemetry
[examples](https://github.com/open-telemetry/opentelemetry-java-examples/tree/main/javaagent).
## Advanced configuration
To fully configure the agent of the Splunk Distribution of OpenTelemetry Java, see [Configure the Java agent](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=java.gdi.settings) in the official Splunk documentation.
## Correlating traces with logs
The Splunk Distribution of OpenTelemetry Java provides a way to correlate traces with logs. For more information see [Connect Java application trace data with logs](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=java.gdi.correlate)
in the Splunk Observability Cloud user documentation.
## Manually instrument a Java application
Documentation on how to manually instrument a Java application is available in the
[OpenTelemetry official documentation](https://opentelemetry.io/docs/instrumentation/java/manual/).
To learn how to add custom metrics to your application see [Manual instrumentation](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=java.gdi.custom.metrics).
To extend the instrumentation with the OpenTelemetry Instrumentation for Java,
you have to use a compatible API version.
The Splunk Distribution of OpenTelemetry Java version 2.19.0 is compatible
with:
* OpenTelemetry API version 1.53.0
* OpenTelemetry Instrumentation for Java version 2.19.0
## Snapshot builds
We publish [snapshot builds](https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/com/splunk/splunk-otel-javaagent/2.20.0-SNAPSHOT/)
with every merge to the `main` branch. Snapshots are primarily intended to test new functionality and are not recommended
for production use.
## Upgrades
For information and best practices around upgrades, see the [Upgrading documentation](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=java.gdi.upgrades).
## Troubleshooting
For troubleshooting information and known issues, see [Troubleshooting Java instrumentation](https://quickdraw.splunk.com/redirect/?product=Observability&version=current&location=java.gdi.troubleshooting)
in the Splunk Observability Cloud user documentation.
# License
The Splunk Distribution of OpenTelemetry Java is a distribution of [OpenTelemetry Instrumentation for Java](https://github.com/open-telemetry/opentelemetry-java-instrumentation). It is licensed under the terms of the Apache Software License version 2.0. For more details, see [the license file](./LICENSE).
>ℹ️ SignalFx was acquired by Splunk in October 2019. See [Splunk SignalFx](https://www.splunk.com/en_us/investor-relations/acquisitions/signalfx.html) for more information.