A Closer Look at Lazy Loading Grafana Dashboards

Published: 8 Jul 2019 by Torkel Ödegaard RSS

Lazy loading of dashboard panels has been a popular feature request from the Grafana community for many years, and it was finally added in v6.2.

In previous versions, the moment you opened a dashboard Grafana will issue queries for every panel, even those you have to scroll to see. This can create high peaks in load to your data source backends. Meanwhile, you may never actually scroll down to look at all of those panels, so executing queries for those panels would have been pointless.

Introduced in May’s v6.2 release, lazy loading saves the data source backend from having to execute all of the queries and thus reduces the heavy load spike on your backends. Grafana will not issue any data queries for panels that are not visible. It will load panels on demand as you scroll down.

Lazy loading is enabled by default, so it’s meant to be something you don’t have to think about.

At the same time, you may want to keep it in mind when designing your dashboards. If you have a panel with a query that is very expensive, and it’s not something you always look at, it could be useful to move it down a bit, so you would have to scroll to view it.

For those of you using the React-based panels (Gauge and Bar Gauge), there is extra functionality. Let’s say you have scrolled down and then trigger a refresh. Only the panels currently visible update. If you then scroll back up, the panels that were out of view when the refresh was triggered will update.

Have a look at the demo dashboard for lazy loading, and let us know what you think!