OpenTelemetry Metrics 是一个关于如何收集、聚合和发送指标到 OpenTelemetry APM 工具(如 UptracePrometheus )的标准。

Instruments

Instrument 是一种特定类型的指标(例如,counter, gauge, histogram),用于收集关于应用程序行为的特定方面的数据。

您通过创建具有以下功能的 instrument 来捕获测量结果:

  • 指标名称,例如 http.server.duration
  • 指标类型,例如 Histogram
  • 指标单位,例如 milliseconds  bytes
  • 指标描述,可选。

Timeseries(时间序列)

一个 instrument 可以生成多个时间序列。时间序列是一个具有唯一属性集的指标,例如,对于相同的指标名称,每个主机都有一个单独的时间序列。

Synchronous(同步)

Synchronous instruments 与它们正在测量的操作一起被调用。例如,为了测量请求的数量,只要有新的请求,就可以调用 counter.Add(ctx, 1)。同步测量可以具有关联的 trace context

InstrumentPropertiesAggregationExample
Counter可递增sum -> delta请求数,请求大小
UpDownCounter可增减last value -> sum连接数
Histogram可分组的histogram请求持续时间、请求大小

Asynchronous(异步)

Asynchronous instruments 定期调用回调函数来收集测量值。例如,可以使用观察器定期测量内存或 CPU 的使用情况。Asynchronous 测量不能具有关联的 trace context

Instrument NamePropertiesAggregationExample
CounterObserver可递增sum -> deltaCPU time
UpDownCounterObserver可增减last value -> sumMemory usage (bytes)
GaugeObserver可分组的last value -> none/avgMemory utilization (%)

使用示例

参考链接







Content Menu

  • No labels