我试图找出应用程序内修饰符 as_rate()和汇总函数 per_second()之间的区别。
我想要一个包含两列的表:左列显示提交给分发的事件总数(用查询来说:)count:METRIC{*} by {tag},右列显示每秒事件的平均速率。表格可视化在左列上应用总和汇总,在右列上应用平均汇总,以便左列应等于右列乘以所选时间段内的总秒数。
通过阅读文档,我预计这些查询中的任何一个都适用于右列:
count:DISTRIBUTION_METRIC{*} by {tag}.as_rate()
per_second(count:DISTRIBUTION_METRIC{*} by {tag})
但是,事实证明这两个查询并不相同。as_rate()是唯一找到预期平均速率的函数,其中left = right * num_seconds. 事实上,per_second()汇总会做这种额外奇怪的事情,其中总事件数较低的指标具有较高的平均率。
有人能够澄清为什么这两个函数不是同义词以及per_second()有什么不同吗?