OpenTelemetry 仪表视图
介绍
OpenTelemetry仪表视图(View)是用于定义如何聚合和展示指标数据的配置单元。它决定了原始指标数据如何被处理、分组和最终呈现给开发者或运维人员。仪表视图是连接原始指标数据与可视化界面的桥梁。
核心概念
- 指标(Metric):系统或应用程序的可测量属性(如CPU使用率、请求延迟)
- 聚合(Aggregation):将多个数据点合并为有意义的统计值(如平均值、总和)
- 标签(Labels):用于分类和过滤指标的维度
基本组成
一个仪表视图通常包含以下要素:
创建仪表视图
基本语法示例
以下是一个创建仪表视图的Go语言示例:
import (
"go.opentelemetry.io/otel/sdk/metric"
)
view := metric.NewView(
metric.Instrument{Name: "http.server.duration"},
metric.Stream{
Aggregation: metric.AggregationExplicitBucketHistogram{
Boundaries: []float64{0, 100, 200, 500, 1000},
},
AttributeFilter: attribute.NewAllowKeysFilter("http.method", "http.status_code"),
},
)
关键参数解释
- Instrument:指定要处理的指标名称
- Aggregation:定义如何聚合数据:
Sum
:计算总和LastValue
:记录最后一个值Histogram
:创建直方图分布
- AttributeFilter:控制哪些标签会被保留