首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在记录请求持续时间时,何时使用prometheus的度量或直方图?

在记录请求持续时间时,何时使用prometheus的度量或直方图?
EN

Stack Overflow用户
提问于 2022-04-06 14:21:52
回答 1查看 1.4K关注 0票数 1

我刚开始做公制监控。

如果我们想记录请求的持续时间,我认为我们应该使用gauge,但实际上,有人会使用histogram

例如,在grpc-ecosystem/go-grpc-prometheus中,他们更喜欢使用histogram来记录持续时间。是否商定了使用公制类型的最佳做法?或者这只是他们自己的喜好。

代码语言:javascript
运行
复制
// ServerMetrics represents a collection of metrics to be registered on a
// Prometheus metrics registry for a gRPC server.
type ServerMetrics struct {
    serverStartedCounter          *prom.CounterVec
    serverHandledCounter          *prom.CounterVec
    serverStreamMsgReceived       *prom.CounterVec
    serverStreamMsgSent           *prom.CounterVec
    serverHandledHistogramEnabled bool
    serverHandledHistogramOpts    prom.HistogramOpts
    serverHandledHistogram        *prom.HistogramVec
}

谢谢~

EN

Stack Overflow用户

回答已采纳

发布于 2022-04-06 21:39:44

我对此并不熟悉,但请允许我回答你的问题。所以,以我的答案为例,或者是那些在使用度量来观察他们的系统方面有经验的人。

https://prometheus.io/docs/concepts/metric_types/中所述

规是一种度量,它表示一个可以任意上升和下降的数值。

因此,如果您的目标是显示当前值(请求的持续时间),您可以使用一个量规。但我认为,使用度量的目标是在系统中发现问题,或者在系统中某些值不在预定义的范围内或获得性能值(如Apdex评分)时生成警报。

来自https://prometheus.io/docs/concepts/metric_types/#histogram

使用histogram_quantile()函数从直方图甚至直方图聚合中计算分位数。直方图也适用于计算Apdex评分。

来自https://en.wikipedia.org/wiki/Apdex

应用性能指数(

Apdex,)是一种由企业联盟开发的用于衡量计算软件应用性能的开放标准。它的目的是通过指定一种统一的方法来分析和报告所测量的性能满足用户期望的程度,从而将度量转化为对用户满意度的洞察力。

阅读分位数以及直方图和https://prometheus.io/docs/practices/histograms/#quantiles摘要中的计算

有两条经验法则:

如果您需要聚合,如果您知道要观察的值的范围和分布,请选择histograms.

  • Otherwise,选择一个直方图。如果需要精确的分位数,请选择摘要,无论值的范围和分布如何。

或者就像亚当·伍德贝克( Adam )在他的“网络编程与围棋”(Go)一书中所说的:

一般的建议是在不知道期望值的范围时使用摘要,但我建议您尽可能使用直方图,以便可以在度量服务器上聚合直方图。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71768510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档