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