本文列出了 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.39.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/Github倉庫地址 | 低版本 | 高版本 |
AgentScope | v1.0 | v1.0.10 | |
CrewAI | v0.1.0 | v1.7.2 | |
Dashscope | v1.0.0 | v1.2.1 | |
Dify | v0.12.8 | v1.11.2 | |
Dify Plugin | 無限制 | 無限制 | |
Google ADK | v1.2.1 | v1.21.0 | |
LangChain | v0.1.0 | v1.2.0 | |
LangGraph | 無限制 | v1.0.5 | |
LiteLLM | v1.0.0 | v1.79.0 | |
Llama-index | v0.10.5 | v0.10.43 | |
MCP | v1.3.0 | v1.12.4 | |
OpenAI | v1.0.0 | v2.14.0 | |
RagFlow | v0.14.0 | v0.21.1 |
LLM(大語言模型)服務
組件 | PyPI/Github倉庫地址 | 低版本 | 高版本 |
SGLang | v0.4.6 | v0.4.9.post6 | |
vLLM V0 | v0.5.0 | v0.8.4 | |
vLLM V1 | V0.8.2 | V0.10.0 |
HTTP/RPC 架構
組件 | PyPI/Github倉庫地址 | 低版本 | 高版本 |
aiohttp | v3.0 | 沒有限制 | |
asgiref | v3.0 | 沒有限制 | |
BlackSheep | v1.2.0 | 沒有限制 | |
Click | v8.1.3 | < 9.0.0 | |
Django | v1.10 | 沒有限制 | |
FastAPI | v0.58 | 沒有限制 | |
Flask | v1.0 | 沒有限制 | |
gRPC | v1.42.0 | 沒有限制 | |
Jinja2 | v2.7 | < 4.0 | |
Requests | v2.0 | 沒有限制 | |
Tornado | v5.1.1 | 沒有限制 | |
WSGI | 無 | 沒有限制 | 沒有限制 |
向量資料庫
組件 | PyPI/Github倉庫地址 | 低版本 | 高版本 |
milvus | v2.4.1 | 沒有限制 |
資料庫架構
組件 | PyPI/Github倉庫地址 | 低版本 | 高版本 |
aiopg | v0.13.0 | < 2.0.0 | |
AsyncPG | v0.12.0 | 沒有限制 | |
DBAPI | 無特定依賴 | 無特定版本要求 | 沒有限制 |
MySQL | v8.0 | < 10.0 | |
MySQLClient | 無特定版本要求 | < 3 | |
psycopg | v3.1.0 | 沒有限制 | |
psycopg2 | v2.7.3.1 | 沒有限制 | |
Pydantic | v1.10.2 | 沒有限制 | |
PyMongo | v3.1 | < 5.0 | |
PyMSSQL | v2.1.5 | < 3 | |
PyMySQL | 無特定版本要求 | < 2 | |
SQLAlchemy | v1.0.0 | < 2.1.0 | |
SQLite3 | 無特定依賴 | 無特定版本要求 | 沒有限制 |
TortoiseORM | v0.17.0 | 沒有限制 |
快取區外掛程式
組件 | PyPI/Github倉庫地址 | 低版本 | 高版本 |
Cassandra | v3.25 | 沒有限制 | |
Elasticsearch | v6.0 | 沒有限制 | |
PyMemcache | v1.3.5 | < 5 | |
Redis | v2.6 | 沒有限制 | |
Scylla | v3.25 | 沒有限制 |
訊息佇列外掛程式
組件 | PyPI/Github倉庫地址 | 低版本 | 高版本 |
aio-pika | 無特定版本要求 | 沒有限制 | |
aiokafka | 無特定版本要求 | 沒有限制 | |
Celery | v4.0 | < 6.0 | |
Confluent Kafka | v1.8.2 | v2.7.0 | |
Kafka Python | 無特定版本要求 | 沒有限制 | |
Pika | 無特定版本要求 | 沒有限制 | |
Remoulade | v0.50 | 沒有限制 |
其他外掛程式
組件 | PyPI/Github倉庫地址 | 低版本 | 高版本 |
asyncio | 無特定依賴 | 無特定版本要求 | 沒有限制 |
Logging | 無特定依賴 | 無特定版本要求 | 沒有限制 |
Loguru | v0.5.0 | v1.0 | |
Threading | 無特定依賴 | 無特定版本要求 | 沒有限制 |