对于初始值100和最终值105,我希望单个统计框显示5%.
我有一种感觉,我错过了一些显而易见的东西,但找不到一种方法来展示这个看似简单的任务.
编辑:
我正在尝试创建一个脚本化的Grafana仪表板,它将自动填充所有各种卷的磁盘消耗增长.数据已经在Graphite中,但出于容量管理和财务规划(项目/部门获得计费)的目的,管理人员可以简单粗略地概述哪些数据量超出预期参数.
我们的想法是创建一个带有颜色编码的单一统计值列表,可以轻松滚动查找异常.磁盘使用量显然永远不会是负数,但在此视图中,时间段开始和结束之间的使用波动性将会丢失.这对我们来说不是一个大问题,因为这是所有共享存储,并且这种使用在一定程度上是预期的.
完美的解决方案是根据选定的时间段动态更改计算.
我认为这与Graphite和Grafana不太可能(至少不容易),并且已经开始寻找替代方法.我们可能必须为此目的实施不同的报告系统.
编辑2
我已经尝试过实施Leonid的建议解决方案,并且它在时尚之后起作用.计算似乎与我的预期有些不同.
我的测试仪表板如下所示:
如果我手动计算更改,我最终会在开始(7,23)和结束(8.96)值之间进行大约24%的更改. Graphite将其计算为19%.这可能是造成差异的一个原因,可能与时间序列有关,而不是谨慎的价值观?
作为旁注:这个例子只有30天,尽管最有趣的数字是一年.我们在Graphite中还没有一年的数据,并且拥有30天的视图也很有趣.看来我必须用静态时间实现几个仪表板.
你当然可以在一段固定时间内做到这一点.例如,在查询之后,取当前度量值与度量在一分钟之前的值(即初始值)之间的绝对差值,然后计算它的初始值的百分比.asPercent(absolute(diffSeries(my_metric, timeShift(my_metric, '1m'))), timeShift(my_metric, '1m'))
我相信你不能在Grafana选择器中选择的时间段内这样做.
但这真的是你需要的吗?这看起来很奇怪,因为正如你所说,价值可以在两个方向上发生变化.也许standard deviation会更适合你?它在Graphite中可用作stdev
function.