Supported libraries, frameworks, application servers, and JVMs

June 25, 2026 · View on GitHub

We automatically instrument and support a huge number of libraries, frameworks, and application servers... right out of the box!

Don't see your favorite tool listed here? Consider filing an issue, or contributing.

Contents

Libraries / Frameworks

These are the supported libraries and frameworks:

Library/FrameworkAuto-instrumented versionsStandalone Library Instrumentation [1]Semantic Conventions
ActiveJ6.0+N/AHTTP Server Spans, HTTP Server Metrics
Akka Actors2.3+N/AContext propagation
Akka HTTP10.0+N/AHTTP Client Spans, HTTP Client Metrics, HTTP Server Spans, HTTP Server Metrics, Provides http.route [2]
Alibaba Druid1.0+opentelemetry-alibaba-druid-1.0Database Pool Metrics
Apache Axis21.6+N/AProvides http.route [2], Controller Spans [3]
Apache Camel2.20+ (not including 3.0+ yet)N/ADependent on components in use
Apache CXF JAX-RS3.2+ (not including 4.0+ yet)N/AProvides http.route [2], Controller Spans [3]
Apache CXF JAX-WS3.0+ (not including 4.0+ yet)N/AProvides http.route [2], Controller Spans [3]
Apache DBCP2.0+opentelemetry-apache-dbcp-2.0Database Pool Metrics
Apache Dubbo2.7+opentelemetry-apache-dubbo-2.7RPC Client Spans, RPC Server Spans
Apache ElasticJob3.0+N/Anone
Apache HBase2.0 - 2.4.xN/ADatabase Client Spans, Database Client Metrics [6]
Apache HttpAsyncClient4.1+N/AHTTP Client Spans, HTTP Client Metrics
Apache HttpClient2.0+opentelemetry-apache-httpclient-4.3,
opentelemetry-apache-httpclient-5.2
HTTP Client Spans, HTTP Client Metrics
Apache IcebergN/Aopentelemetry-iceberg-1.8none
Apache ShenYu2.4+N/AProvides http.route [2]
Apache Kafka Connect API2.6+N/AMessaging Spans
Apache Kafka Producer/Consumer API0.11+opentelemetry-kafka-clients-2.6Messaging Spans
Apache Kafka Streams API0.11+N/AMessaging Spans
Apache MyFaces1.2+ (not including 4.0+ yet)N/AProvides http.route [2], Controller Spans [3]
Apache Pekko Actors1.0+N/AContext propagation
Apache Pekko HTTP1.0+N/AHTTP Client Spans, HTTP Client Metrics, HTTP Server Spans, HTTP Server Metrics, Provides http.route [2]
Apache Pulsar2.8+N/AMessaging Spans
Apache RocketMQ gRPC/Protobuf-based Client5.0+N/AMessaging Spans
Apache RocketMQ Remoting-based Client4.8+opentelemetry-rocketmq-client-4.8Messaging Spans
Apache Struts2.3+N/AProvides http.route [2], Controller Spans [3]
Apache Thrift0.13+opentelemetry-thrift-0.13RPC Client Spans, RPC Client Metrics, RPC Server Spans, RPC Server Metrics
Apache Tapestry5.4+N/AProvides http.route [2], Controller Spans [3]
Apache Wicket8.0+N/AProvides http.route [2]
Armeria1.3+opentelemetry-armeria-1.3HTTP Client Spans, HTTP Client Metrics, HTTP Server Spans, HTTP Server Metrics
Armeria gRPC1.14+RPC Client Spans, RPC Client Metrics, RPC Server Spans, RPC Server Metrics
AsyncHttpClient1.8+N/AHTTP Client Spans, HTTP Client Metrics
Avaje Jex3.0+N/AProvides http.route [2]
AWS Lambda1.0+opentelemetry-aws-lambda-core-1.0,
opentelemetry-aws-lambda-events-3.11
FaaS Server Spans
AWS SDK1.11+,
2.2+
opentelemetry-aws-sdk-1.11,
opentelemetry-aws-sdk-1.11-autoconfigure,
opentelemetry-aws-sdk-2.2,
opentelemetry-aws-sdk-2.2-autoconfigure
Messaging Spans, Database Client Spans, Database Client Metrics [6], HTTP Client Spans, GenAI Client Spans, GenAI Client Metrics
Azure Core1.14+N/AContext propagation
Cassandra Driver3.0+opentelemetry-cassandra-4.4Database Client Spans, Database Client Metrics [6]
Clickhouse Client V10.5+N/ADatabase Client Spans, Database Client Metrics [6]
Clickhouse Client V20.8+N/ADatabase Client Spans, Database Client Metrics [6]
Couchbase Client2.0 - 2.7.xN/ADatabase Client Spans, Database Client Metrics [6]
Couchbase Client3.1+N/ADatabase Client Spans
c3p00.9.2+opentelemetry-c3p0-0.9Database Pool Metrics
Dropwizard Metrics4.0+ (disabled by default)N/Anone
Dropwizard Views0.7+N/AController Spans [3]
Eclipse Grizzly2.3+N/AHTTP Server Spans, HTTP Server Metrics
Eclipse Jersey2.0+N/AProvides http.route [2], Controller Spans [3]
Eclipse Jetty HTTP Client9.2 - 9.4.x,
12.0+
opentelemetry-jetty-httpclient-9.2
opentelemetry-jetty-httpclient-12.0
HTTP Client Spans, HTTP Client Metrics
Eclipse Metro2.2+N/AProvides http.route [2], Controller Spans [3]
Eclipse Mojarra1.2+ (not including 4.0+ yet)N/AProvides http.route [2], Controller Spans [3]
Elasticsearch API Client7.16 - 7.17.19,
8.0 - 8.9.+ [4]
N/AElasticsearch Client Spans
Elasticsearch REST Client5.0+N/ADatabase Client Spans, Database Client Metrics [6]
Elasticsearch Transport Client5.0+N/ADatabase Client Spans, Database Client Metrics [6]
FailsafeN/Aopentelemetry-failsafe-3.0none
Finagle23.11+N/Anone
Finatra2.9+N/AProvides http.route [2], Controller Spans [3]
Geode Client1.4+N/ADatabase Client Spans, Database Client Metrics [6]
Google HTTP Client1.19+N/AHTTP Client Spans, HTTP Client Metrics
Grails3.0+N/AProvides http.route [2], Controller Spans [3]
GraphQL Java12.0+opentelemetry-graphql-java-12.0,
opentelemetry-graphql-java-20.0
GraphQL Server Spans
gRPC1.6+opentelemetry-grpc-1.6RPC Client Spans, RPC Client Metrics, RPC Server Spans, RPC Server Metrics
Guava ListenableFuture10.0+opentelemetry-guava-10.0Context propagation
GWT2.0+N/ARPC Server Spans
Helidon4.3+opentelemetry-helidon-4.3HTTP Server Spans, HTTP Server Metrics, Provides http.route [2]
Hibernate3.3+N/Anone
Hibernate Reactive1.0+N/Anone
HikariCP3.0+opentelemetry-hikaricp-3.0Database Pool Metrics
HttpURLConnectionJava 8+N/AHTTP Client Spans, HTTP Client Metrics
Hystrix1.4+N/Anone
InfluxDB Client2.4+N/ADatabase Client Spans, Database Client Metrics [6]
Java ExecutorsJava 8+N/AContext propagation
Java Http ClientJava 11+opentelemetry-java-http-clientHTTP Client Spans, HTTP Client Metrics
Java Http ServerJava 8+opentelemetry-java-http-serverHTTP Server Spans, HTTP Server Metrics
java.util.loggingJava 8+N/Anone
Java PlatformJava 8+opentelemetry-runtime-telemetry,
opentelemetry-resources
JVM Runtime Metrics
Javalin5.0+ (not including 7.0+ yet)N/AProvides http.route [2]
JAX-RS0.5+N/AProvides http.route [2], Controller Spans [3]
JAX-RS Client1.1+N/AHTTP Client Spans, HTTP Client Metrics
JAX-WS2.0+ (not including 3.0+ yet)N/AProvides http.route [2], Controller Spans [3]
JBoss Log Manager1.1+N/Anone
JDBCJava 8+opentelemetry-jdbcDatabase Client Spans, Database Client Metrics [6]
Jedis1.4+ [7]N/ADatabase Client Spans, Database Client Metrics [6]
JFinal3.2+N/AProvides http.route [2], Controller Spans [3]
JMS1.1+N/AMessaging Spans
Jodd Http4.2+N/AHTTP Client Spans, HTTP Client Metrics
JSP2.3.x onlyN/AController Spans [3]
Kotlin Coroutines1.0+N/AContext propagation
Ktor1.0+opentelemetry-ktor-1.0,
opentelemetry-ktor-2.0,
opentelemetry-ktor-3.0
HTTP Client Spans, HTTP Client Metrics, HTTP Server Spans, HTTP Server Metrics
Kubernetes Client7.0+N/AHTTP Client Spans, HTTP Client Metrics
Lettuce4.0+opentelemetry-lettuce-5.1Database Client Spans, Database Client Metrics [6]
Log4j 11.2+N/Anone
Log4j 22.11+opentelemetry-log4j-appender-2.17,
opentelemetry-log4j-context-data-2.17-autoconfigure
none
Logback1.0+opentelemetry-logback-appender-1.0,
opentelemetry-logback-mdc-1.0
none
Micrometer1.5+ (disabled by default)opentelemetry-micrometer-1.5none
MongoDB Driver3.1+opentelemetry-mongo-3.1Database Client Spans, Database Client Metrics [6]
MyBatis3.2+N/Anone
NATS Client2.17.2+nats-2.17Messaging Spans
Netty HTTP codec [5]3.8+opentelemetry-netty-4.1HTTP Client Spans, HTTP Client Metrics, HTTP Server Spans, HTTP Server Metrics
OpenAI Java SDK1.1+openai-java-1.1GenAI Client Spans, GenAI Client Metrics
OpenSearch Java Client3.0+Database Client Spans, Database Client Metrics [6]
OpenSearch Rest Client1.0+Database Client Spans, Database Client Metrics [6]
OkHttp2.2+opentelemetry-okhttp-3.0HTTP Client Spans, HTTP Client Metrics
Oracle UCP11.2+opentelemetry-oracle-ucp-11.2Database Pool Metrics
OSHI5.3.1+opentelemetry-oshiSystem Metrics (partial support)
Play MVC2.4+N/AProvides http.route [2], Controller Spans [3]
Play WS1.0+N/AHTTP Client Spans, HTTP Client Metrics
PowerJob4.0.0+N/Anone
Quarkus Resteasy Reactive2.16.7+N/AProvides http.route [2]
Quartz2.0+opentelemetry-quartz-2.0none
R2DBC1.0+opentelemetry-r2dbc-1.0Database Client Spans, Database Client Metrics [6]
RabbitMQ Client2.7+N/AMessaging Spans
Ratpack1.4+opentelemetry-ratpack-1.7HTTP Client Spans, HTTP Client Metrics, HTTP Server Spans, HTTP Server Metrics
Reactor3.1+opentelemetry-reactor-3.1Context propagation
Reactor Netty0.9+N/AHTTP Client Spans, HTTP Client Metrics
Rediscala1.8+N/ADatabase Client Spans, Database Client Metrics [6]
Redisson3.0+N/ADatabase Client Spans, Database Client Metrics [6]
RESTEasy3.0+ (not including 6.0+ yet)N/AProvides http.route [2], Controller Spans [3]
Restlet1.0+opentelemetry-restlet-1.1,
opentelemetry-restlet-2.0
HTTP Server Spans, HTTP Server Metrics
RMIJava 8+RPC Client Spans, RPC Server Spans
RxJava1.0+opentelemetry-rxjava-1.0,
opentelemetry-rxjava-2.0,
opentelemetry-rxjava-3.0,
opentelemetry-rxjava-3.1.1
Context propagation
Scala ForkJoinPool2.8+N/AContext propagation
Servlet2.2+opentelemetry-servlet-3.0,
opentelemetry-servlet-5.0
HTTP Server Spans, HTTP Server Metrics
SOFARPC5.4+opentelemetry-sofa-rpc-5.4,
opentelemetry-sofa-rpc-5.4-autoconfigure
RPC Client Spans, RPC Client Metrics, RPC Server Spans, RPC Server Metrics
Spark Web Framework2.3+N/AProvides http.route [2]
Spring Batch3.0+ (not including 5.0+ yet)N/Anone
Spring Bootopentelemetry-spring-boot-resourcesnone
Spring Cloud AWS3.0+N/AMessaging Spans
Spring Cloud Gateway2.0+N/AProvides http.route [2]
Spring Core2.0+N/AContext propagation
Spring Data1.8+N/Anone
Spring Integration4.1+ (not including 6.0+ yet)opentelemetry-spring-integration-4.1Messaging Spans
Spring JMS2.0+N/AMessaging Spans
Spring Kafka2.7+opentelemetry-spring-kafka-2.7Messaging Spans
Spring Pulsar1.0+Messaging Spans
Spring RabbitMQ1.0+N/AMessaging Spans
Spring RestTemplate3.1+opentelemetry-spring-web-3.1HTTP Client Spans, HTTP Client Metrics
Spring RMI4.0 - 5.xN/ARPC Client Spans, RPC Server Spans
Spring Scheduling3.1+N/Anone
Spring Web MVC3.1+opentelemetry-spring-webmvc-5.3,
opentelemetry-spring-webmvc-6.0
HTTP Server Spans, HTTP Server Metrics, Provides http.route [2], Controller Spans [3]
Spring Web Services2.0+ (not including 4.0+ yet)N/Anone
Spring WebFlux5.3+opentelemetry-spring-webflux-5.3HTTP Client Spans, HTTP Client Metrics, HTTP Server Spans, HTTP Server Metrics, Provides http.route [2], Controller Spans [3]
Spymemcached2.12+N/ADatabase Client Spans, Database Client Metrics [6]
Tomcat JDBC Pool8.5+N/ADatabase Pool Metrics
Twilio6.6+ (not including 8.0+ yet)N/Anone
Undertow1.4+N/AHTTP Server Spans, HTTP Server Metrics
Vaadin14.2+ (not including 24.4+ yet)N/AProvides http.route [2], Controller Spans [3]
Vert.x HttpClient3.0+N/AHTTP Client Spans, HTTP Client Metrics
Vert.x Kafka Client3.6+N/AMessaging Spans
Vert.x Redis Client4.0+N/ADatabase Client Spans, Database Client Metrics [6]
Vert.x RxJava23.5+N/Acontext propagation only
Vert.x SQL Client4.0+N/ADatabase Client Spans, Database Client Metrics [6]
Vert.x Web3.0+N/AProvides http.route [2]
Vibur DBCP11.0+opentelemetry-vibur-dbcp-11.0Database Pool Metrics
XXL-JOB1.9.2+N/Anone
ZIO2.0+N/AContext propagation
ZIO HTTP3.0+N/AProvides http.route [2]

[1] Standalone library instrumentation refers to instrumentation that can be used without the Java agent.

[2] Provides http.route: Provides route-based span name for existing SERVER span. If applicable, provides http.route span and metric attribute on existing SERVER span and metrics.

[3] Controller Spans are INTERNAL spans capturing the controller and/or view execution. See Suppressing controller and/or view spans.

[4] Newer versions of the library have telemetry built-in.

[5] Doesn't currently support capturing HTTP/2 traffic.

[6] Database Client Metrics are available for those who opt-in to semantic convention stability.

[7] When otel.instrumentation.common.v3-preview is enabled, Jedis instrumentation supports 2.0+.

Application Servers

These are the application servers that the smoke tests are run against:

Application serverVersionJVMOS
Jetty9.4.58OpenJDK 8, 11, 17, 21, 25
OpenJ9 8, 11, 17, 21, 25
ubuntu-latest, windows-latest
Jetty10.0.26, 11.0.26OpenJDK 11, 17, 21, 25
OpenJ9 11, 17, 21, 25
ubuntu-latest, windows-latest
Jetty12.0.28OpenJDK 17, 21, 25
OpenJ9 17, 21, 25
ubuntu-latest, windows-latest
Open Liberty20.0.0.12OpenJDK 8, 11
OpenJ9 8, 11
ubuntu-latest, windows-latest
Open Liberty21.0.0.12, 22.0.0.12OpenJDK 8, 11, 17
OpenJ9 8, 11, 17
ubuntu-latest, windows-latest
Open Liberty23.0.0.12OpenJDK 8, 11, 17, 21
OpenJ9 8, 11, 17, 21
ubuntu-latest, windows-latest
Open Liberty26.0.0.3OpenJDK 8, 11, 17, 21, 25
OpenJ9 8, 11, 17, 21, 25
ubuntu-latest, windows-latest
Payara5.2020.6, 5.2021.8OpenJDK 8, 11
OpenJ9 8, 11
ubuntu-latest, windows-latest
Payara6.2023.12OpenJDK 11, 17
OpenJ9 11, 17, 21, 25
ubuntu-latest, windows-latest
Tomcat7.0.109OpenJDK 8
OpenJ9 8
ubuntu-latest, windows-latest
Tomcat8.5.98, 9.0.111OpenJDK 8, 11, 17, 21, 25
OpenJ9 8, 11, 17, 21, 25
ubuntu-latest, windows-latest
Tomcat10.1.48OpenJDK 11, 17, 21, 25
OpenJ9 11, 17, 21, 25
ubuntu-latest, windows-latest
TomEE7.0.9, 7.1.4OpenJDK 8
OpenJ9 8
ubuntu-latest, windows-latest
TomEE8.0.16OpenJDK 8, 11, 17, 21, 25
OpenJ9 8, 11, 17, 21, 25
ubuntu-latest, windows-latest
TomEE9.1.3OpenJDK 11, 17, 21, 25
OpenJ9 11, 17, 21, 25
ubuntu-latest, windows-latest
WebSphere Traditional8.5.5.29, 9.0.5.27IBM JDK 8Red Hat Enterprise Linux 8.4
WildFly13.0.0.FinalOpenJDK 8
OpenJ9 8
ubuntu-latest, windows-latest
WildFly17.0.1.Final, 21.0.0.FinalOpenJDK 8, 11, 17, 21
OpenJ9 8, 11, 17, 21
ubuntu-latest, windows-latest
WildFly28.0.1.Final, 29.0.1.Final, 30.0.1.FinalOpenJDK 11, 17, 21, 25
OpenJ9 11, 17, 21, 25
ubuntu-latest, windows-latest

JVMs and operating systems

These are the JVMs and operating systems that the integration tests are run against:

JVMVersionsOS
OpenJDK (Eclipse Temurin)8, 11, 17, 21, 25, 26ubuntu-latest
OpenJ9 (IBM Semeru Runtimes)8, 11, 17, 21, 25, 26ubuntu-latest

Disabled instrumentations

Some instrumentations can produce too many spans and metrics and thus create a lot of noise. For this reason, the following instrumentations are disabled by default:

  • jdbc-datasource which creates spans whenever the java.sql.DataSource#getConnection method is called.
  • dropwizard-metrics which might create a very low quality metrics data, because of lack of label/attribute support in the Dropwizard metrics API.
  • micrometer which might create high number of metrics due to being broadly used in libraries.

To enable them, add the otel.instrumentation.<name>.enabled system property:

  • -Dotel.instrumentation.jdbc-datasource.enabled=true
  • -Dotel.instrumentation.dropwizard-metrics.enabled=true
  • -Dotel.instrumentation.micrometer.enabled=true