I’m facing a performance issue in Grafana when using highly dynamic dashboards.
Setup
- I am dynamically generating dashboard rows using template variables
- Panels are also created using the repeat option (based on another variable)
- Example flow:
- Sensors → each sensor creates rows dynamically
- Channels → each row repeats panels based on channel variable
- Panels with no data are automatically hidden using query conditions
Expected Behavior
- Dashboard should scale based on available sensors/channels
- Panels with no data should remain hidden
- UI should remain responsive even with large datasets
Actual Issue
When the number of sensors/channels increases:
- The dashboard UI becomes very slow / unresponsive
- Browser tab starts lagging heavily
- JavaScript heap memory usage increases significantly (around 500–600 MB+)
- Eventually the page may freeze or take too long to render
Observations
- The issue only appears when a large number of panels are generated via repeat variables
- Smaller datasets work fine
- Problem seems related to client-side rendering overhead from too many repeated panels
Questions
- Is there any recommended limit for repeated panels in Grafana?
- Are there any best practices to handle large dynamic dashboards more efficiently?
- Any way to reduce heap usage or improve rendering performance in such cases?
Any suggestions or similar experiences would be really helpful.



