From a3fda08d4ee45595f123d82500235cd5d4a00f05 Mon Sep 17 00:00:00 2001 From: ismail simsek Date: Mon, 29 Jan 2024 11:47:28 +0100 Subject: [PATCH] Datasources: Add concurrency number to the settings (#81212) add concurrency to the settings --- conf/defaults.ini | 5 +++++ pkg/setting/setting.go | 3 +++ 2 files changed, 8 insertions(+) diff --git a/conf/defaults.ini b/conf/defaults.ini index f037ec0de10..d26ea453e3f 100644 --- a/conf/defaults.ini +++ b/conf/defaults.ini @@ -429,6 +429,11 @@ default_home_dashboard_path = # Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API. datasource_limit = 5000 +# Number of queries to be executed concurrently. Only for the datasource supports concurrency. +# For now only Loki and InfluxDB (with influxql) are supporting concurrency behind the feature flags. +# Check datasource documentations for enabling concurrency. +concurrent_query_count = 10 + ################################### SQL Data Sources ##################### [sql_datasources] diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go index 10d3b54289a..ba5fc64f7a8 100644 --- a/pkg/setting/setting.go +++ b/pkg/setting/setting.go @@ -345,6 +345,8 @@ type Cfg struct { // Data sources DataSourceLimit int + // Number of queries to be executed concurrently. Only for the datasource supports concurrency. + ConcurrentQueryCount int // SQL Data sources SqlDatasourceMaxOpenConnsDefault int @@ -1933,6 +1935,7 @@ func (cfg *Cfg) GetContentDeliveryURL(prefix string) (string, error) { func (cfg *Cfg) readDataSourcesSettings() { datasources := cfg.Raw.Section("datasources") cfg.DataSourceLimit = datasources.Key("datasource_limit").MustInt(5000) + cfg.ConcurrentQueryCount = datasources.Key("concurrent_query_count").MustInt(10) } func (cfg *Cfg) readSqlDataSourceSettings() {