一组函数,用于减少向您的服务或模块添加可观察性所需的模板代码
项目描述
observability_utils
一组函数,用于减少将基于OpenTelemetry的可观察性添加到您的Python服务或模块所需的模板代码。
目前提供的实用函数不多,但随着更多可观察性代码添加到我们的服务和模块中,希望这将成为常用代码片段的标准存放位置。
初始版本提供以下实用函数
setup_tracing(name)
- 使用标准化的命名约定设置基本跟踪,以便在可视化工具中轻松识别应用程序。instrument_fastapi_app(app, name)
- 如上设置基本跟踪,然后开启FastAPI调用的自动跟踪。set_console_exporter()
- 将捕获的跟踪输出到本地控制台/终端,无需观察后端(如Jaeger或Prometheus)即可查看。用于调试和测试很有用。get_tracer(name)
- 获取当前活动Tracer对象,并使用标准命名约定标记,以便产生的跟踪在应用程序中保持一致。get_trace_context()
- 获取当前跟踪上下文(这是对库函数的一个更清晰的命名版本)。propagate_context_in_stomp_headers(headers, context)
- 简化了在支持通过消息总线进行STOMP通信的服务之间传播跟踪上下文。retrieve_context_from_stomp_headers(frame)
- 简化了支持通过消息总线进行STOMP通信的服务接收跟踪上下文。
源 | https://github.com/DiamondLightSource/observability-utils |
---|---|
PyPI | pip安装observability-utils |
版本 | https://github.com/DiamondLightSource/observability-utils/releases |
用法示例
from fastapi import FastAPI
from observability_utils import instrument_fastapi_app, get_tracer
app = FastAPI(
docs_url="/docs",
on_shutdown=[teardown_handler],
title="My Rest App",
lifespan=lifespan,
version=REST_API_VERSION,
)
instrument_fastapi_app(app, "my_rest_app")
TRACER = get_tracer("my_rest_app")
@TRACER.start_as_current_span("my_func", kind=SpanKind.CLIENT)
def my_func():
#function body
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
observability_utils-0.1.1.tar.gz (25.4 kB 查看哈希)
构建分布
关闭
Hashes for observability_utils-0.1.1-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2c000438cd561f1327d4ed14a9be0fe057928e319c5acd965c5435c06d10a78 |
|
MD5 | fb5c4941b267f915dc25ff5653d484dd |
|
BLAKE2b-256 | f5304c4033b60692f1f14af5bce3fd9f455839166504d0e70f0d67e7b876c4b7 |