ARMS 应用监控支持的 Python 组件和框架

本文列出了 Python 探针支持的 Python 版本、第三方组件和框架。

支持的 Python 版本

Python3.8及以上版本

支持的 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.29.0"

注意事项

  • 如果应用使用uvicorn启动,需要替换为以下指令接入探针。

    例如:

    uvicorn -w 4 -b 0.0.0.0:8000 app:app

    修改为:

    aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app
    说明

    aliyun-instrument指令负责ARMS Python探针初始化配置及无侵入埋点。

  • 如果有使用gevent协程,则需要设置环境变量GEVENT_ENABLE=true

    例如程序中有使用:

    from gevent import monkey
    monkey.patch_all()

    需要设置环境变量如下:

    GEVENT_ENABLE=true

支持的插件版本

LLM(大语言模型)应用

组件

PyPI仓库地址

低版本

高版本

OpenAI

https://pypi.org/project/openai/

v1.0.0

v1.84.0

Dashscope

https://pypi.org/project/dashscope/

v1.0.0

v1.2.1

Llama-index

https://pypi.org/project/llama-index/

v0.10.5

v0.10.43

Langchain

https://pypi.org/project/langchain/

v0.1.0

v0.3.0

Dify

https://github.com/langgenius/dify

v0.12.8

v1.3.0

LLM(大语言模型)服务

组件

PyPI仓库地址

低版本

高版本

vLLM

https://pypi.org/project/vllm/

v0.5.0

v0.8.4

RPC 框架

组件

PyPI仓库地址

低版本

高版本

FastAPI

https://pypi.org/project/fastapi/

v0.58

没有限制

asgiref

https://pypi.org/project/asgiref/

v3.0

没有限制

aiohttp

https://pypi.org/project/aiohttp/

v3.0

没有限制

Django

https://pypi.org/project/Django/

v1.10

没有限制

WSGI

没有限制

没有限制

Flask

https://pypi.org/project/Flask/

v1.0

没有限制

Requests

https://pypi.org/project/requests/

v2.0

没有限制