OpenTelemetry Python
活跃简介
CNCF 托管的 OpenTelemetry 官方 Python 实现,提供遥测数据采集(链路追踪、指标、日志)的标准化 API 和 SDK,是云原生应用可观测性的事实标准。
核心特性
- 统一遥测 API — 链路追踪、指标、日志三合一的标准化采集接口
- 灵活 SDK 配置 — 支持采样策略、批处理导出、资源属性等高级配置
- 丰富 Exporter 生态 — 内置 Jaeger、Prometheus、Zipkin、OTLP 等多种导出器
- 自动插桩 Instrumentation — 支持 Flask、Django、requests、SQLAlchemy 等主流库自动埋点
- OpenTelemetry 规范 — 完全遵循 OTEL 规范,与多语言生态无缝互通
- OpenSSF 最佳实践 — 定期安全审计和依赖供应链保障
适用场景
💡 分布式链路追踪:在微服务架构中追踪请求全链路,定位性能瓶颈
💡 指标监控告警:采集业务和系统指标,集成 Prometheus/Grafana 监控看板
💡 日志关联分析:将日志与链路 trace ID 关联,实现全链路排障
💡 AI Agent 可观测性:为 LLM 应用和 Agent 框架添加调用链监控
分类
快速开始
# 安装核心包
pip install opentelemetry-api opentelemetry-sdk
# 基础使用
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor
provider = TracerProvider()
processor = SimpleSpanProcessor(ConsoleSpanExporter())
provider.add_span_processor(processor)
trace.set_tracer_provider(provider)
# 自动插桩
pip install opentelemetry-instrumentation-flask opentelemetry-instrumentation-requests