ASGI 中间件
编辑ASGI 中间件
编辑此功能处于技术预览阶段,可能会在将来的版本中更改或删除。Elastic 将致力于修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 的约束。
将 Elastic APM 集成到基于 ASGI 的项目中只需几个简单的步骤。
几个 ASGI 框架得到原生支持。请查看 支持的技术 以获取更多信息
安装
编辑使用 pip 安装 Elastic APM 代理
$ pip install elastic-apm
或将 elastic-apm
添加到项目的 requirements.txt
文件中。
设置
编辑要设置代理,您需要使用适当的设置对其进行初始化。
设置可以通过环境变量或初始化参数进行配置。
您可以在 配置 页面中找到所有可用设置的列表。
要设置 APM 代理,请使用 ASGITracingMiddleware
包装您的 ASGI 应用程序
from elasticapm.contrib.asgi import ASGITracingMiddleware app = MyGenericASGIApp() # depending on framework app = ASGITracingMiddleware(app)
确保在所有路由中使用适当的事务名称调用 elasticapm.set_transaction_name()
。
目前,代理不支持自动捕获异常。您可以在 Github 上关注此问题的进展。
支持的 Python 版本
编辑支持的 Python 版本列表可以在我们的 支持的技术 页面上找到。
Elastic APM 仅在使用 Python 3.7+ 时支持 asyncio