mirror of
https://github.com/grafana/grafana.git
synced 2024-11-30 04:34:23 -06:00
1c892a2fc4
Adds a new setting dataproxy.row_limit that allows an operator to limit the amount of rows being processed/accepted in response to database queries originating from SQL data sources. Closes #38975 Ref #39095 Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
33 lines
1.5 KiB
Go
33 lines
1.5 KiB
Go
package setting
|
|
|
|
import "gopkg.in/ini.v1"
|
|
|
|
const defaultDataProxyRowLimit = int64(1000000)
|
|
|
|
func readDataProxySettings(iniFile *ini.File, cfg *Cfg) error {
|
|
dataproxy := iniFile.Section("dataproxy")
|
|
cfg.SendUserHeader = dataproxy.Key("send_user_header").MustBool(false)
|
|
cfg.DataProxyLogging = dataproxy.Key("logging").MustBool(false)
|
|
cfg.DataProxyTimeout = dataproxy.Key("timeout").MustInt(10)
|
|
cfg.DataProxyDialTimeout = dataproxy.Key("dialTimeout").MustInt(30)
|
|
cfg.DataProxyKeepAlive = dataproxy.Key("keep_alive_seconds").MustInt(30)
|
|
cfg.DataProxyTLSHandshakeTimeout = dataproxy.Key("tls_handshake_timeout_seconds").MustInt(10)
|
|
cfg.DataProxyExpectContinueTimeout = dataproxy.Key("expect_continue_timeout_seconds").MustInt(1)
|
|
cfg.DataProxyMaxConnsPerHost = dataproxy.Key("max_conns_per_host").MustInt(0)
|
|
cfg.DataProxyMaxIdleConns = dataproxy.Key("max_idle_connections").MustInt()
|
|
cfg.DataProxyIdleConnTimeout = dataproxy.Key("idle_conn_timeout_seconds").MustInt(90)
|
|
cfg.ResponseLimit = dataproxy.Key("response_limit").MustInt64(0)
|
|
cfg.DataProxyRowLimit = dataproxy.Key("row_limit").MustInt64(defaultDataProxyRowLimit)
|
|
|
|
if cfg.DataProxyRowLimit <= 0 {
|
|
cfg.DataProxyRowLimit = defaultDataProxyRowLimit
|
|
}
|
|
|
|
if val, err := dataproxy.Key("max_idle_connections_per_host").Int(); err == nil {
|
|
cfg.Logger.Warn("[Deprecated] the configuration setting 'max_idle_connections_per_host' is deprecated, please use 'max_idle_connections' instead")
|
|
cfg.DataProxyMaxIdleConns = val
|
|
}
|
|
|
|
return nil
|
|
}
|