Skip to content

Latest commit

 

History

History
164 lines (143 loc) · 19.8 KB

supported-libraries.md

File metadata and controls

164 lines (143 loc) · 19.8 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 Versions
Akka Actors 2.5+
Akka HTTP 10.0+
Apache Axis2 1.6+
Apache Camel 2.20+ (not including 3.x yet)
Apache CXF JAX-RS 3.2+
Apache CXF JAX-RS Client 3.0+
Apache CXF JAX-WS 3.0+
Apache Dubbo 2.7+ (not including 3.x yet)
Apache HttpAsyncClient 4.1+
Apache HttpClient 2.0+
Apache Kafka Producer/Consumer API 0.11+
Apache Kafka Streams API 0.11+
Apache MyFaces 1.2+ (not including 3.x yet)
Apache RocketMQ 4.8+
Apache Struts 2 2.3+
Apache Tapestry 5.4+
Apache Wicket 8.0+
Armeria 1.3+
AsyncHttpClient 1.9+
AWS Lambda 1.0+
AWS SDK 1.11.x and 2.2.0+
Cassandra Driver 3.0+
Couchbase Client 2.0+ and 3.1+
Dropwizard Views 0.7+
Eclipse Grizzly 2.0+ (disabled by default)
Eclipse Jersey 2.0+ (not including 3.x yet)
Eclipse Jetty HTTP Client 9.2+ (not including 10+ yet)
Eclipse Metro 2.2+ (not including 3.x yet)
Eclipse Mojarra 1.2+ (not including 3.x yet)
Elasticsearch API 5.0+
Elasticsearch REST Client 5.0+
Finatra 2.9+
Geode Client 1.4+
Google HTTP Client 1.19+
Grails 3.0+
gRPC 1.6+
Guava ListenableFuture 10.0+
GWT 2.0+
Hibernate 3.3+
HttpURLConnection Java 8+
http4k 3.270.0+
Hystrix 1.4+
Java Executors Java 8+
Java Http Client Java 11+
java.util.logging Java 8+
JAX-RS 0.5+
JAX-RS Client 1.1+
JAX-WS 2.0+ (not including 3.x yet)
JDBC Java 8+
Jedis 1.4+
JMS 1.1+
JSP 2.3+
Kotlin Coroutines 1.0+
Kubernetes Client 7.0+
Lettuce 4.0+
Log4j 1 1.2+
Log4j 2 2.11+
Logback 1.0+
Micrometer 1.5+
MongoDB Driver 3.1+
Netty 3.8+
OkHttp 2.2+
Play 2.4+ (not including 2.8.x yet)
Play WS 1.0+
Quartz 2.0+
RabbitMQ Client 2.7+
Ratpack 1.4+
Reactor 3.1+
Reactor Netty 0.9+
Rediscala 1.8+
Redisson 3.0+
RESTEasy 3.0+
Restlet 1.0+
RMI Java 8+
RxJava 1.0+
Scala ForkJoinPool 2.8+
Servlet 2.2+
Spark Web Framework 2.3+
Spring Batch 3.0+
Spring Data 1.8+
Spring Integration 4.1+
Spring Kafka 2.7+
Spring RabbitMQ 1.0+
Spring Scheduling 3.1+
Spring Web MVC 3.1+
Spring Web Services 2.0+
Spring WebFlux 5.0+
Spymemcached 2.12+
Twilio 6.6+ (not including 8.x yet)
Undertow 1.4+
Vaadin 14.2+
Vert.x Web 3.0+
Vert.x HttpClient 3.0+
Vert.x RxJava2 3.5+

OpenTelemetry support provided by the library

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
AdoptOpenJDK Hotspot 8, 11, 15 Ubuntu 18, Windows Server 2019
AdoptOpenJDK OpenJ9 8, 11, 15 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.

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

Grizzly instrumentation

When you use Grizzly for Servlet-based applications, you get better experience from Servlet-specific support. As these two instrumentations conflict with each other, more generic instrumentation for Grizzly HTTP server is disabled by default. If needed, you can enable it by adding the following system property: -Dotel.instrumentation.grizzly.enabled=true