Tracing and Tracing based Metrics Analyze Plugins
The following plugins provide the distributed tracing capability, and the OAP backend would analyze the topology and metrics based on the tracing data.
- HTTP Server
- Tomcat 7
- Tomcat 8
- Tomcat 9
- Tomcat 10
- Spring Boot Web 4.x
- Spring MVC 3.x, 4.x 5.x with servlet 3.x
- Spring MVC 6.x (Optional²)
- Nutz Web Framework 1.x
- Struts2 MVC 2.3.x -> 2.5.x
- Resin 3 (Optional¹)
- Resin 4 (Optional¹)
- Jetty Server 9
- Spring WebFlux 5.x (Optional¹)
- Undertow 1.3.0.Final -> 2.0.27.Final
- RESTEasy 3.1.0.Final -> 4.7.6.Final
- Play Framework 2.6.x -> 2.8.x
- Light4J Microservices Framework 1.6.x -> 2.x
- Netty SocketIO 1.x
- Micronaut HTTP Server 3.2.x -> 3.6.x
- HTTP Client
- Feign 9.x
- Netflix Spring Cloud Feign 1.1.x -> 2.x
- Okhttp 2.x -> 3.x -> 4.x
- Apache httpcomponent HttpClient 2.0 -> 3.1, 4.2, 4.3, 5.0, 5.1
- Spring RestTemplate 4.x
- Spring RestTemplate 6.x (Optional²)
- Jetty Client 9
- Apache httpcomponent AsyncClient 4.x
- AsyncHttpClient 2.1+
- JRE HttpURLConnection (Optional²)
- Hutool-http client 5.x
- Micronaut HTTP Client 3.2.x -> 3.6.x
- HTTP Gateway
- Spring Cloud Gateway 2.0.2.RELEASE -> 3.x (Optional²)
- Apache ShenYu (Rich protocol support:
HTTP
,Spring Cloud
,gRPC
,Dubbo
,SOFARPC
,Motan
,Tars
) 2.4.x (Optional²)
- JDBC
- Mysql Driver 5.x, 6.x, 8.x
- Oracle Driver (Optional¹)
- H2 Driver 1.3.x -> 1.4.x
- ShardingSphere 3.0.0, 4.0.0, 4.0.1, 4.1.0, 4.1.1, 5.0.0
- PostgreSQL Driver 8.x, 9.x, 42.x
- Mariadb Driver 2.x, 1.8
- InfluxDB 2.5 -> 2.17
- Mssql-Jtds 1.x
- Mssql-jdbc 6.x -> 8.x
- ClickHouse-jdbc 0.3.x
- Apache-Kylin-Jdbc 2.6.x -> 3.x -> 4.x
- Impala-jdbc 2.6.x
- RPC Frameworks
- Dubbo 2.5.4 -> 2.6.0
- Dubbox 2.8.4
- Apache Dubbo 2.7.x -> 3.x
- Motan 0.2.x -> 1.1.0
- gRPC 1.x
- Apache ServiceComb Java Chassis 1.x, 2.x
- SOFARPC 5.4.0
- Armeria 0.63.0 -> 0.98.0
- Apache Avro 1.7.0 - 1.8.x
- Finagle 6.44.0 -> 20.1.0 (6.25.0 -> 6.44.0 not tested)
- Brpc-Java 2.3.7 -> 3.0.5
- Thrift 0.10.0 -> 0.12.0
- Apache CXF 3.x
- JSONRPC4J 1.2.0 -> 1.6
- MQ
- RocketMQ 4.x
- Kafka 0.11.0.0 -> 3.2.3
- Spring-Kafka Spring Kafka Consumer 1.3.x -> 2.3.x (2.0.x and 2.1.x not tested and not recommended by the official document)
- ActiveMQ 5.10.0 -> 5.15.4
- RabbitMQ 3.x-> 5.x
- Pulsar 2.2.x -> 2.9.x
- NATS 2.14.x -> 2.15.x
- Aliyun ONS 1.x (Optional¹)
- NoSQL
- Redis
- MongoDB Java Driver 2.13-2.14, 3.4.0-3.12.7, 4.0.0-4.1.0
- Memcached Client
- Spymemcached 2.x
- Xmemcached 2.x
- Elasticsearch
- transport-client 5.2.x-5.6.x
- transport-client 6.2.3-6.8.4
- transport-client 7.0.0-7.5.2
- rest-high-level-client 6.7.1-6.8.4
- rest-high-level-client 7.0.0-7.5.2
- Solr
- SolrJ 7.x
- Cassandra 3.x
- cassandra-java-driver 3.7.0-3.7.2
- HBase
- hbase-client HTable 1.0.0-2.4.2
- Neo4j
- Neo4j-java 4.x
- Service Discovery
- Distributed Coordination
- Zookeeper 3.4.x (Optional² & Except 3.4.4)
- Spring Ecosystem
- Spring Bean annotations(@Bean, @Service, @Component, @Repository) 3.x and 4.x (Optional²)
- Spring Core Async SuccessCallback/FailureCallback/ListenableFutureCallback 4.x
- Spring Transaction 4.x and 5.x (Optional²)
- Hystrix: Latency and Fault Tolerance for Distributed Systems 1.4.20 -> 1.5.18
- Sentinel: The Sentinel of Your Microservices 1.7.0 -> 1.8.1
- Scheduler
- Elastic Job 2.x
- Apache ShardingSphere-Elasticjob 3.x
- Spring @Scheduled 3.1+
- Quartz Scheduler 2.x (Optional²)
- XXL Job 2.x
- OpenTracing community supported
- Canal: Alibaba mysql database binlog incremental subscription & consumer components 1.0.25 -> 1.1.2
- JSON
- Vert.x Ecosystem
- Vert.x Eventbus 3.2 -> 4.x
- Vert.x Web 3.x -> 4.x
- Thread Schedule Framework
- Spring @Async 4.x and 5.x
- Quasar 0.7.x
- JRE Callable and Runnable (Optional²)
- Cache
- Ehcache 2.x
- GuavaCache 18.x -> 23.x (Optional²)
- Kotlin
- Coroutine 1.0.1 -> 1.3.x (Optional²)
- GraphQL
- Graphql 8.0 -> 17.x
- Pool
- Apache Commons DBCP 2.x
- Alibaba Druid 1.x
- HikariCP 3.x -> 4.x
- Logging Framework
- ORM
- MyBatis 3.4.x -> 3.5.x
- Event
- GuavaEventBus 19.x -> 31.x-jre
Meter Plugins
The meter plugin provides the advanced metrics collections, which are not a part of tracing.
¹Due to license incompatibilities/restrictions these plugins are hosted and released in 3rd part repository, go to SkyAPM java plugin extension repository to get these.
²These plugins affect the performance or must be used under some conditions, from experiences. So only released in /optional-plugins
or /bootstrap-plugins
, copy to /plugins
in order to make them work.