VictoriaMetrics/lib
Aliaksandr Valialkin d5622b32e2 lib/promscrape: reduce memory and CPU usage when Prometheus staleness tracking is enabled for metrics from deleted / disappeared scrape targets
Store the scraped response body instead of storing the parsed and relabeld metrics.
This should reduce memory usage, since the response body takes less memory than the parsed and relabeled metrics.
This is especially true for Kubernetes service discovery, which adds many long labels for all the scraped metrics.

This should also reduce CPU usage, since the marshaling of the parsed
and relabeld metrics has been substituted by response body copying.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1526
2021-08-21 21:17:26 +03:00
..
auth app/vmagent: follow-up after fe445f753b 2021-08-05 09:52:32 +03:00
backup adds check for region with custom s3 endpoint (#1465) 2021-07-27 12:35:38 +03:00
bloomfilter lib/bloomfilter: fix TestLimiterConcurrent 2021-05-24 05:17:36 +03:00
buildinfo all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
bytesutil Perform conversion from string to []byte according to rule #6 at https://golang.org/pkg/unsafe/#Pointer 2020-08-05 11:55:58 +03:00
cgroup lib/cgroup: set GOGC to 50 by default if it isn't set 2021-07-05 15:16:11 +03:00
decimal all: add support for Prometheus staleness markers 2021-08-13 12:10:17 +03:00
encoding all: add go:build lines for Go1.17 2021-07-26 15:48:21 +03:00
envflag lib/envflag: add a link to docs for -envflag.enable 2021-08-11 10:29:33 +03:00
envtemplate all: support %{ENV_VAR} placeholders in yaml configs in all the vm* components 2020-08-13 17:15:25 +03:00
fastnum Makefile: add build and test rules with enabled race detector. These rules have -race suffix 2020-03-05 12:03:38 +02:00
fasttime lib: extract common code for returning fast unix timestamp into lib/fasttime 2020-05-14 23:02:07 +03:00
filestream fixes solaris build (#1345) 2021-05-31 09:21:23 +03:00
flagutil improve docs for cli flags (#1202) 2021-04-12 12:28:04 +03:00
fs all: add go:build lines for Go1.17 2021-07-26 15:48:21 +03:00
httpserver app/vmagent: follow-up after fe445f753b 2021-08-05 09:52:32 +03:00
influxutils lib/influxutils: return response compatible with InfluxDB 1.8.4 2021-03-15 22:19:59 +02:00
ingestserver lib/httpserver: print full requestURI in httpserver.Errorf 2021-07-07 13:09:40 +03:00
leveledbytebufferpool lib/promscrape: an attempt to reduce memory usage when vmagent scrapes targets with varying number of metrics 2021-03-15 11:45:39 +02:00
logger all: add go:build lines for Go1.17 2021-07-26 15:48:21 +03:00
memory all: add go:build lines for Go1.17 2021-07-26 15:48:21 +03:00
mergeset lib/storage: reset perKeyMisses stats less frequently 2021-07-12 14:33:42 +03:00
metricsql lib/metricsql: move it to a separate repository - github.com/VictoriaMetrics/metrics 2020-04-28 15:28:22 +03:00
netutil lib/netutil: enable IPv6 UDP listening if -enableTCP6 command-line flag is passed to VictoriaMetrics 2021-03-17 00:16:17 +02:00
pacelimiter lib/pacelimiter: increase scalability for multi-CPU system 2020-08-06 18:32:59 +03:00
persistentqueue all: add support for Prometheus staleness markers 2021-08-13 12:10:17 +03:00
procutil all: add go:build lines for Go1.17 2021-07-26 15:48:21 +03:00
promauth lib/promauth: cache the client TLS certificate for up to a second 2021-07-02 13:21:51 +03:00
prompb app/vminsert: moved -maxInsertRequestSize command-line flag out of lib/prompb in order to prevent its inclusion in vmselect and vmstorage apps 2020-01-28 23:02:08 +02:00
prompbmarshal all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:05:11 +03:00
promrelabel lib/promrelabel: add tests for verifying that regex works as expected in single quotes and double quotes 2021-07-27 10:50:55 +03:00
promscrape lib/promscrape: reduce memory and CPU usage when Prometheus staleness tracking is enabled for metrics from deleted / disappeared scrape targets 2021-08-21 21:17:26 +03:00
protoparser lib/protoparser: stop reading the input stream as soon as the callback provided by the caller returns error 2021-06-14 15:18:49 +03:00
proxy lib/promscrape: reload auth tokens from files every second 2021-05-14 20:00:08 +03:00
storage all: add support for Prometheus staleness markers 2021-08-13 12:10:17 +03:00
storagepacelimiter lib/storage: remove prioritizing of merging small parts over merging big parts, since it doesn't work as expected 2020-07-30 19:57:27 +03:00
syncwg all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
tenantmetrics app/vmagent: follow-up after fe445f753b 2021-08-05 09:52:32 +03:00
timerpool lib/timerpool: use timer pool in concurrency limiters 2019-05-28 17:20:10 +03:00
uint64set Revert "lib/uint64set: allow reusing bucket16 structs inside uint64set.Set via uint64set.Release method" 2021-07-06 18:21:35 +03:00
workingsetcache lib/workingsetcache: switch from split cache to full cache after the cache size exceeds 95% of split capacity 2021-07-15 16:12:04 +03:00
writeconcurrencylimiter all: properly handle CPU limits set on the host system/container 2020-12-08 21:07:29 +02:00