On Tuesday, December 13, 2016 at 1:55:13 PM UTC+2, [email protected] wrote:
> I have the following series of data:
> 
> I have a gauge metric and I'm using a continuous query to store how much it 
> changes (currently it increases only). It worked until at some point at 
> midnight it calculated one wrong value. 
> 
> Here is the gauge
> 
> SELECT value FROM collectd."default".redis_info_value WHERE type_instance = 
> 'events_count' AND time > '2016-12-11 23:59:00' and time < '2016-12-12 
> 00:01:00';
> name: redis_info_value
> time                          value
> ----                          -----
> 2016-12-11T23:59:03.083946Z   464885
> 2016-12-11T23:59:13.083743Z   464885
> 2016-12-11T23:59:23.083716Z   464885
> 2016-12-11T23:59:33.083845Z   464885
> 2016-12-11T23:59:43.08375Z    464885
> 2016-12-11T23:59:53.083731Z   464885
> 2016-12-12T00:00:03.082633Z   464885
> 2016-12-12T00:00:13.082735Z   464885
> 2016-12-12T00:00:23.082801Z   464885
> 2016-12-12T00:00:33.082657Z   464885
> 2016-12-12T00:00:43.082643Z   464885
> 2016-12-12T00:00:53.082647Z   464885
> 
> 
> The CQ for getting incrementals:
> 
> CREATE CONTINUOUS QUERY cq_redis_events ON collectd RESAMPLE EVERY 10s FOR 30s
> BEGIN SELECT non_negative_derivative(sum(value), 10s) INTO 
> collectd."default".redis_events
> FROM collectd."default".redis_info_value WHERE type_instance = 'events_count' 
> GROUP BY time(10s) fill(0) END
> 
> Running it manually (I removed "fill(0)" so values are actually zeros, with 
> "fill(0)" I get the same result):
> 
> SELECT non_negative_derivative(sum(value), 10s) FROM 
> collectd."default".redis_info_value WHERE type_instance = 'events_count' AND 
> time > '2016-12-11 23:59:00' and time < '2016-12-12 00:01:00' GROUP BY 
> time(10s);
> name: redis_info_value
> time                  non_negative_derivative
> ----                  -----------------------
> 2016-12-11T23:59:00Z  0
> 2016-12-11T23:59:10Z  0
> 2016-12-11T23:59:20Z  0
> 2016-12-11T23:59:30Z  0
> 2016-12-11T23:59:40Z  0
> 2016-12-11T23:59:50Z  0
> 2016-12-12T00:00:00Z  0
> 2016-12-12T00:00:10Z  0
> 2016-12-12T00:00:20Z  0
> 2016-12-12T00:00:30Z  0
> 2016-12-12T00:00:40Z  0
> 2016-12-12T00:00:50Z  0
> 
> Actual values in the measurement of the result of CQ:
> SELECT "non_negative_derivative" FROM "redis_events" WHERE time > '2016-12-11 
> 23:59:00' and time < '2016-12-12 00:01:00';
> name: redis_events
> time                  non_negative_derivative
> ----                  -----------------------
> 2016-12-11T23:59:10Z  0
> 2016-12-11T23:59:20Z  0
> 2016-12-11T23:59:30Z  0
> 2016-12-11T23:59:40Z  0
> 2016-12-11T23:59:50Z  0
> 2016-12-12T00:00:00Z  464885
> 2016-12-12T00:00:10Z  0
> 2016-12-12T00:00:20Z  0
> 2016-12-12T00:00:30Z  0
> 2016-12-12T00:00:40Z  0
> 2016-12-12T00:00:50Z  0
> 
> What can be the cause of this?
> CQ FOR is set for 30seconds, but metrics are sent every 10seconds and CQ runs 
> every 10 seconds so the query calculates each value 3 times. 
> Can it be 30 seconds is still too small interval to go back and somehow CQ 
> reports wrong value because of that?

Version number:
$ influx
Connected to http://localhost:8086 version 1.0.2
InfluxDB shell version: 1.1.0

-- 
Remember to include the version number!
--- 
You received this message because you are subscribed to the Google Groups 
"InfluxData" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/influxdb.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/influxdb/b1ce1b1f-ad17-484e-8972-3cf01b21edba%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to