Commit graph

199 commits

Author SHA1 Message Date
Nikolay
bb399518db
app/vmselect: properly return binary pow function result (#7619)
Previously, for `^` aka pow function calls, VictoriaMetrics returned `1`
if left arg was Nan. For example, given query=`(hour()==2)^1` returns 1
for NaN produced by hour() == 2 function. It added additional non-exist
datapoints to the timeseries.

This commit port bugfix from `metricql` package and adds test for it.
Now, VictoriaMetrics
correctly returns `NaN` for such cases.

Related issue:
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/7359

Signed-off-by: f41gh7 <nik@victoriametrics.com>
2024-11-21 15:16:28 +01:00
Aliaksandr Valialkin
630211cfed
app/vlogscli: add interactive command-line tool for querying VictoriaLogs 2024-10-01 12:23:07 +02:00
Aliaksandr Valialkin
c6faab77f9
vendor: run make vendor-update 2024-09-08 21:05:06 +02:00
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
Aliaksandr Valialkin
66a34acc3a
vendor: run make vendor-update 2024-07-17 20:47:20 +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
7c0003d8a4
vendor: run make vendor-update 2024-04-11 09:46:22 +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
a304372d88
vendor: run make vendor-update 2024-03-01 00:55:47 +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
1a6c3370bf
vendor: run make vendor-update 2024-01-26 22:56:37 +01:00
Aliaksandr Valialkin
6eae3f6c8a
vendor: run make vendor-update 2024-01-16 16:57:30 +02:00
Aliaksandr Valialkin
51df2248f0
vendor: run make vendor-update 2023-12-11 10:48:36 +02:00
Aliaksandr Valialkin
8eddccfbb4
all: expose additional metrics for simplifying debugging of VictoriaMetrics components
Updates https://github.com/VictoriaMetrics/metrics/issues/54
2023-11-30 02:06:54 +02:00
Aliaksandr Valialkin
e9d86d7e52
vendor: run make vendor-update 2023-11-16 20:20:27 +01: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
3151adda2a
vendor: return back the latest version of golang.org/x/exp/slices, which works correctly with github.com/prometheus/prometheus/model/labels 2023-09-07 13:01:39 +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
4cd1497ac1
vendor: run make vendor-update 2023-07-26 15:05:15 -07:00
Aliaksandr Valialkin
bf17424245
vendor: make vendor-update 2023-07-18 16:13:52 -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
c9d2934bb4
vendor: make vendor-update 2023-02-08 08:55:14 -08:00
Aliaksandr Valialkin
094ae82df5
vendor: make vendor-update 2023-01-15 14:16:34 -08:00
Aliaksandr Valialkin
67ab49baa9
vendor: make vendor-update 2023-01-09 21:34:34 -08:00
Aliaksandr Valialkin
9a0308ab32
vendor: make vendor-update 2022-12-19 13:08:13 -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
e509552e92
vendor: make vendor-update 2022-12-05 01:01:57 -08:00
Aliaksandr Valialkin
c7ce4979ec
all: follow-up after 05cf8a6ecc 2022-11-29 21:03:59 -08:00
Dmytro Kozlov
05cf8a6ecc
vmctl: support of the remote read protocol (#3232)
vmctl: support of the remote read protocol

Signed-off-by: hagen1778 <roman@victoriametrics.com>
Co-authored-by: hagen1778 <roman@victoriametrics.com>
2022-11-29 22:53:28 +01:00
Aliaksandr Valialkin
2bcafbef25
vendor: make vendor-update 2022-11-10 13:46:33 +02:00
Aliaksandr Valialkin
b4f7243110
vendor: make vendor-update 2022-10-18 10:56:38 +03:00
Aliaksandr Valialkin
2b2c58ecf8
vendor: make vendor-update 2022-10-14 15:16:03 +03:00
Aliaksandr Valialkin
b7887c426b
vendor: make vendor-update 2022-10-10 22:03:45 +03: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
310d0caec2
vendor: make vendor-update 2022-09-19 15:12:22 +03:00