我们正在InfluxDB中存储一些类似计数器的度量值。
这些值是单调增长的,但可以不时重置。
重置可以随时发生(例如,由于服务重启)。
例如:
测量:bytes_in
time value
---- -----
2020-03-23T09:00:50.5335191Z 1000
2020-03-23T09:00:51.0335191Z 3000
2020-03-23T09:00:51.5335191Z 4500
2020-03-23T09:00:52.0335191Z 7000
2020-03-23T09:00:52.5335191Z 8000
2020-03-23T09:00:55.0335191Z 15000
2020-03-23T09:00:55.5335191Z 500
2020-03-23T09:00:56.0335191Z 1000
2020-03-23T09:00:56.5335191Z 1000
2020-03-23T09:00:57.5335191Z 3000
在这种情况下,如果我希望从2020-03-23T09:00:50到2020-03-23T09:00:58的bytes_in总数,我想获取:
(15,000-1000)+(3000-0)(截至55.5335191Z,它已重置,然后从0开始)= 17,000
使用针对InfluxDB(1.7)的Grafana达到上述结果的方法是什么?
应该使用哪些功能?
谢谢
答案 0 :(得分:0)
查看NON_NEGATIVE_DIFFERENCE函数。 查询可能看起来像(如果需要,可以按时间添加组)
SELECT SUM(diffval) FROM (SELECT NON_NEGATIVE_DIFFERENCE(value) AS diffval FROM bytes_in)