首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Netflix Servo中制定分钟速率度量

在Netflix Servo中制定分钟速率度量
EN

Stack Overflow用户
提问于 2016-08-02 00:50:40
回答 1查看 276关注 0票数 1

我想将StepCounter从基于秒的速率转换为每分钟速率(我们有一个监视器,每分钟运行一次)。

当我尝试将轮询从每秒1次切换为每60秒一次时,它将获取增量值并将其除以60,然后创建每秒的速率。

有没有人知道如何通过Netflix Servo包公开JMX值来替代60s度量?有CounterToRateMetricTransform,但没有关于如何将计数器度量转换为速率的示例。

EN

回答 1

Stack Overflow用户

发布于 2017-12-07 16:50:10

StepCounter是一个单独的指标,但CounterToRateMetricTransform应用于一个MetricObserver,并返回一个新的观察者,该观察者观察转换为速率的所有计数器

例如,创建观察计数器作为速率的观察者,并将其添加到pollrunnable任务

代码语言:javascript
复制
MetricObserver observer = new CloudWatchMetricObserver(...) // existing observer
MetricObserver transformedObserver = new CounterToRateMetricTransform(observer, 60, TimeUnit.SECONDS);
PollRunnable task = new PollRunnable(..., Immutable.listOf(transformedObserver));

不幸的是,这个转换也会返回每秒的速率(参见CounterToRateMetricTransform.computeRate)

据我所知,没有办法通过现有的库获得每分钟的速率,您需要根据您的用例实现您自己的指标(如StepCounter)或在观察者(如CounterToRateMetricTransform)上实现您自己的转换。

最好的方法可能是在您的监控系统中采用每秒速率并将其乘以60,而不是更改报告

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38704122

复制
相关文章

相似问题

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