When I explore my data in the Influx web frontend all datapoint are equally distributed in 10s steps. (12:00:00, 12:00:10, 12:00:20, ...)
When I use the same query in a Grafana panel the time changes slightly by 1-2s. (12:00:01, 12:00:12, 12:00:21, ...)
How can I force the Grafana panel to keep the 10s steps?
from(bucket: "my_bucket")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "docker_container_cpu")
|> filter(fn: (r) => r["_field"] == "usage_percent")
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
|> yield(name: "mean")
Aggregate per 10s
:
from(bucket: "my_bucket")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "docker_container_cpu")
|> filter(fn: (r) => r["_field"] == "usage_percent")
|> aggregateWindow(every: 10s, fn: mean, createEmpty: false)
|> yield(name: "mean")
But it is good idea to use macro v.windowPeriod
, because it generates aggregation period automatically based on selected dashboard time range. Static 10 sec aggregation will be overkill for your server and browser if you select last year data for example. See doc.