首页 > 解决方案 > 以秒为单位绘制当前持续时间

问题描述

我想以秒为单位显示从范围开始到结束的总持续时间。

该图将以秒为单位的总持续时间为 Y 轴,时间为 X 轴。

它将从 0 秒到 3600 秒开始,持续一小时。

我设法根据石墨系列绘制它,但是当范围太宽时它是不正确的。我想这与一段时间后的数据清理有关。 总持续时间

标签: grafanagraphite

解决方案


Graphite 包含一个名为timeFunction的函数,它仅以您选择的时间间隔返回图中每个点的时间戳。结合offsetToZero函数,您可以绘制一条以标准时间增量计数的线,并且无论图形的持续时间如何,都从 0 开始。它看起来像这样:

offsetToZero(timeFunction('duration', 60))

我对它进行了长达 90 天的测试,并以各种 maxdataPoint 值进行了测试,它似乎工作正常。60 秒是 timeFunction 的默认间隔,但您可以使用任何您喜欢的时间间隔,具体取决于您认为适合仪表板的时间间隔。

如果您有不同版本的 Graphite,并且在不同的缩放级别上仍然看到值看起来很奇怪,请尝试添加consolidateBy(max)以确保如果正在合并数据点,则使用最高值而不是平均值。您还可以 consolidateBy(min) - Graphite 数据点代表下一个时间段而不是前一个时间段,因此第一个数据点在数学上可能更正确,具体取决于您的实现。

(注意:数据点的合并发生是因为 Grafana 向 Grafana 发送了一个 maxDataPoints 值及其请求,因此 Graphite 不会返回图表可以显示的更多数据点。)


推荐阅读