本文列出了 Python 探针支持的 Python 版本、第三方组件和框架。
支持的 Python 版本
支持的 Protobuf 版本
Python探针在上报数据时需要使用Protobuf进行编码,有可能与用户使用的Protobuf发生冲突,目前Python探针支持兼容用户使用的Protobuf版本范围为:
"protobuf>=3.20.0, < 6.0"支持的 OpenTelemetry API 版本
Python探针的实现遵循OpenTelemetry API的规范,然而不同版本的OpenTelemetry API可能会略有变化,Python探针目前支持的OpenTelemetry API版本范围为:
"opentelemetry-api <= 1.35.0"注意事项
- 如果应用使用uvicorn启动,请选择以下一种方式进行配置。 - 方式一:在uvicorn的入口文件处的第一行添加以下语句以引入Python探针。 - from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize
- 方式二:使用gunicorn替换uvicorn,并在gunicorn命令前添加 - aliyun-instrument前缀。- 例如: - uvicorn app:app --workers 4 --port=9090 --host 0.0.0.0- 修改为: - aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app说明- aliyun-instrument指令负责ARMS Python探针初始化配置及无侵入埋点。 
 
- 如果应用使用uWSGI启动,请参考以下接入文档进行接入:在使用uWSGI启动Django或Flask项目时接入Python探针。 
- 如果有使用gevent协程,则需要设置环境变量 - GEVENT_ENABLE=true。- 例如程序中有使用: - from gevent import monkey monkey.patch_all()- 需要设置环境变量如下: - GEVENT_ENABLE=true
支持的插件版本
LLM(大语言模型)应用
| 组件 | PyPI仓库地址 | 低版本 | 高版本 | 
| OpenAI | v1.0.0 | v1.109.1 | |
| Dashscope | v1.0.0 | v1.2.1 | |
| Llama-index | v0.10.5 | v0.10.43 | |
| Langchain | v0.1.0 | v0.3.27 | |
| Dify | v0.12.8 | v1.4.3 | |
| MCP | v1.3.0 | v1.12.4 | |
| Google ADK | https://pypi.org/project/google-adk/ | v1.2.1 | 没有限制 | 
LLM(大语言模型)服务
| 组件 | PyPI仓库地址 | 低版本 | 高版本 | 
| vLLM V0 | v0.5.0 | v0.8.4 | |
| vLLM V1 | V0.8.2 | V0.8.4 | |
| SGLang | v0.4.6 | v0.4.9.post6 | 
HTTP/RPC 框架
| 组件 | PyPI仓库地址 | 低版本 | 高版本 | 
| FastAPI | v0.58 | 没有限制 | |
| asgiref | v3.0 | 没有限制 | |
| aiohttp | v3.0 | 没有限制 | |
| Django | v1.10 | 没有限制 | |
| WSGI | 无 | 没有限制 | 没有限制 | 
| Flask | v1.0 | 没有限制 | |
| Requests | v2.0 | 没有限制 | |
| gRPC | v1.42.0 | 没有限制 | |
| Jinja2 | v2.7 | < 4.0 | |
| Click | v8.1.3 | < 9.0.0 | |
| Tornado | v5.1.1 | 没有限制 | 
数据库框架
| 组件 | PyPI仓库地址 | 低版本 | 高版本 | 
| SQLAlchemy | v1.0.0 | < 2.1.0 | |
| AsyncPG | v0.12.0 | 没有限制 | |
| aiopg | v0.13.0 | < 2.0.0 | |
| PyMySQL | 无特定版本要求 | < 2 | |
| PyMSSQL | v2.1.5 | < 3 | |
| psycopg | v3.1.0 | 没有限制 | |
| psycopg2 | v2.7.3.1 | 没有限制 | |
| MySQL | v8.0 | < 10.0 | |
| MySQLClient | 无特定版本要求 | < 3 | |
| PyMongo | v3.1 | < 5.0 | |
| TortoiseORM | v0.17.0 | 没有限制 | |
| Pydantic | v1.10.2 | 没有限制 | |
| DBAPI | 无特定依赖 | 无特定版本要求 | 没有限制 | 
| SQLite3 | 无特定依赖 | 无特定版本要求 | 没有限制 | 
缓存插件
| 组件 | PyPI仓库地址 | 低版本 | 高版本 | 
| Redis | v2.6 | 没有限制 | |
| PyMemcache | v1.3.5 | < 5 | |
| Elasticsearch | v6.0 | 没有限制 | |
| Cassandra | v3.25 | 没有限制 | |
| Scylla | v3.25 | 没有限制 | 
消息队列插件
| 组件 | PyPI仓库地址 | 低版本 | 高版本 | 
| Confluent Kafka | v1.8.2 | v2.7.0 | |
| Kafka Python | 无特定版本要求 | 没有限制 | |
| aiokafka | 无特定版本要求 | 没有限制 | |
| Pika | 无特定版本要求 | 没有限制 | |
| aio-pika | 无特定版本要求 | 没有限制 | |
| Celery | v4.0 | < 6.0 | |
| Remoulade | v0.50 | 没有限制 | 
其他插件
| 组件 | PyPI仓库地址 | 低版本 | 高版本 | 
| Threading | 无特定依赖 | 无特定版本要求 | 没有限制 | 
| Logging | 无特定依赖 | 无特定版本要求 | 没有限制 | 
| asyncio | 无特定依赖 | 无特定版本要求 | 没有限制 |