Java Agent Frameworks for OpenTelemetry

Vendor Framework Version Entry Points Exit Points Configuration Notes
Open Source Java Servlet API 2.x, 3.0 Yes - -
Apache ActiveMQ 5.x Yes Yes -
Apache Kafka Streams <=3.5.1 Yes Yes -
Apache Apache HTTP Client - Yes Yes See "HTTP Backends" on Java Backend Detection.
Open Source Http4s Blaze Client Blaze versions: 0.21.1, 0.21.0, 0.20.23, 0.20.5scala 2.11, 2.12 No Yes -
Apache Kafka 0.9.0.0 to 3.0.0 - Yes Kafka consumer entry points are disabled by default. Correlation is supported. See Apache Kafka Consumer Backends.
Open Source Micronaut 3.3.3, 3.7.4 Yes Yes -
Apache Struts 1.x, 2.x Yes - See Struts Entry Points.
Apache Tomcat 5.x, 6.x, 7.x, 8.x, 9, 10 Yes - See Apache Tomcat Startup Settings.
Open Source Spring Boot 2.x, 3.x Yes - -
Open Source

Play for Java

Play for Scala

2.3, 2.4, 2.5, 2.6, 2.7, 2.8 Yes - Play EUM-APM correlation supported

Open Source

Scala 2.11.6 - - -
Open Source Spring REST - - Yes -
Open Source Spring RMI - Yes Yes -
Open Source

Akka HTTP Name: akka-http-stream-entry-enabled

Type: Boolean

Default: False

Akka Actor 2.6

Akka HTTP up to 10.2.6

Scala 2.11, 2.12

Yes Yes

EUM is supported

Support for Non-Route DSL

Oracle WebLogic RMI 9.x+ Yes Yes See Oracle WebLogic Startup Settings.
Oracle and BEA WebLogic Server 9.x+ Yes Yes See Oracle WebLogic Startup Settings.
Oracle OSB deployed on WebLogic 12.2.1 Yes Yes See OSB Support.
Open Source HTTP Client 0.3-3 Correlation: Yes; Entry: No Yes See Oracle WebLogic Startup Settings and Default configuration excludes WebLogic classes.
Open Source Java Server Pages 2.x, 3.1 - - -
Open Source JBoss EAP 7.1.5, 7.2.0, 7.3.0 Yes Yes See JBoss and Wildfly Startup Settings.
Open Source JBoss Wildfly (formerly JBoss Application Server) 12.x+ Yes Yes See JBoss and Wildfly Startup Settings.
Spring Spring Integration 2.2.0+, 4.0+, 5.2, 5.3 Yes Yes

See Spring Integration Support.

See also "Java Message Service Backends" on Java Backend Detection.

Spring WS Web Services(HTTP and SOAP) 3.x, 4.x, 5.x To enable correlation using a header transported in the SOAP:Envelope set node property enable-soap-header-correlation=true - Web Service naming
Open Source Spring WebFlux 5.0, 5.1, 5.2, 5.3 Spring Boot (Netty, Jetty, Tomcat, Undertow) WebClient (Reactor Netty, Reactive Jetty)

The node property enable-webclient, disables the Netty instrumentation and enables WebClient configuration.

Open Source WebSocket 1.0 (Java EE 7, JSR-356) Yes, correlation not supported Yes Node property: websocket-entry-calls-enabled