跳到主要内容

兼容性列表

文档来源说明

本文档内容来源于 OpenTelemetry Java Instrumentation 官方文档

最后更新日期: 2025 年 1 月 22 日

支持的库、框架、应用服务器和 JVM

OTel Java Agent 自动插桩并集成了大量的库、框架和应用服务器,开箱即用。

目录

库和框架

这些是支持的库和框架:

库/框架自动插桩版本独立库插桩 [1]语义约定
Akka Actors2.3+N/A上下文传播
Akka HTTP10.0+N/AHTTP 客户端 Spans, HTTP 客户端指标, HTTP 服务端 Spans, HTTP 服务端指标, 提供 http.route [2]
Alibaba Druid1.0+opentelemetry-alibaba-druid-1.0数据库连接池指标
Apache Axis21.6+N/A提供 http.route [2], 控制器 Spans [3]
Apache Camel2.20+ (不包括 3.0+)N/A取决于使用的组件
Apache CXF JAX-RS3.2+ (不包括 4.0+)N/AProvides http.route [2], Controller Spans [3]
Apache CXF JAX-WS3.0+ (不包括 4.0+)N/AProvides http.route [2], Controller Spans [3]
Apache DBCP2.0+opentelemetry-apache-dbcp-2.0数据库连接池指标
Apache Dubbo2.7+opentelemetry-apache-dubbo-2.7RPC 客户端 Spans, RPC 服务端 Spans
Apache HttpAsyncClient4.1+N/AHTTP 客户端 Spans, HTTP 客户端指标
Apache HttpClient2.0+opentelemetry-apache-httpclient-4.3,
opentelemetry-apache-httpclient-5.2
HTTP 客户端 Spans, HTTP 客户端指标
Apache ShenYu2.4+N/AProvides http.route [2]
Apache Kafka Producer/Consumer API0.11+opentelemetry-kafka-clients-2.6消息传递 Spans
Apache Kafka Streams API0.11+N/A消息传递 Spans
Apache MyFaces1.2+ (不包括 4.0+)N/AProvides http.route [2], Controller Spans [3]
Apache Pekko Actors1.0+N/AContext propagation
Apache Pekko HTTP1.0+N/AHTTP 客户端 Spans, HTTP 客户端指标, HTTP 服务端 Spans, HTTP 服务端指标, Provides http.route [2]
Apache Pulsar2.8+N/A消息传递 Spans
Apache RocketMQ gRPC/Protobuf-based Client5.0+N/A消息传递 Spans
Apache RocketMQ Remoting-based Client4.8+opentelemetry-rocketmq-client-4.8消息传递 Spans
Apache Struts2.3+N/AProvides http.route [2], Controller Spans [3]
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 客户端 Spans, HTTP 客户端指标, HTTP 服务端 Spans, HTTP 服务端指标
Armeria gRPC1.14+RPC 客户端 Spans, RPC 客户端指标, RPC 服务端 Spans, RPC 服务端指标
AsyncHttpClient1.9+N/AHTTP 客户端 Spans, HTTP 客户端指标
AWS Lambda1.0+opentelemetry-aws-lambda-core-1.0,
opentelemetry-aws-lambda-events-2.2
FaaS 服务端 Spans
AWS SDK1.11 - 1.12.583,
2.2+
opentelemetry-aws-sdk-1.11,
opentelemetry-aws-sdk-1.11-autoconfigure,
opentelemetry-aws-sdk-2.2,
opentelemetry-aws-sdk-2.2-autoconfigure
消息传递 Spans, 数据库客户端 Spans, 数据库客户端指标 [6], HTTP 客户端 Spans
Azure Core1.14+N/AContext propagation
Cassandra Driver3.0+opentelemetry-cassandra-4.4数据库客户端 Spans, 数据库客户端指标 [6]
Clickhouse Client0.5+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Couchbase Client2.0 - 2.7.xN/A数据库客户端 Spans, 数据库客户端指标 [6]
Couchbase Client3.1+N/A数据库客户端 Spans
c3p00.9.2+opentelemetry-c3p0-0.9数据库连接池指标
Dropwizard Metrics4.0+ (默认禁用)N/Anone
Dropwizard Views0.7+N/AController Spans [3]
Eclipse Grizzly2.3+N/AHTTP 服务端 Spans, HTTP 服务端指标
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 客户端 Spans, HTTP 客户端指标
Eclipse Metro2.2+N/AProvides http.route [2], Controller Spans [3]
Eclipse Mojarra1.2+ (不包括 4.0+)N/AProvides http.route [2], Controller Spans [3]
Elasticsearch API Client7.16 - 7.17.19,
8.0 - 8.9.+ [4]
N/AElasticsearch 客户端 Spans
Elasticsearch REST Client5.0+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Elasticsearch Transport Client5.0+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Finagle23.11+N/Anone
Finatra2.9+N/AProvides http.route [2], Controller Spans [3]
Geode Client1.4+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Google HTTP Client1.19+N/AHTTP 客户端 Spans, HTTP 客户端指标
Grails3.0+N/AProvides http.route [2], Controller Spans [3]
GraphQL Java12.0+opentelemetry-graphql-java-12.0,
opentelemetry-graphql-java-20.0
GraphQL 服务端 Spans
gRPC1.6+opentelemetry-grpc-1.6RPC 客户端 Spans, RPC 客户端指标, RPC 服务端 Spans, RPC 服务端指标
Guava ListenableFuture10.0+opentelemetry-guava-10.0Context propagation
GWT2.0+N/ARPC 服务端 Spans
Hibernate3.3+N/Anone
Hibernate Reactive1.0+N/Anone
HikariCP3.0+opentelemetry-hikaricp-3.0数据库连接池指标
HttpURLConnectionJava 8+N/AHTTP 客户端 Spans, HTTP 客户端指标
Hystrix1.4+N/Anone
InfluxDB Client2.4+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Java ExecutorsJava 8+N/AContext propagation
Java Http ClientJava 11+opentelemetry-java-http-clientHTTP 客户端 Spans, HTTP 客户端指标
java.util.loggingJava 8+N/Anone
Java PlatformJava 8+opentelemetry-runtime-telemetry-java8,
opentelemetry-runtime-telemetry-java17,
opentelemetry-resources
JVM 运行时指标
Javalin5.0+N/AProvides http.route [2]
JAX-RS0.5+N/AProvides http.route [2], Controller Spans [3]
JAX-RS Client1.1+N/AHTTP 客户端 Spans, HTTP 客户端指标
JAX-WS2.0+ (不包括 3.0+)N/AProvides http.route [2], Controller Spans [3]
JBoss Log Manager1.1+N/Anone
JDBCJava 8+opentelemetry-jdbc数据库客户端 Spans, 数据库客户端指标 [6]
Jedis1.4+N/A数据库客户端 Spans, 数据库客户端指标 [6]
JMS1.1+N/A消息传递 Spans
Jodd Http4.2+N/AHTTP 客户端 Spans, HTTP 客户端指标
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 客户端 Spans, HTTP 客户端指标, HTTP 服务端 Spans, HTTP 服务端指标
Kubernetes Client7.0+N/AHTTP 客户端 Spans
Lettuce4.0+opentelemetry-lettuce-5.1数据库客户端 Spans, 数据库客户端指标 [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+opentelemetry-micrometer-1.5none
MongoDB Driver3.1+opentelemetry-mongo-3.1数据库客户端 Spans, 数据库客户端指标 [6]
MyBatis3.2+N/Anone
Netty HTTP codec [5]3.8+opentelemetry-netty-4.1HTTP 客户端 Spans, HTTP 客户端指标, HTTP 服务端 Spans, HTTP 服务端指标
OpenSearch Rest Client1.0+数据库客户端 Spans, 数据库客户端指标 [6]
OkHttp2.2+opentelemetry-okhttp-3.0HTTP 客户端 Spans, HTTP 客户端指标
Oracle UCP11.2+opentelemetry-oracle-ucp-11.2数据库连接池指标
OSHI5.3.1+opentelemetry-oshi系统指标 (部分支持)
Play MVC2.4+N/AProvides http.route [2], Controller Spans [3]
Play WS1.0+N/AHTTP 客户端 Spans, HTTP 客户端指标
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.0数据库客户端 Spans, 数据库客户端指标 [6]
RabbitMQ Client2.7+N/A消息传递 Spans
Ratpack1.4+opentelemetry-ratpack-1.7HTTP 客户端 Spans, HTTP 客户端指标, HTTP 服务端 Spans, HTTP 服务端指标
Reactor3.1+opentelemetry-reactor-3.1Context propagation
Reactor Netty0.9+N/AHTTP 客户端 Spans, HTTP 客户端指标
Rediscala1.8+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Redisson3.0+N/A数据库客户端 Spans, 数据库客户端指标 [6]
RESTEasy3.0+ (不包括 6.0+)N/AProvides http.route [2], Controller Spans [3]
RESTEasy3.0+ (不包括 6.0+)N/AProvides http.route [2], Controller Spans [3]
Restlet1.0+opentelemetry-restlet-1.1,
opentelemetry-restlet-2.0
HTTP 服务端 Spans, HTTP 服务端指标
RMIJava 8+RPC 客户端 Spans, RPC 服务端 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+N/AHTTP 服务端 Spans, HTTP 服务端指标
Spark Web Framework2.3+N/AProvides http.route [2]
Spring Batch3.0+ (不包括 5.0+)N/Anone
Spring Bootopentelemetry-spring-boot-resourcesnone
Spring Cloud AWS3.0+N/A消息传递 Spans
Spring Cloud Gateway2.0+N/AProvides http.route [2]
Spring Core2.0+N/AContext propagation
Spring Data1.8+N/Anone
Spring Integration4.1+ (不包括 6.0+)opentelemetry-spring-integration-4.1消息传递 Spans
Spring JMS2.0+N/A消息传递 Spans
Spring Kafka2.7+opentelemetry-spring-kafka-2.7消息传递 Spans
Spring RabbitMQ1.0+N/A消息传递 Spans
Spring RestTemplate3.1+opentelemetry-spring-web-3.1HTTP 客户端 Spans, HTTP 客户端指标
Spring RMI4.0+N/ARPC 客户端 Spans, RPC 服务端 Spans
Spring Scheduling3.1+N/Anone
Spring Web MVC3.1+opentelemetry-spring-webmvc-5.3,
opentelemetry-spring-webmvc-6.0
HTTP 服务端 Spans, HTTP 服务端指标, Provides http.route [2], Controller Spans [3]
Spring Web Services2.0+ (不包括 4.0+)N/Anone
Spring WebFlux5.3+opentelemetry-spring-webflux-5.3HTTP 客户端 Spans, HTTP 客户端指标, HTTP 服务端 Spans, HTTP 服务端指标, Provides http.route [2], Controller Spans [3]
Spymemcached2.12+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Tomcat JDBC Pool8.5+N/A数据库连接池指标
Twilio6.6+ (不包括 8.0+)N/Anone
Undertow1.4+N/AHTTP 服务端 Spans, HTTP 服务端指标
Vaadin14.2+N/AProvides http.route [2], Controller Spans [3]
Vert.x HttpClient3.0+N/AHTTP 客户端 Spans, HTTP 客户端指标
Vert.x Kafka Client3.6+N/A消息传递 Spans
Vert.x Redis Client4.0+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Vert.x RxJava23.5+N/Acontext propagation only
Vert.x SQL Client4.0+N/A数据库客户端 Spans, 数据库客户端指标 [6]
Vert.x Web3.0+N/AProvides http.route [2]
Vibur DBCP11.0+opentelemetry-vibur-dbcp-11.0数据库连接池指标
XXL-JOB1.9.2+N/Anone
ZIO2.0+N/AContext propagation

[1] 独立库插桩是指可以在不使用 Java agent 的情况下使用的插桩。

[2] 提供 http.route:为现有的 SERVER span 提供基于路由的 span 名称。如果适用,在现有的 SERVER span 和指标上提供 http.route span 和指标属性。

[3] 控制器 Spans 是捕获控制器和/或视图执行的 INTERNAL spans。参见 禁用控制器和/或视图 spans

[4] 较新版本的库内置了遥测功能。

[5] 目前不支持捕获 HTTP/2 流量。

[6] 数据库客户端指标适用于选择加入 语义约定稳定性 的用户。

应用服务器

应用服务器版本JVM操作系统
Jetty9.4.53OpenJDK 8, 11, 17, 21, 23
OpenJ9 8, 11, 17, 21, 23
ubuntu-latest, windows-latest
Jetty10.0.19, 11.0.19OpenJDK 11, 17, 21, 23
OpenJ9 11, 17, 21, 23
ubuntu-latest, windows-latest
Jetty12.0.6OpenJDK 17, 21, 23
OpenJ9 17, 21, 23
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, 20
OpenJ9 8, 11, 17, 20
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, 23
ubuntu-latest, windows-latest
Tomcat7.0.109OpenJDK 8
OpenJ9 8
ubuntu-latest, windows-latest
Tomcat8.5.98, 9.0.85OpenJDK 8, 11, 17, 21, 23
OpenJ9 8, 11, 17, 21, 23
ubuntu-latest, windows-latest
Tomcat10.1.18OpenJDK 11, 17, 21, 23
OpenJ9 11, 17, 21, 23
ubuntu-latest, windows-latest
TomEE7.0.9, 7.1.4OpenJDK 8
OpenJ9 8
ubuntu-latest, windows-latest
TomEE8.0.16OpenJDK 8, 11, 17, 21, 23
OpenJ9 8, 11, 17, 21, 23
ubuntu-latest, windows-latest
TomEE9.1.2OpenJDK 11, 17, 21, 23
OpenJ9 11, 17, 21, 23
ubuntu-latest, windows-latest
Websphere Traditional8.5.5.22, 9.0.5.14IBM 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, 23
OpenJ9 11, 17, 21, 23
ubuntu-latest, windows-latest
提示

应用服务器详细配置请参考这里

JVM 和操作系统

JVM版本操作系统
OpenJDK (Eclipse Temurin)8, 11, 17, 21, 23ubuntu-latest
OpenJ9 (IBM Semeru Runtimes)8, 11, 17, 21, 23ubuntu-latest

禁用的插桩

有些插桩可能会产生太多 Span 并使调用链非常繁杂。

因此,以下插桩默认情况下是禁用的:

插桩名称说明
jdbc-datasource每次调用 java.sql.DataSource#getConnection 方法时都会创建 Span。
dropwizard-metrics可能会创建非常低质量的指标数据,因为 Dropwizard 指标 API 缺乏标签/属性支持。

要启用它们,请添加 otel.instrumentation.<name>.enabled 系统属性:

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