【问题标题】:Why does com.netflix.spectator.api.Counter produes "normalized" values?为什么 com.netflix.spectator.api.Counter 会产生“标准化”值?
【发布时间】:2017-06-10 10:48:17
【问题描述】:

我正在尝试使用Spectator 进行计数。用法如下:

@Autowired
private Registry registry;

然后打电话:

registry.counter("ping").count();

当我转到http://localhost:8080/metrics 时,我看到了:

"ping(type=NORMALIZED)":0.05

为什么会发生这种情况?如何配置 Spectator 进行计数?

【问题讨论】:

    标签: java spring-boot spring-cloud metrics spring-cloud-netflix


    【解决方案1】:

    在旁观者的说法中,Counter 用于衡量某些事件发生的速率(即,始终在某个时域内进行归一化)。 here 提供了更详细的解释。这种标准化由指标发布者在指标发送到指标服务器之前执行(例如,Atlas 设置为在固定时间间隔发布,因此在该时间窗口内进行标准化)。由于对于计数器而言,rate 很重要,因此不需要保留时间窗口内的离散计数器事件。

    如果您只想计算某事在所有时间中出现的总次数,则应改用Gauge(请参阅explanation)。但是,我要提醒您,对于长期运行的服务,计算某些事件发生的总次数可能最终会溢出。通常,仪表用于计算具有自然上限(并且不一定单调增加)的事物,例如缓存中的元素总数或正在运行的线程数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 2020-05-29
      • 2014-07-11
      • 1970-01-01
      • 2020-08-05
      相关资源
      最近更新 更多