Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

背景介绍

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

指标梳理

字段说明:

注意事项

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

字段说明

字段名称

字段说明

指标名称

该名称将直接上报给存储端。

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

指标类型

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

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

指标单位

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

指标类型

我们只用3种类型:CounterGaugeHistogramPrometheusOpentelemetry中的其他数据类型在没有痛点的前提下我们暂不做考虑。

  • Counter: (常用)只增不减的数值指标。例如请求数、错误数等。

  • Gauge:(常用)可增可减的数值指标。例如:CPUMemory等。

  • Histogram: 直方图,用于按照buckets对统计数据在采集时做分类采集。例如:按照请求耗时对请求数量进行分段。https://prometheus.io/docs/practices/histograms/

Help信息

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

指标中文描述

(可选)用于内部理解和维护该指标。

采集逻辑

(可选)指标实现时按照该逻辑实现。

ghttp.Server

指标名称

指标单位

指标类型

Help信息

指标中文描述

采集逻辑

Help信息

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

中文描述

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

公共属性

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

Label名称

Label描述

Label示例

os.host.name

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

本机hostname命令值

process.path

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

/app/main

文档列表

Children Display
depth2
excerptTypesimple

参考链接




Panel
titleContent Menu

Table of Contents
maxLevel110