自研JAVA探針使用限制
類型
名稱
版本
工具
JDK
jdk8、jdk11、jdk17
通訊協議
httpclient
apache httpclient2.0+、apache asynchttpclient1.9+
Java框架
spring
3.1.x~5.0.x
springboot
1.2.x~1.5.x、2.0.4~2.0.9
Dubbo
2.7+
gRPC
1.6+
數據庫
MySQL
mysql-connector-java 5.1.X
Oracle
ojdbc5、ojdbc6、ojdbc14
druid
1.0
c3p0
0.9.2+
dbcp2
2.0+
JDBC
java8+
web服務器
Tomcat
7.0.x, 8.5.x, 9.0.x, 10.0.x
消息隊列
RabbitMQ
spring-rabbit1.0+、amqp-client 2.7+
Kafka
kafka-producer 0.11+、kakfa-consumer 0.11+、kafka-stream 0.11+
NoSQL
Redis
jedis 1.4+,lettuce 4.0+
Mongodb
3.1+
ElasticSearch
5.0+
Rest Client
Common HTTP
java http client java11+、HttpURLConnection java8+
Go使用限制
Opentelemetry支持的框架列表
OpenTelemetry提供了若干半自動埋點插件,支持為常見的框架自動創建Span。
Skywalking支持的框架列表
| 框架 | 版本 |
|---|---|
| gin | 1.7.0~1.9.0 |
| http | 1.17~1.20 |
| go-restfulv3 | 3.7.1~3.10.2 |
| mux | 1.7.0~v1.8.0 |
| fiber | 2.49.0~2.50.0 |
| echov4 | 4.0.0~4.11.4 |
| dubbo | 3.0.1~3.0.5 |
| kratosv2 | 2.3.1~v2.6.2 |
| microv4 | 4.6.0~4.10.2 |
| gRPC | 1.55.0~1.57.0 |
| gorm | 1.22.0~1.25.1 |
| mongo | 1.11.1~1.11.7 |
| Native SQL | 1.17~1.20 |
| MYSQL Driver | 1.4.0~1.7.1 |
| go-redisv9 | 9.0.3~9.0. |
| rabbitMQ | 2.1.2 |
| logrus | 1.8.2~1.9.3 |
Python使用限制
OpenTelemetry支持的框架
OpenTelemetry提供了若干自動埋點插件,支持為常見框架自動創建Span,支持的框架列表如下。
說明版本~= V.N表示≥ V.N且== V.*,例如,aiohttp ~= 3.0表示aiohttp版本要求aiohttp ≥ 3.0且aiohttp == 3.*。
| 框架&版本 | 插件 |
|---|---|
| aio_pika >= 7.2.0, < 10.0.0 | opentelemetry-instrumentation-aio-pika |
| aiohttp ~= 3.0 | opentelemetry-instrumentation-aiohttp-client |
| aiohttp ~= 3.0 | opentelemetry-instrumentation-aiohttp-server |
| aiopg >= 0.13.0, < 2.0.0 | opentelemetry-instrumentation-aiopg |
| asgiref ~= 3.0 | opentelemetry-instrumentation-asgi |
| asyncio | opentelemetry-instrumentation-asyncio |
| asyncpg >= 0.12.0 | opentelemetry-instrumentation-asyncpg |
| aws_lambda | opentelemetry-instrumentation-aws-lambda |
| boto~=2.0 | opentelemetry-instrumentation-boto |
| boto3 ~= 1.0 | opentelemetry-instrumentation-boto3sqs |
| botocore ~= 1.0 | opentelemetry-instrumentation-botocore |
| cassandra-driver ~= 3.25,scylla-driver ~= 3.25 | opentelemetry-instrumentation-cassandra |
| celery >= 4.0, < 6.0 | opentelemetry-instrumentation-celery |
| confluent-kafka >= 1.8.2, <= 2.4.0 | opentelemetry-instrumentation-confluent-kafka |
| dbapi | opentelemetry-instrumentation-dbapi |
| django >= 1.10 | opentelemetry-instrumentation-django |
| elasticsearch >= 6.0 | opentelemetry-instrumentation-elasticsearch |
| falcon >= 1.4.1, < 4.0.0 | opentelemetry-instrumentation-falcon |
| fastapi ~= 0.58 | opentelemetry-instrumentation-fastapi |
| flask >= 1.0 | opentelemetry-instrumentation-flask |
| grpcio ~= 1.27 | opentelemetry-instrumentation-grpc |
| httpx >= 0.18.0 | opentelemetry-instrumentation-httpx |
| jinja2 >= 2.7, < 4.0 | opentelemetry-instrumentation-jinja2 |
| kafka-python >= 2.0 | opentelemetry-instrumentation-kafka-python |
| logging | opentelemetry-instrumentation-logging |
| mysql-connector-python ~= 8.0 | opentelemetry-instrumentation-mysql |
| mysqlclient < 3 | opentelemetry-instrumentation-mysqlclient |
| pika >= 0.12.0 | opentelemetry-instrumentation-pika |
| psycopg >= 3.1.0 | opentelemetry-instrumentation-psycopg |
| psycopg2 >= 2.7.3.1 | opentelemetry-instrumentation-psycopg2 |
| pymemcache >= 1.3.5, < 5 | opentelemetry-instrumentation-pymemcache |
| pymongo >= 3.1, < 5.0 | opentelemetry-instrumentation-pymongo |
| PyMySQL < 2 | opentelemetry-instrumentation-pymysql |
| pyramid >= 1.7 | opentelemetry-instrumentation-pyramid |
| redis >= 2.6 | opentelemetry-instrumentation-redis |
| remoulade >= 0.50 | opentelemetry-instrumentation-remoulade |
| requests ~= 2.0 | opentelemetry-instrumentation-requests |
| scikit-learn ~= 0.24.0 | opentelemetry-instrumentation-sklearn |
| sqlalchemy | opentelemetry-instrumentation-sqlalchemy |
| sqlite3 | opentelemetry-instrumentation-sqlite3 |
| starlette ~= 0.13.0 | opentelemetry-instrumentation-starlette |
| psutil >= 5 | opentelemetry-instrumentation-system-metrics |
| threading | opentelemetry-instrumentation-threading |
| tornado >= 5.1.1 | opentelemetry-instrumentation-tornado |
| tortoise-orm >= 0.17.0 | opentelemetry-instrumentation-tortoiseorm |
| urllib | opentelemetry-instrumentation-urllib |
| urllib3 >= 1.0.0, < 3.0.0 | opentelemetry-instrumentation-urllib3 |
| wsgi | opentelemetry-instrumentation-wsgi |
SkyWalking支持的框架
Skywalking-python是SkyWalking的Python Agent官方庫,可以通過接入Skywalking-python實現對Python應用的監控,Skywalking-python支持Kafka、HTTP、AIOHTTP、Redis、WebSockets等多種第三方庫的自動埋點。
| 框架 | Python版本 - 庫版本 | 插件名 |
|---|---|---|
| aiohttp | Python >=3.7 - [‘3.7.*']; | sw_aiohttp |
| aioredis | Python >=3.7 - [‘2.0.*']; | sw_aioredis |
| aiormq | Python >=3.7 - [‘6.3’, ‘6.4’]; | sw_aiormq |
| amqp | Python >=3.7 - [‘2.6.1’]; | sw_amqp |
| asyncpg | Python >=3.7 - [‘0.25.0’]; | sw_asyncpg |
| bottle | Python >=3.7 - [‘0.12.23’]; | sw_bottle |
| celery | Python >=3.7 - [‘5.1’]; | sw_celery |
| confluent_kafka | Python >=3.7 - [‘1.5.0’, ‘1.7.0’, ‘1.8.2’]; | sw_confluent_kafka |
| django | Python >=3.7 - [‘3.2’]; | sw_django |
| elasticsearch | Python >=3.7 - [‘7.13’, ‘7.14’, ‘7.15’]; | sw_elasticsearch |
| hug | Python >=3.11 - NOT SUPPORTED YET; Python >=3.10 - [‘2.5’, ‘2.6’]; Python >=3.7 - [‘2.4.1’, ‘2.5’, ‘2.6’]; | sw_falcon |
| fastapi | Python >=3.7 - [‘0.89.’, ‘0.88.']; | sw_fastapi |
| flask | Python >=3.7 - [‘2.0’]; | sw_flask |
| happybase | Python >=3.7 - [‘1.2.0’]; | sw_happybase |
| http_server | Python >=3.7 - ['*']; | sw_http_server |
| werkzeug | Python >=3.7 - [‘1.0.1’, ‘2.0’]; | sw_http_server |
| httpx | Python >=3.7 - [‘0.23.’, ‘0.22.']; | sw_httpx |
| kafka-python | Python >=3.7 - [‘2.0’]; | sw_kafka |
| loguru | Python >=3.7 - [‘0.6.0’, ‘0.7.0’]; | sw_loguru |
| mysqlclient | Python >=3.7 - [‘2.1.*']; | sw_mysqlclient |
| neo4j | Python >=3.7 - [‘5.*']; | sw_neo4j |
| psycopg[binary] | Python >=3.11 - [‘3.1.']; Python >=3.7 - [‘3.0.18’, ‘3.1.']; | sw_psycopg |
| psycopg2-binary | Python >=3.10 - NOT SUPPORTED YET; Python >=3.7 - [‘2.9’]; | sw_psycopg2 |
| pulsar-client | Python >=3.8 - [‘3.3.0’]; | sw_pulsar |
| pymongo | Python >=3.7 - [‘3.11.*']; | sw_pymongo |
| pymysql | Python >=3.7 - [‘1.0’]; | sw_pymysql |
| pyramid | Python >=3.7 - [‘1.10’, ‘2.0’]; | sw_pyramid |
| pika | Python >=3.7 - [‘1.2’]; | sw_rabbitmq |
| redis | Python >=3.7 - [‘3.5.*’, ‘4.5.1’]; | sw_redis |
| requests | Python >=3.7 - [‘2.26’, ‘2.25’]; | sw_requests |
| sanic | Python >=3.10 - NOT SUPPORTED YET; Python >=3.7 - [‘20.12’]; | sw_sanic |
| tornado | Python >=3.7 - [‘6.0’, ‘6.1’]; | sw_tornado |
| urllib3 | Python >=3.7 - [‘1.26’, ‘1.25’]; | sw_urllib3 |
| urllib_request | Python >=3.7 - ['*']; | sw_urllib_request |
| websockets | Python >=3.7 - [‘10.3’, ‘10.4’]; |
Node.js使用限制
OpenTelemetry支持的框架
OpenTelemetry提供了若干自動埋點插件,支持為常見框架自動創建Span,支持的框架列表如下:
| 框架 | 插件 |
|---|---|
| amqplib | @opentelemetry/instrumentation-amqplib |
| aws-lambda | @opentelemetry/instrumentation-aws-lambda |
| aws-sdk | @opentelemetry/instrumentation-aws-sdk |
| bunyan | @opentelemetry/instrumentation-bunyan |
| cassandra-driver | @opentelemetry/instrumentation-cassandra-driver |
| connect | @opentelemetry/instrumentation-connect |
| cucumber | @opentelemetry/instrumentation-cucumber |
| dataloader | @opentelemetry/instrumentation-dataloader |
| dns | @opentelemetry/instrumentation-dns |
| express | @opentelemetry/instrumentation-express |
| fastify | @opentelemetry/instrumentation-fastify |
| generic-pool | @opentelemetry/instrumentation-generic-pool |
| graphql | @opentelemetry/instrumentation-graphql |
| grpc | @opentelemetry/instrumentation-grpc |
| hapi | @opentelemetry/instrumentation-hapi |
| http | @opentelemetry/instrumentation-http |
| ioredis | @opentelemetry/instrumentation-ioredis |
| knex | @opentelemetry/instrumentation-knex |
| koa | @opentelemetry/instrumentation-koa |
| lru-memoizer | @opentelemetry/instrumentation-lru-memoizer |
| memcached | @opentelemetry/instrumentation-memcached |
| mongodb | @opentelemetry/instrumentation-mongodb |
| mongoose | @opentelemetry/instrumentation-mongoose |
| mysql | @opentelemetry/instrumentation-mysql |
| mysql2 | @opentelemetry/instrumentation-mysql2 |
| nestjs-core | @opentelemetry/instrumentation-nestjs-core |
| net | @opentelemetry/instrumentation-net |
| pg | @opentelemetry/instrumentation-pg |
| pino | @opentelemetry/instrumentation-pino |
| redis | @opentelemetry/instrumentation-redis |
| restify | @opentelemetry/instrumentation-restify |
| socket.io | @opentelemetry/instrumentation-socket.io |
| winston | @opentelemetry/instrumentation-winston |
SkyWalking支持的框架
skywalking-nodejs是SkyWalking的Node.js Agent官方庫,可以通過接入skywalking-nodejs實現對Node.js應用的監控,skywalking-nodejs支持MySQL、Redis、RabbitMQ等多種第三方庫的自動埋點。
| 框架 | 插件名 |
|---|---|
| built-in http and https module | http / https |
| Express | express |
| Axios | axios |
| MySQL | mysql |
| MySQL | mysql2 |
| PostgreSQL | pg |
| pg-cursor | pg-cursor |
| MongoDB | mongodb |
| Mongoose | mongoose |
| RabbitMQ | amqplib |
| Redis | ioredis |
| AWS2DynamoDB | aws-sdk |
| AWS2Lambda | aws-sdk |
| AWS2SNS | aws-sdk |
| AWS2SQS | aws-sdk |