背景介绍

目前OpentelemtryMetrics标准以及go实现已经稳定,可以对接到框架中,以便框架组件对外暴露组件指标。

注意事项

  • 指标、属性命名使用OpenTelemetry规范。
  • OpenTelemetry里面的Attribute,在Prometheus里面叫做Label
  • 由于OpenTelemetry Metrics里面的数据类型较多且复杂,框架参考Prometheus的数据类型做了封装,简化使用。底层依旧使用OpenTelemery规范。
  • 指标值底层存储统一使用的是float64数据格式,因此在指标设计时指标值请尽量避免使用小数,以免出现精度问题。

字段说明

字段名称

字段说明

指标名称

该名称将直接上报给存储端。默认使用.符号分隔单词,如果是通过prometheus协议暴露,那么.符号将会被自动替换为_下划线符号。

指标类型

参考OpenTelemetry规范,包含6种指标类型:

  • Counter
  • UpDownCounter
  • Histogram
  • ObservableCounter
  • ObservableUpDownCounter
  • ObservableGauge

指标单位

用于定义该指标的单位,例如MBBytes%QPS等等。

Help信息

该信息和指标名称将直接上报给存储端,并在上层使用时做指标描述展示。

中文描述

用于内部理解和维护该指标。

公共属性

所有的指标都会自动注入这些公共的Label,方便在多节点部署的进程或者分布式服务中做区分。

Label名称

Label描述

Label示例

os.host.name

服务所在的主机节点名称。

本机hostname命令值

process.path

进程在当前系统上的的绝对路径。

/app/main

文档列表

参考链接



Content Menu

  • No labels