我们正在尝试根据Yammer指标的信息实现报告功能。
Yammer指标提供有关计时器和仪表的信息,如下所示:
METER_METRIC:
count = 1
mean rate = 0.01 count/s
1-minute rate = 0.00 count/s
5-minute rate = 0.00 count/s
15-minute rate = 0.00 count/s
TIMER_METRIC:
count = 1
mean rate = 0.01 calls/s
1-minute rate = 0.01 calls/s
5-minute rate = 0.00 calls/s
15-minute rate = 0.00 calls/s
min = 89.77ms
max = 89.77ms
mean = 89.77ms
stddev = 0.00ms
median = 89.77ms
75% <= 89.77ms
95% <= 89.77ms
98% <= 89.77ms
99% <= 89.77ms
99.9% <= 89.77ms
我读了an overview并且能够获得如上所示的应用程序统计信息。计时器和仪表指标包含有关1分钟费率,5分钟费率和15分钟费率的信息。
题:
Timer和Meter指标的分钟率表示什么以及如何计算?
所有(mean|1-min|5-minute|15-minute)-rate
指标都表明吞吐量;即,每秒处理多少个信息单元(事件)。
平均费率
计算自仪表创建以来发生事件的速率。但这并不是很有用,因为它并不代表现在正在发生的事情。
分钟费率
使用称为指数加权移动平均值(EWMA)的技术计算事件发生的速率。
该速率与top
Unix命令中的十五分钟负载平均值具有相同的指数衰减因子。
更多信息
看看Timer.java,Meter.java和EWMA.java的源代码
如果你有更多的时间,请看看Coda Hale关于这个主题的讨论:Metrics, Metrics, Everywhere - Coda Hale
它表示给定时间段内的平均请求率。虽然平均速率是计时器寿命的平均值。