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?

-- 
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/344af855-77b1-4c4d-9210-32a1a9145273%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to