如何用Grafana获取InfluxDB中存储的计数器类型值的总跨时间值?

How to get with Grafana a total cross-time value of a counter-type value stored in InfluxDB?

我们正在 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

使用 Grafana 针对 InfluxDB (1.7) 实现上述结果的方法是什么?
应该使用哪些函数?

谢谢

查看NON_NEGATIVE_DIFFERENCE函数。 查询可能看起来像(如果需要按时间添加组)

SELECT SUM(diffval) FROM (SELECT NON_NEGATIVE_DIFFERENCE(value) AS diffval FROM bytes_in)