选择正确的普罗米修斯函数来显示时间测量数据图

Picking the right prometheus function to show graph of time measurements data

我有一个 gauge 指标,我正在使用自开始某些处理以来经过的时间值进行更新,例如:

var watch = System.Diagnostics.Stopwatch.StartNew();

DoSomeProcessing();

watch.Stop();
_performanceGauge.Set(watch.ElapsedMilliseconds);

我希望将其反映在 grafana 仪表板中,但我无法为该任务选择正确的函数。我考虑过使用 idelta 函数,但结果是平面图:

idelta(bg_process_performance[2h])

那么我应该使用哪一个?

如果它是一个 Gauge,那么你应该显示没有函数的原始值。

如果您关心的不仅仅是最近的事件,那么您应该改用 Summary/Histogram,然后计算 irate(my_metric_sum[1m])/irate(my_metric_count[1m]) 以获得平均延迟。