在Prometheus的客户端库(例如client_golang)中,SummaryOpts
结构体的Objectives
字段用于定义摘要(summary)数据的分位数计算目标。
摘要是一种度量指标类型,它记录了样本值在某个时间段内的数量和总和,并且可以计算出不同分位数对应的值。通过使用Objectives
字段,我们可以定义想要计算的分位数以及其对应的误差。
Objectives
是一个键值对映射,其中键表示分位数(0-1之间),值表示相应的允许误差范围。具体而言,每个键值对定义了一个目标分位数和允许的最大误差。
例如,在以下示例中:
summary := prometheus.NewSummary(prometheus.SummaryOpts{
Name: "my_summary",
Help: "Summary metric example",
Objectives: map[float64]float64{0.5: 0.01, 0.9: 0.05},
})
我们定义了两个目标分位数:50% 和 90%。其中,50% 分位数希望有一个最大误差为 0.01 的计算结果,而90% 分位数则允许最大误差为 0.05。
设置 Objectives
可以影响到摘要数据采集和计算过程中所消耗的存储空间和计算资源。较低的误差目标可能需要更多的存储空间和计算时间。
请注意,根据需求选择合适的分位数和相应的误差目标。一般来说,主要关注中位数(50%)和高百分位数(例如90%、95%)会提供有意义的结果。
内容由零声教学AI助手提供,问题来源于学员提问