Why is my graph empty when I zoom in?


When I zoom into my graph the graph lines disappear.

I have lines here

I zoom in:

The legend tells me I have data! So why no lines in the graph?

No lines drawn if 'GROUP BY time()' interval NOT explicitly defined
Problem: invisible graph
Getting line connected points over a series
No lines drawn if 'GROUP BY time()' interval NOT explicitly defined
Data is not automatically changes with different time series based on my template values
Graph disappear when interval set to last 5 min

One way to troubleshoot this is to go into graph display tab and check Points checkbox.

This way you can see that that there is indeed data there. But still why is there no lines between them?

The reason for this is that Elasticsearch and InfluxDB has a group by time feature where data is grouped into buckets. If there is no data in a given time bucket a null value is returned. This null value can be good to return as it can indicate a period of missing data. you can control if a null value time buckets should be returned or not by changing fill option in InfluxDB or the Min Doc Count option for Elasticsearch.

Still why no lines? There are no lines drawn as the Graph panel will not draw lines between values if there are null values in between. This can be important otherwise section with missing data could be hard to spot. You can change graph option Null value in display tab if you do not care abut this.

The root cause of the problem is however not the null values but the fact that the group by time interval is lower than the rate at which data is written (data collection frequency). So if you only write to your time series store every 10 seconds you do know want the group by time interval to go below this value.

In the data source edit view.

you find a global data source option where you can specify a lower limit for the group by time interval. Set this to >10s if you write every 10 seconds. You can also set this lower limit in the group by time interval option below your queries in the Metrics tab.

Displaying HDD Health-Status String
Latency from CloudWatch
Could not display charts in panel

I ran into the same problem myself, it seems to be due to the fact that grafana is truncating times to milliseconds despite the fact that they may be stored in the database at a higher precision

For example I have a series of points in my influxdb at time 1514507093.324336863, 1514507093.324621349, etc

When I zoom to this point grafana displays it square on 1514507093.324 (if you look in the query inspector you can see it is specifying ms as precision). This works down to a screenwidth of 2ms, although it incorectly groups all the points square in the middle of the screen, at 324ms:

select * from table where time >= 1514507093323ms and time <= 1514507093325ms

However when you try to zoom on the points grouped at this millisecond the query logic fails as grafana is unable to think at higher resolution

select * from table where time >= 1514507093324ms and time <= 1514507093324ms

All the points that previously appeared on the whole millisecond are suddenly excluded by the query and disappear off to the right of screen. Apart from being surprising this means you can’t inspect values occurring with separation less than a ms

It’d be nice to enable at least microsecond (preferably nano) resolution in grafana, this would solve both the behavioural and functional issues here

Different data depending on the size of the window