如何将 运行 总指标转换为每次变化 window?

How to convert running total metric to change per time window?

我正在使用一个代表 运行 总数的指标。

峰值相隔 30 秒,让我觉得计数是每 30 秒存储一次。我的目标是能够看到每个“$window”(模板变量,例如:1 分钟、30 分钟)的 运行 总数中的增量。如果我的 window 是 30 秒并且两个连续计数之间的差是 5,我希望看到一个“5”数据点。如果我的 window 是 1 分钟,它将是 3 个峰之间的增量。

我的理解是 derivative 会有所帮助,但它会产生一个恒定的 0 行。我想这与图表的尖锐性质有关。我一直在玩 hitcountperSecond,但我似乎没有得到正确的数字。有什么建议吗?

编辑:我目前正在尝试 summarize(derivative(summarize(my.metric, "30s")), "$window")。 想法是使用 summarize(my.metric, "30s") 强制执行 30 秒的最小分辨率(因为我每 30 秒只有 1 个数据点)。然后,我使用 derivative 来获取变化率,最后使用 summarize 和我的模板化 $window 来按我感兴趣的时间间隔对变化率求和。有什么意见吗?

使用 summarize(derivative(summarize(my.metric, "30s")), "$window") 有效。