千分尺计数器与分布总结

Bor*_*lov 5 java monitoring metrics prometheus micrometer

使用摘要来跟踪我要跟踪的请求大小

  • 请求总数
  • 总请求大小
  • 最大请求大小

我可以这样做

meterRegistry.summary("request.size", <tag for url>).record(<size>);
Run Code Online (Sandbox Code Playgroud)

不过,我可以使用计数器和最大尺寸的仪表来实现相同的目的

meterRegistry.counter("request.size.total", <tag for url>).increment(<size>);
meterRegistry.counter("request.size.count", <tag for url>).increment();
meterRegistry.gauge("request.size.max", <tag for url>).set(<new value if needed>);
// and the gauge value will be stored in atomic variable
Run Code Online (Sandbox Code Playgroud)

问题是,与较长的解决方案相比,摘要除了更短之外还有什么好处吗?

Jon*_*oni 1

使用DistributionSummary手段:

  • 编写和维护更少的代码
  • 使用 Micrometer 的命名约定
  • 随着时间的推移衰减值(参见:distributionStatisticExpirydistributionStatisticBufferLength
  • 你可以有直方图和百分位数
  • 您可以定义 SLO