Prometheus: Incremental querying option for to: now dashboards (#62932)

Provide new feature in Prometheus dashboards to cache queried time series data, modify requests to not include previously cached data in order to improve dashboard refresh performance. 

Co-authored-by: Galen <galen.kistler@grafana.com>
Co-authored-by: Leon <leon.sorokin@grafana.com>
This commit is contained in:
Leon Sorokin
2023-04-12 13:10:10 -05:00
committed by GitHub
co-authored by Galen Leon
parent c5172247a9
commit 2b2a4e13e5
9 changed files with 1843 additions and 56 deletions
@@ -89,6 +89,8 @@ datasources:
manageAlerts: true
prometheusType: Prometheus
prometheusVersion: 2.37.0
incrementalQuerying: true
incrementalQueryOverlapWindow: 10m
cacheLevel: 'High'
exemplarTraceIdDestinations:
# Field with internal link pointing to data source in Grafana.
@@ -165,3 +167,11 @@ Grafana lists these variables in dropdown select boxes at the top of the dashboa
Grafana refers to such variables as template variables.
For details, see the [template variables documentation]({{< relref "./template-variables/" >}}).
## Incremental Dashboard Queries (beta)
As of Grafana 10, the Prometheus data source can be configured to query live dashboards incrementally, instead of re-querying the entire duration on each dashboard refresh.
This can be toggled on or off in the datasource configuration or provisioning file (under `incrementalQuerying` in jsonData).
Additionally, the amount of overlap between incremental queries can be configured using the `incrementalQueryOverlapWindow` jsonData field, the default value is 10m (10 minutes).
Increasing the duration of the `incrementalQueryOverlapWindow` will increase the size of every incremental query, but might be helpful for instances that have inconsistent results for recent data.