目 录CONTENT

文章目录

应用服务使用OpenTelemetry,上报Metrics到Uptrace

Administrator
2025-09-28 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

 

字数 279,阅读大约需 2 分钟

应用服务使用OpenTelemetry,上报Metrics到Uptrace

OpenTelemetry Metrics 是一套用于可观测性领域的标准规范及相关技术实现,旨在帮助开发者以统一的方式收集、聚合和发送指标数据

以fastapi框架为例,演示如何采集和展示API metrics

接来下的是定义metrics指标,并嵌入到业务里,我们这里是在中间件里上报相关数据
Uptrace支持多语言:OpenTelemetry Python Metrics API | Uptrace[1]


    
    
    
  """
OpenTelemetry Metrics 工具模块

用于定义和收集 FastAPI 应用的 API 请求 metrics。
"""

from opentelemetry import metrics

# 获取全局的 meter
meter = metrics.get_meter(__name__)

# 定义 API 请求总次数 Counter
api_requests_total_counter = meter.create_counter(
    name="api_requests_total", description="Total number of API requests", unit="1"
)

# 定义 API 请求失败次数 Counter
api_requests_failed_total_counter = meter.create_counter(
    name="api_requests_failed_total", description="Total number of failed API requests", unit="1"
)

在middleware里采集API请求总数


    
    
    
  # 获取路由路径模板
route_path = request.url.path  # 默认使用实际路径

# 尝试获取 FastAPI 路由模板
route_path = request.url.path
logger.debug(route_path)
route_headers = request.headers
logger.debug(route_headers)
# 增加 API 请求总次数
api_requests_total_counter.add(1, {"http.method": request.method, "http.route": route_path})

Uptrace Metrics看板维护

引用链接

[1] OpenTelemetry Python Metrics API | Uptrace: https://uptrace.dev/get/opentelemetry-python/metrics

 

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区