On this page
Overview
OpenTelemetry Java Instrumentation provides a Java agent and instrumentation libraries that generate telemetry from supported HTTP, database, RPC, and other calls with minimal application changes.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Instrument supported libraries at JVM startup
Attach the pinned JAR with -javaagent and select service identity and exporters through properties or environment variables. The console exporter shows spans locally.
Sources: [1]
Best fit
Fit broad instrumentation across existing Java services
It fits applications using many supported frameworks that need consistent telemetry configuration.
Sources: [1]
Before adoption
Official sources
- [1]Java instrumentation README at v2.32.0(2026-10-05)
- [2]Java agent v2.32.0(2026-10-05)
- [3]Java instrumentation LICENSE at v2.32.0(2026-10-05)
- [4]Java instrumentation v2.32.0 release(2026-10-05)
Supplemental curator note
Inventory auto-instrumented libraries and attributes in the target application, inspect console output, then configure the production destination.
Try it in 3 steps
- 1
Download the pinned Java agent
Install curl and Java 11 or later, create an empty otel-java-demo directory, and download the pinned v2.32.0 agent JAR. The agent itself supports Java 8 and later.
mkdir otel-java-demo && cd otel-java-demo && curl -fL -o opentelemetry-javaagent.jar https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v2.32.0/opentelemetry-javaagent.jar - 2
Compile an HTTP client example
Create and compile a java.net.http program that makes one HTTPS GET to example.com; running it requires outbound network access.
printf '%s\n' 'import java.net.URI;' 'import java.net.http.*;' 'public class Hello {' ' public static void main(String[] args) throws Exception {' ' var request = HttpRequest.newBuilder(URI.create("https://example.com")).build();' ' System.out.println(HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.discarding()).statusCode());' ' }' '}' > Hello.java && javac Hello.java - 3
Run with the agent and inspect span output
Run with the console exporter and assert the HTTP success status 200, the HTTP-client-specific name=GET, and traceId separately. No Collector or persistent server is started.
(set -o pipefail; java -javaagent:opentelemetry-javaagent.jar -Dotel.service.name=javaagent-demo -Dotel.traces.exporter=console -Dotel.metrics.exporter=none -Dotel.logs.exporter=none Hello 2>&1 | tee javaagent-output.txt) && grep -x '200' javaagent-output.txt && grep -F 'name=GET' javaagent-output.txt && grep -F 'traceId=' javaagent-output.txt
Growth
Growth trends · Last 30 days
2,638 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 283
- Open PRs
- 61
- Issues opened
- 229
- Issues closed
- 210
- PRs opened
- 936
- PRs merged
- 784
Issues
229 / 210
Pull requests
936 / 784
Maintenance
- Median first response
- 6.6 hr
- Issue response rate
- 3.8% (2/52)
Based on up to the 100 newest issues opened by external users in the last 90 days. A first comment from an OWNER, MEMBER, or COLLABORATOR counts as a response; issues whose full comment history cannot be checked are excluded. The median and response rate update weekly.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
- Stars
- 2,638
- Forks
- 1,157
- Watchers
- 53
- Open issues
- 224
- Contributors
- 389
- Owner type
- Organization
- Primary language
- Java
- License
- Apache-2.0
- Repository last updated
- Oct 5, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Elasticsearch78,194 Stars
1 shared tag(s) · 1 shared category(s) · Same language
distributed full-text/vector search for analytics, observability, and RAG
Java - DBeaver51,958 Stars
1 shared tag(s) · 1 shared category(s) · Same language
operate many database systems from one desktop SQL workspace
Java - Retrofit43,936 Stars
1 shared tag(s) · 1 shared category(s) · Same language
call HTTP APIs through typed Java and Kotlin interfaces
Java - Netty35,065 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Build high-connection protocol servers and clients in Java from event loops and channel pipelines
Java - OpenAPI Generator26,769 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Generate client SDKs, server stubs, documentation, and configuration for many languages from one OpenAPI contract
Java - Jenkins26,621 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Automate builds, tests, analysis, and deployment with jobs, pipelines, and a large Java plugin ecosystem
Java
Report incorrect information
Tell us if any listing information is incorrect or outdated.