supported-libraries.md 76 KB

Supported libraries, frameworks, application servers, and JVMs

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/Framework Auto-instrumented versions Standalone Library Instrumentation [1] Semantic Conventions
Akka Actors 2.5+ N/A
Akka HTTP 10.0+ N/A
Apache Axis2 1.6+ N/A
Apache Camel 2.20+ (not including 3.x yet) N/A
Apache DBCP 2.0+ opentelemetry-apache-dbcp-2.0
Apache CXF JAX-RS 3.2+ N/A
Apache CXF JAX-RS Client 3.0+ N/A
Apache CXF JAX-WS 3.0+ N/A
Apache Dubbo 2.7+ opentelemetry-apache-dubbo-2.7
Apache HttpAsyncClient 4.1+ N/A
Apache HttpClient 2.0+ opentelemetry-apache-httpclient-4.3
Apache Kafka Producer/Consumer API 0.11+ opentelemetry-kafka-clients-2.6 Messaging Spans
Apache Kafka Streams API 0.11+ N/A
Apache MyFaces 1.2+ (not including 3.x yet) N/A
Apache RocketMQ gRPC/Protobuf-based Client 5.0.0+ N/A
Apache RocketMQ Remoting-based Client 4.8+ opentelemetry-rocketmq-client-4.8
Apache Struts 2 2.3+ N/A
Apache Tapestry 5.4+ N/A
Apache Wicket 8.0+ N/A
Armeria 1.3+ opentelemetry-armeria-1.3
AsyncHttpClient 1.9+ N/A
AWS Lambda 1.0+ opentelemetry-aws-lambda-core-1.0,
opentelemetry-aws-lambda-events-2.2
AWS SDK 1.11.x and 2.2.0+ opentelemetry-aws-sdk-1.11,
opentelemetry-aws-sdk-1.11-autoconfigure,
opentelemetry-aws-sdk-2.2,
opentelemetry-aws-sdk-2.2-autoconfigure
Azure Core 1.14+ N/A
Cassandra Driver 3.0+ N/A
Couchbase Client 2.0+ and 3.1+ N/A
c3p0 0.9.2+ opentelemetry-c3p0-0.9 Database Pool Metrics
Dropwizard Metrics 4.0+ (disabled by default) N/A
Dropwizard Views 0.7+ N/A
Eclipse Grizzly 2.0+ (disabled by default) N/A
Eclipse Jersey 2.0+ (not including 3.x yet) N/A
Eclipse Jetty HTTP Client 9.2+ (not including 10+ yet) opentelemetry-jetty-httpclient-9.2
Eclipse Metro 2.2+ (not including 3.x yet) N/A
Eclipse Mojarra 1.2+ (not including 3.x yet) N/A
Elasticsearch API 5.0+ N/A
Elasticsearch REST Client 5.0+ N/A
Finatra 2.9+ N/A
Geode Client 1.4+ N/A
Google HTTP Client 1.19+ N/A
Grails 3.0+ N/A
GraphQL Java 12.0+ opentelemetry-graphql-java-12.0
gRPC 1.6+ opentelemetry-grpc-1.6 RPC Server Spans, RPC Client Spans, RPC Server Metrics, RPC Client Metrics
Guava ListenableFuture 10.0+ opentelemetry-guava-10.0
GWT 2.0+ N/A
Hibernate 3.3+ (not including 6.x yet) N/A
HikariCP 3.0+ opentelemetry-hikaricp-3.0
HttpURLConnection Java 8+ N/A
Hystrix 1.4+ N/A
Java Executors Java 8+ N/A
Java Http Client Java 11+ N/A
java.util.logging Java 8+ N/A
Java Platform Java 8+ opentelemetry-runtime-metrics,
opentelemetry-resources
JVM Runtime Metrics
JAX-RS 0.5+ N/A
JAX-RS Client 1.1+ N/A
JAX-WS 2.0+ (not including 3.x yet) N/A
JBoss Log Manager 1.1+ N/A
JDBC Java 8+ opentelemetry-jdbc
Jedis 1.4+ N/A
JMS 1.1+ N/A
JSP 2.3+ N/A
Kotlin Coroutines 1.0+ N/A
Ktor 1.0+ opentelemetry-ktor-1.0,
opentelemetry-ktor-2.0
Kubernetes Client 7.0+ N/A
Lettuce 4.0+ opentelemetry-lettuce-5.1
Log4j 1 1.2+ N/A
Log4j 2 2.11+ opentelemetry-log4j-appender-2.17,
opentelemetry-log4j-context-data-2.17-autoconfigure
Logback 1.0+ opentelemetry-logback-appender-1.0,
opentelemetry-logback-mdc-1.0
Micrometer 1.5+ opentelemetry-micrometer-1.5
MongoDB Driver 3.1+ opentelemetry-mongo-3.1
Netty 3.8+ opentelemetry-netty-4.1 HTTP Server Spans, HTTP Client Spans, HTTP Server Metrics, HTTP Client Metrics
OkHttp 2.2+ opentelemetry-okhttp-3.0 HTTP Client Spans, HTTP Client Metrics
Oracle UCP 11.2+ opentelemetry-oracle-ucp-11.2
OSHI 5.3.1+ opentelemetry-oshi System Metrics
Play 2.4+ N/A
Play WS 1.0+ N/A
Quartz 2.0+ opentelemetry-quartz-2.0
RabbitMQ Client 2.7+ N/A
Ratpack 1.4+ opentelemetry-ratpack-1.7
Reactor 3.1+ opentelemetry-reactor-3.1
Reactor Netty 0.9+ N/A
Rediscala 1.8+ N/A
Redisson 3.0+ N/A
RESTEasy 3.0+ N/A
Restlet 1.0+ opentelemetry-restlet-1.1,
opentelemetry-restlet-2.0
RMI Java 8+
RxJava 1.0+ opentelemetry-rxjava-1.0,
opentelemetry-rxjava-2.0,
opentelemetry-rxjava-3.0,
opentelemetry-rxjava-3.1.1
Scala ForkJoinPool 2.8+ N/A
Servlet 2.2+ N/A
Spark Web Framework 2.3+ N/A
Spring Boot opentelemetry-spring-boot-resources
Spring Batch 3.0+ N/A
Spring Data 1.8+ N/A
Spring Integration 4.1+ opentelemetry-spring-integration-4.1
Spring Kafka 2.7+ opentelemetry-spring-kafka-2.7
Spring RabbitMQ 1.0+ N/A
Spring Scheduling 3.1+ N/A
Spring RestTemplate 3.1+ opentelemetry-spring-web-3.1
Spring Web MVC 3.1+ opentelemetry-spring-webmvc-5.3
Spring Web Services 2.0+ N/A
Spring WebFlux 5.0+ opentelemetry-spring-webflux-5.0
Spymemcached 2.12+ N/A
Tomcat JDBC Pool 8.5.0+ N/A
Twilio 6.6+ (not including 8.x yet) N/A none
Undertow 1.4+ N/A
Vaadin 14.2+ N/A
Vert.x Web 3.0+ N/A
Vert.x HttpClient 3.0+ N/A
Vert.x Kafka Client 3.6+ N/A
Vert.x RxJava2 3.5+ N/A
Vibur DBCP 11.0+ opentelemetry-vibur-dbcp-11.0

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

Application Servers

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

Application server Version JVM OS
Jetty 9.4.x, 10.0.x, 11.0.x OpenJDK 8, 11, 17 Ubuntu 18, Windows Server 2019
Payara 5.0.x, 5.1.x OpenJDK 8, 11 Ubuntu 18, Windows Server 2019
Tomcat 7.0.x OpenJDK 8 Ubuntu 18, Windows Server 2019
Tomcat 7.0.x, 8.5.x, 9.0.x, 10.0.x OpenJDK 8, 11, 17 Ubuntu 18, Windows Server 2019
TomEE 7.x, 8.x OpenJDK 8, 11, 17 Ubuntu 18, Windows Server 2019
Websphere Liberty Profile 20.x, 21.x OpenJDK 8 Ubuntu 18, Windows Server 2019
Websphere Traditional 8.5.5.x, 9.0.x IBM JDK 8 Red Hat Enterprise Linux 8.4
WildFly 13.x OpenJDK 8 Ubuntu 18, Windows Server 2019
WildFly 17.x, 21.x, 25.x OpenJDK 8, 11, 17 Ubuntu 18, Windows Server 2019

JVMs and operating systems

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

JVM Versions OS
OpenJDK (Eclipse Temurin) 8, 11, 17 Ubuntu 18, Windows Server 2019
OpenJ9 (IBM Semeru Runtimes) 8, 11, 17 Ubuntu 18, Windows Server 2019

Disabled instrumentations

Some instrumentations can produce too many spans and make traces very noisy. 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.

To enable them, add the otel.instrumentation.<name>.enabled system property: -Dotel.instrumentation.jdbc-datasource.enabled=true