VictoriaMetrics/lib/promscrape
Zakhar Bessarab eefae85450
vmagent: add support of HTTP2 client for Kubernetes SD (#7114)
### Describe Your Changes

Currently, vmagent always uses a separate `http.Client` for every group
watcher in Kubernetes SD. With a high number of group watchers this
leads to large amount of opened connections.

This PR adds 2 changes to address this:
- re-use of existing `http.Client` - in case `http.Client` is connecting
to the same API server and uses the same parameters it will be re-used
between group watchers
- HTTP2 support - this allows to reuse connections more efficiently due
to ability of using streaming via existing connections.

See this issue for the details and test results -
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5971

### Checklist

The following checks are **mandatory**:

- [ ] My change adheres [VictoriaMetrics contributing
guidelines](https://docs.victoriametrics.com/contributing/).

---------

Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>
2024-10-08 10:36:31 +02:00
..
discovery vmagent: add support of HTTP2 client for Kubernetes SD (#7114) 2024-10-08 10:36:31 +02:00
discoveryutils lib: consistently use regexp.Regexp.ReplaceAllLiteralString instead of regexp.Regexp.ReplaceAllString in places where the replacement cannot contain matching group placeholders 2024-07-17 12:41:54 +02:00
testdata lib/promscrape: disable support for service discovery and metrics scrape via http2 2023-07-06 16:03:37 -07:00
client_test.go lib/promscrape: Fix TestClientProxyReadOk flaky test (#7173) 2024-10-03 18:27:15 +02:00
client.go lib/promscrape: fixes proxy autorization (#6783) 2024-08-19 22:31:18 +02:00
config_test.go lib/promrelabel: follow-up for 8958cecad6 2024-08-27 13:04:26 +02:00
config_timing_test.go lib/promscrape: optimize service discovery speed 2022-11-29 21:26:00 -08:00
config.go feature: [vmagent] Add service discovery support for OVH Cloud VPS and dedicated server (#6160) 2024-09-30 14:42:46 +02:00
relabel_debug.go app/vmselect: small cleanup after 4f3f9950d0 2023-05-08 14:57:11 -07:00
scraper.go feature: [vmagent] Add service discovery support for OVH Cloud VPS and dedicated server (#6160) 2024-09-30 14:42:46 +02:00
scrapework_test.go lib/promscrape: use prompbmarshal.MustParsePromMetrics function at parseData() test function 2024-07-03 16:08:13 +02:00
scrapework_timing_test.go all: fix golangci-lint(revive) warnings after 0c0ed61ce7 2024-04-02 23:16:29 +03:00
scrapework.go vmagent: add support of HTTP2 client for Kubernetes SD (#7114) 2024-10-08 10:36:31 +02:00
targetstatus.go lib/promscrape: show only unhealthy targets if show_only_unhealthy filter is enabled (#6960) 2024-09-24 12:18:24 +02:00
targetstatus.qtpl lib/promscrape: follow-up for 1e83598be3 2024-07-16 12:38:21 +02:00
targetstatus.qtpl.go lib/promscrape: follow-up for 1e83598be3 2024-07-16 12:38:21 +02:00