Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
背景介绍
目前Opentelemtry
的Metrics
标准以及go
实现已经稳定,可以对接到框架中,以便框架组件对外暴露组件指标。
注意事项
- 指标、属性命名使用
OpenTelemetry
规范。 - 在
OpenTelemetry
里面的属性,在里面的Attribute
,在Prometheus
里面叫做Label
。 - 由于
OpenTelemetry Metrics
里面的数据类型较多且复杂,框架参考Prometheus
的数据类型做了封装,简化使用。底层依旧使用OpenTelemery
规范。 - 指标值底层存储使用的是
float64
数据格式,因此在指标设计时指标值请尽量避免使用小数,以免出现精度问题。
字段说明
字段名称 | 字段说明 |
---|---|
指标名称 | 该名称将直接上报给存储端。默认使用 |
指标类型 |
简化复杂度,参考 |
Prometheus
或Opentelemetry
中的其他数据类型在没有痛点的前提下我们暂不做考虑。
| |
指标单位 | 用于定义该指标的单位,例如 |
Help信息 | 该信息和指标名称将直接上报给存储端,并在上层使用时做指标描述展示。 |
中文描述 | 用于内部理解和维护该指标。 |
公共属性
所有的指标都会自动注入这些公共的Label
,方便在多节点部署的进程或者分布式服务中做区分。
Label名称 | Label描述 | Label示例 |
---|---|---|
| 服务所在的主机节点名称。 | 本机 |
| 进程在当前系统上的的绝对路径。 |
|
文档列表
Children Display | ||||
---|---|---|---|---|
|
参考链接
- https://opentelemetry.io/docs/specs/otel/metrics/data-model/
- https://github.com/open-telemetry/opentelemetry-go/tree/main/metric
- https://github.com/hertz-contrib/obs-opentelemetry/blob/main/README_CN.md
- https://www.cloudwego.io/zh/docs/hertz/tutorials/observability/open-telemetry/
Panel | ||||
---|---|---|---|---|
| ||||
|