12 KiB
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.x -> 11.x
- Spring WebFlux 5.x (Optional¹) -> 6.x (Optional¹)
- Undertow 1.3.0.Final -> 2.0.27.Final
- RESTEasy 3.1.0.Final -> 6.2.4.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
- Jersey REST framework 2.x -> 3.x
- Grizzly 2.3.x -> 4.x
- WebSphere Liberty 23.x
- Netty HTTP 4.1.x (Optional²)
- Solon 2.7.x -> 2.8.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.x -> 11.x
- Apache httpcomponent AsyncClient 4.x
- AsyncHttpClient 2.1+
- Spring Webflux WebClient 5.x -> 6.x
- 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 -> 4.1.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 (Optional³)
- 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 -> 1.22.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
- Nacos-Client 2.x (Optional²)
- MQ
- RocketMQ 3.x-> 5.x
- RocketMQ-gRPC 5.x
- Kafka 0.11.0.0 -> 3.7.1
- 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.16.5
- ActiveMQ-Artemis 2.30.0 -> 2.31.2
- Aliyun ONS 1.x (Optional¹)
- NoSQL
- aerospike 3.x -> 6.x
- 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.x
- 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.x -> 6.1.x
- 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²)
- JRE ForkJoinPool (Optional²)
- Cache
- Ehcache 2.x (Optional²)
- GuavaCache 18.x -> 23.x (Optional²)
- Caffeine 3.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
- C3P0 0.9.0 -> 0.10.0
- 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.
- Thread Pool
- Connection Pool
- Supported JDBC drviers
- Supported Connection Pool Frameworks
- Apache Commons DBCP 2.x
- Alibaba Druid 1.x
- HikariCP 3.x -> 4.x
- C3P0 0.9.0 -> 0.10.0
¹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.
³These plugins are not tested in the CI/CD pipeline, as the previous added tests are not able to run according to the latest CI/CD infrastructure limitations, lack of maintenance, or dependencies/images not available(e.g. removed from DockerHub).