mirror of https://github.com/prometheus/prometheus
Allow http keep-alive setting to be overridden in config
parent
8bee283f8a
commit
e0a4d18301
|
@ -526,6 +526,8 @@ type HTTPClientConfig struct {
|
||||||
ProxyURL URL `yaml:"proxy_url,omitempty"`
|
ProxyURL URL `yaml:"proxy_url,omitempty"`
|
||||||
// TLSConfig to use to connect to the targets.
|
// TLSConfig to use to connect to the targets.
|
||||||
TLSConfig TLSConfig `yaml:"tls_config,omitempty"`
|
TLSConfig TLSConfig `yaml:"tls_config,omitempty"`
|
||||||
|
// If set, override whether to use HTTP KeepAlive - defaults OFF
|
||||||
|
KeepAlive *bool `yaml:"keep_alive,omitempty"`
|
||||||
|
|
||||||
// Catches all undefined fields and must be empty after parsing.
|
// Catches all undefined fields and must be empty after parsing.
|
||||||
XXX map[string]interface{} `yaml:",inline"`
|
XXX map[string]interface{} `yaml:",inline"`
|
||||||
|
|
|
@ -36,11 +36,15 @@ func NewClientFromConfig(cfg config.HTTPClientConfig) (*http.Client, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
disableKeepAlives := true // hard-coded default unless overridden in config
|
||||||
|
if cfg.KeepAlive != nil {
|
||||||
|
disableKeepAlives = !*cfg.KeepAlive
|
||||||
|
}
|
||||||
// The only timeout we care about is the configured scrape timeout.
|
// The only timeout we care about is the configured scrape timeout.
|
||||||
// It is applied on request. So we leave out any timings here.
|
// It is applied on request. So we leave out any timings here.
|
||||||
var rt http.RoundTripper = &http.Transport{
|
var rt http.RoundTripper = &http.Transport{
|
||||||
Proxy: http.ProxyURL(cfg.ProxyURL.URL),
|
Proxy: http.ProxyURL(cfg.ProxyURL.URL),
|
||||||
DisableKeepAlives: true,
|
DisableKeepAlives: disableKeepAlives,
|
||||||
TLSClientConfig: tlsConfig,
|
TLSClientConfig: tlsConfig,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue