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