This topic describes third-party Java components and frameworks supported by Application Real-Time Monitoring Service (ARMS).
Supported JDK versions
JDK 1.7
ImportantThe ARMS agent V3.0.X and later will no longer support Java 7. If you are still using Java 7, we recommend that you upgrade your Java version. For more information, see Application Monitoring no longer supports Java 7.
JDK 1.8
NoteIf you deploy applications in Kubernetes clusters, we recommend that you use Java Development Kit (JDK) 8u212 or later. If you want to use advanced features, such as continuous profiling, we recommend that you choose JDK 8u352 or later. For more information, see Use the continuous profiling feature.
JDK 11
NoteIf you want to use advanced features, such as continuous profiling, we recommend that you choose JDK 11.0.17 or later. For more information, see Use the continuous profiling feature.
JDK 17
NoteIf you want to use advanced features, such as continuous profiling, we recommend that you choose JDK 17.0.9 or later. For more information, see Use the continuous profiling feature.
JDK 21
NoteThe ARMS agent V3.1.4 and later supports JDK 21. If your JDK version is JDK 21, upgrade the ARMS agent to 3.1.4 or later. For more information, see Upgrade the ARMS agent.
Supported JDK distributions
OpenJDK (recommended)
Alibaba Dragonwell (recommended)
Eclipse Temurin
AdoptOpenJDK
Amazon Corretto
Azul
Java HotSpot VM
We recommend that you do not use Eclipse OpenJ9 because it is incompatible with Application Monitoring.
Frameworks and components supported by the ARMS agent V4.x
The following frameworks and components are supported by the latest 4.x version of the ARMS agent.
Category | Component | Supported version | Description |
Web container | Tomcat | 7.X-10.X |
|
Jetty | 8.X-11.X |
| |
Play Framework | 2.4+ |
| |
WebLogic | 10.3.0-12.2.X |
| |
Undertow | 1.4.0+ |
| |
Vert.x | 3.0.0+ |
| |
Spring WebFlux | 5.0.0.RELEASE+ |
| |
Spring Cloud Gateway | 2.0.0.RELEASE+ |
| |
JFinal | 3.6+ |
| |
WebSphere | 9.0+ |
| |
HTTP client | Apache HTTP Client | 2.0-5.3.1 |
|
Google HTTP Client Library for Java | 1.19.0+ |
| |
OkHttp | 2.2+ |
| |
AsyncHttpClient | 1.8-2.12.3 |
| |
RPC | Alibaba Dubbo | 2.5.10-2.6.12 |
|
Apache Dubbo | 2.7.0+ |
| |
HSF | 2.2-3.0 |
| |
gRPC | 1.6.0+ |
| |
Motan | 0.3.0+ |
| |
JDBC | MySQL | 5.1.1+ |
|
PostgreSQL | 42.0.0+ |
| |
SQL Server | 6.2.0.jre7+ |
| |
MariaDB | 1.5.2+ |
| |
Oracle | 12.2.0.1+ |
| |
PolarDB | 1.0.0+ |
| |
ClickHouse | 0.1.28+ |
| |
NOSQL | Jedis | 1.4+ |
|
Lettuce | 4.0.Final+ |
| |
Redisson | 3.0-3.25.2 |
| |
Memcached | 2.12.0-2.12.3 |
| |
MongoDB | 3.1+ |
| |
Elasticsearch | 5.0+ |
Note Data collection is only supported for access to the Elasticsearch server using the HTTP protocol and is not supported for access using the TCP protocol. | |
InfluxDB | 2.7-2.23 |
| |
Cassandra | 3.0+ |
| |
Message | RocketMQ Java Client | 4.4.0, 4.5.1+, 5.X+ |
|
RocketMQ Client Java 5.x | 5.0.0+ |
| |
ApsaraMQ for RocketMQ | 1.7.0.Final+, 2.0.0.Final+ |
| |
RabbitMQ | 4.X+ |
| |
Kafka | 0.11.0.0+, 1.X+, 2.X+, 3.X+ |
| |
Spring-Kafka | 2.7.0+ |
| |
Scheduled task | XXLJob | 2.0.2+ |
|
SchedulerX | 1.2.1-1.11.6 |
| |
Spring Scheduled | 3.1.0.RELEASE+ |
| |
ElasticJob | 3.0.0-3.0.4 |
| |
Log framework | Log4j | 1.2+ |
|
Log4j2 | 2.0+ |
| |
Logback | 1.0.0-1.2.3 |
| |
Database connection pool | Druid | 1.0.25+ |
|
HikariCP | 3.0.0+ |
| |
C3P0 | 0.9.5+ |
| |
MyBatis | 3.1.0+ |
| |
DBCP | 2+ |
| |
Others | Spring | 4.1.0.RELEASE+ | Adds instrumentation to the request dispatching code of Spring to capture the route of an HTTP request. |
Spring Bean | 4.1.0.RELEASE+ | Instruments each public method in Spring-managed Beans to generate a span. |
Frameworks and components supported by the ARMS agent V3.x
The following frameworks and components are supported by the latest 3.x version of the ARMS agent.
Category | Component | Supported version |
Web container | Tomcat | 7.X-10.X |
Jetty | 8.1.X-11.0.X | |
Play Framework | 2.2.X-2.8.X | |
WebLogic | 10.3.X-12.2.X | |
Undertow | 1.4.X-2.2.X | |
Vert.x | 3.3.X+ | |
Reactor Netty | 0.7.X+ | |
Spring WebFlux | 5.0.X+ | |
HTTP client | Apache HTTP Client | 3.0.X+ |
Google HTTP Client Library for Java | 1.19.X+ | |
OkHttp/OkHttp3 | 2.1.X-4.11.X | |
Spring Web (RestTemplate) | ||
AsyncHttpClient | 2.0.X-2.12.X | |
Spring-related | Spring MVC | 3.0.5.RELEASE+ |
Spring Scheduled | 3.1.0.RELEASE+ | |
Spring Cloud-related | Hystrix | 1.0.X-1.5.X |
Feign | 9.0.X-12.4.X | |
Spring WebFlux | 5.0.X-6.0.X | |
Spring Cloud Gateway | 2.1.X-4.0.X | |
RPC | Apache Dubbo | 2.4.X+ |
Ali-HSF (High Speed Framework) | 2.2.X+ | |
gRPC | 0.7.X-1.56.X | |
Thrift | 0.1.X-0.18.X | |
JDBC-related | PolarDB | 1.1.2+ (supported by the ARMS agent V4.X and later) |
MySQL Connector/J | 5.0.X+ | |
PostgreSQL JDBC Driver | 42.1.X+ | |
Microsoft JDBC Driver for SQL Server | 6.4.X-12.2.X | |
MariaDB Java Client | 1.5.X-3.1.X | |
Oracle JDBC Driver | 7, 8, 10, 14 | |
ShardingSphere-JDBC | 4.0.X-4.1.X | |
Druid | 1.0.X+ | |
HikariCP | 2.3.X+ | |
MyBatis | 3.1.X-3.5.X | |
MyBatisPlus | 1.0.X-1.7.X | |
NoSQL-related | Jedis | 2.X-4.X |
Lettuce | 5.2.X+ | |
Redisson | 2.5.X+ | |
Memcached | 2.8.X-2.12.X | |
MongoDB Java Driver | 3.X | |
Spring Data MongoDB | 2.0.X-3.4.X | |
Elasticsearch REST Client | 5.X-7.X | |
Elasticsearch High Level REST Client | 6.X-7.X | |
ClickHouse JDBC Driver | 0.3.X-0.4.X | |
InfluxDB | - | |
Message-related | RocketMQ Java Client | 4.4.0, 4.5.1+, 5.X+ |
RocketMQ Client Java 5.x | 5.X+ | |
Spring for Apache RocketMQ | 2.0.2+ | |
ApsaraMQ for RocketMQ | 1.7.0.Final+, 2.0.0.Final+ | |
RabbitMQ Java Client | 4.X+ | |
Apache Kafka Client | 0.11.0.0+, 1.X+, 2.X+, 3.X+ | |
Scheduled task | XXLJob | 2.0.X-2.4.X |
ElasticJob (Apache ShardingSphere) | 2.0.X-2.1.X | |
SchedulerX | 1.2.X-1.5.X | |
Spring Scheduled | 3.2.X-5.3.X | |
Asynchronous or responsive programming framework | Spring Async | 4.0.X-5.3.X |
RxJava | 2.0.X-3.1.X | |
Reactor | 3.0.X-3.5.X | |
Log framework | Log4j | 1.2.16-1.2.17 |
Log4j2 | 2.0-2.20.0 | |
Logback | 1.0.13-1.4.8 |
The components listed in the preceding table support automatic instrumentation. If you want to use other components, you can perform manual instrumentation. For more information, see Use OpenTelemetry SDK for Java to add custom instrumentation code to traces.