Commit graph

82 commits

Author SHA1 Message Date
Nikolay
9feee15493
lib/promscrape: fixes proxy autorization (#6783)
* Adds custom dial func for HTTP-Connect and socks5 proxy tunnels.
  Standard golang http.transport exposes GetProxyConnectHeader function,
  but it doesn't allow to use separate tls config for proxy.
  It also not possible to enforce HTTP-Connect with standard http lib.
* For http scrape targets, by default http.Transport.Proxy function must
  be used. Since it has special case with full uri forward.
* Adds proxy.URL json methods that allow to properly copy internal
fields, like User/Password.
It should fix bug with proxy_url. When credentials specified at URL was
ignored.
* Adds tests for scrape client proxy requests

related issue https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6771
2024-08-19 22:31:18 +02:00
Nikolay
14ac8a09ea
make vendor-update (#6627)
make vendor-update
2024-07-10 17:14:51 +02:00
Aliaksandr Valialkin
b12864f905
vendor: run make vendor-update 2024-06-07 16:40:42 +02:00
Aliaksandr Valialkin
51de9f30fc
vendor: run make vendor-update 2024-05-12 16:17:38 +02:00
Aliaksandr Valialkin
b212c9d6f5
vendor: run make vendor-update 2024-04-04 01:34:44 +03:00
Aliaksandr Valialkin
d8688c9e82
vendor: run make vendor-update 2024-03-06 21:24:42 +02:00
Aliaksandr Valialkin
c5f9d9f0d6
vendor: run make vendor-update 2024-02-12 22:31:30 +02:00
Aliaksandr Valialkin
bc7cf4950b
lib/promscrape: use the standard net/http.Client instead of fasthttp.Client for scraping targets in non-streaming mode
While fasthttp.Client uses less CPU and RAM when scraping targets with small responses (up to 10K metrics),
it doesn't work well when scraping targets with big responses such as kube-state-metrics.
In this case it could use big amounts of additional memory comparing to net/http.Client,
since fasthttp.Client reads the full response in memory and then tries re-using the large buffer
for further scrapes.

Additionally, fasthttp.Client-based scraping had various issues with proxying, redirects
and scrape timeouts like the following ones:

- https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1945
- https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5425
- https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2794
- https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1017

This should help reducing memory usage for the case when target returns big response
and this response is scraped by fasthttp.Client at first before switching to stream parsing mode
for subsequent scrapes. Now the switch to stream parsing mode is performed on the first scrape
after reading the response body in memory and noticing that its size exceeds the value passed
to -promscrape.minResponseSizeForStreamParse command-line flag.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5567

Overrides https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4931
2024-01-30 18:39:10 +02:00
Aliaksandr Valialkin
b7fb7c5f77
vendor: run make vendor-update 2023-11-13 18:50:16 +01:00
Aliaksandr Valialkin
0b66840520
vendor: run make vendor-update 2023-10-12 11:17:53 +02:00
Aliaksandr Valialkin
cf6fc2a6b7
vendor: run make vendor-update 2023-09-07 13:01:39 +02:00
Aliaksandr Valialkin
e8bcb17c8a
vendor: run make vendor-update 2023-08-11 07:16:25 -07:00
Aliaksandr Valialkin
1df3e548c1
vendor: run make vendor-update 2023-07-07 00:04:32 -07:00
Aliaksandr Valialkin
9eb1abdefe
vendor: make vendor-update 2023-05-09 23:13:50 -07:00
Aliaksandr Valialkin
b7cce552da
vendor: make vendor-update 2023-04-10 10:20:54 -07:00
Aliaksandr Valialkin
c28c25ed2e
vendor: make vendor-update 2023-03-12 03:13:53 -07:00
Aliaksandr Valialkin
1030be91ae
vendor: make vendor-update 2023-02-18 15:36:41 -08:00
Aliaksandr Valialkin
291c41978e
vendor: make vendor-update 2023-02-09 14:48:16 -08:00
Aliaksandr Valialkin
67ab49baa9
vendor: make vendor-update 2023-01-09 21:34:34 -08:00
Aliaksandr Valialkin
19f20c0f4e
vendor: make vendor-update 2022-12-10 21:46:16 -08:00
Aliaksandr Valialkin
06758650bf
vendor: make vendor-update 2022-12-05 23:28:14 -08:00
Aliaksandr Valialkin
2bcafbef25
vendor: make vendor-update 2022-11-10 13:46:33 +02:00
Aliaksandr Valialkin
0cea525456
vendor: make vendor-update 2022-10-07 01:01:21 +03:00
Aliaksandr Valialkin
366f04001b
vendor: make vendor-update 2022-10-01 17:20:11 +03:00
Aliaksandr Valialkin
dc4b87621f
vendor: make vendor-update 2022-09-21 11:54:32 +03:00
Dmytro Kozlov
6a794ec5d5
app/{vmctl,vmalert}: update progress bar library (make vendor-update) (#3138)
* app/{vmctl,vmalert}: update progress bar library (make vendor-update)

* app/{vmctl,vmalert}: make vendor-update
2022-09-21 11:08:33 +03:00
Aliaksandr Valialkin
523ff25077
vendor: make vendor-update 2022-09-13 16:44:44 +03:00
Aliaksandr Valialkin
7c2fa1bc48
vendor: make vendor-update 2022-09-08 18:51:49 +03:00
Aliaksandr Valialkin
308f29f674
vendor: make vendor-update 2022-08-15 00:53:41 +03:00
Aliaksandr Valialkin
ebd59e17df
vendor: make vendor-update 2022-08-07 22:38:01 +03:00
Aliaksandr Valialkin
f148cffc8a
vendor: make vendor-update 2022-07-25 10:49:33 +03:00
Aliaksandr Valialkin
418f40f7fa
vendor: make vendor-update 2022-06-20 14:30:23 +03:00
Aliaksandr Valialkin
b3b6cf345a
vendor: make vendor-update 2022-06-06 13:19:34 +03:00
Aliaksandr Valialkin
31c6cfe3fb
vendor: make vendor-update 2022-05-25 21:49:12 +03:00
Aliaksandr Valialkin
d87733fe1c
vendor: make vendor-update 2022-05-20 14:45:24 +03:00
Aliaksandr Valialkin
e0195558c9
vendor: make vendor-update 2022-04-26 15:24:27 +03:00
Aliaksandr Valialkin
8d0fb4d69d
vendor: make vendor-update 2022-04-21 16:00:47 +03:00
Aliaksandr Valialkin
ea349660cf
vendor: make vendor-update 2022-04-19 11:40:41 +03:00
Aliaksandr Valialkin
a91c2a4377
vendor: make vendor-update 2022-04-12 12:51:54 +03:00
Aliaksandr Valialkin
d4f14f4879
vendor: make vendor-update 2022-04-04 13:05:04 +03:00
Aliaksandr Valialkin
3f8ab2e4be
vendor: make vendor-update 2022-03-03 18:14:56 +02:00
Aliaksandr Valialkin
7749b47d6a
vendor: make vendor-update 2021-12-20 12:07:22 +02:00
Aliaksandr Valialkin
7d58f57a52
vendor: make vendor-update 2021-12-12 18:10:09 +02:00
Aliaksandr Valialkin
9c66848c32
vendor: make vendor-update 2021-12-02 12:42:35 +02:00
Aliaksandr Valialkin
e6a0c87c7e
vendor: make vendor-update 2021-11-29 12:35:40 +02:00
Aliaksandr Valialkin
4b660a7fc9
vendor: make vendor-update 2021-11-17 13:37:42 +02:00
Aliaksandr Valialkin
09b0641ccb
vendor: make vendor-update 2021-11-14 14:06:53 +02:00
Aliaksandr Valialkin
1be4838ca0
vendor: make vendor-update 2021-11-08 12:39:57 +02:00
Aliaksandr Valialkin
28b6456f3b
vendor: make vendor-update 2021-11-01 15:59:38 +02:00
Aliaksandr Valialkin
8124f202a4
vendor: make vendor-update 2021-10-22 19:27:06 +03:00