VictoriaMetrics/lib
Aliaksandr Valialkin c04505e585 lib/promscrape/discovery/kubernetes: reduce memory usage further when big number of scrape jobs are configured for the same kubernetes_sd_config role
Serialize reloading per-role objects, so they don't occupy too much memory when objects for many scrape jobs are simultaneously refreshed.
Do not reload per-role objects if they were already refreshed by concurrent goroutines. This should reduce load on Kubernetes API server
when big number of scrape jobs are configured for the same Kubernetes role.

This is a follow-up for 17b87725ed

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1113
2021-03-07 20:03:22 +02:00
..
auth all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
backup lib/backup: increase backup chunk size from 128MB to 1GB 2021-01-13 12:16:39 +02: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:12 +03:00
cgroup lib/cgroup: follow-up after b9bf3cbe3e 2021-02-08 16:01:26 +02:00
consts all: open-sourcing cluster version 2019-05-23 00:25:38 +03:00
decimal lib/decimal: prevent exponent overflow when processing values close to zero 2021-03-05 18:53:41 +02:00
encoding lib: dump compressed block contents on error during decompression 2020-08-15 14:51:14 +03:00
envflag lib/envflag: add -envflag.prefix for setting optional prefix for environment vars 2020-03-30 15:51:44 +03:00
envtemplate all: support %{ENV_VAR} placeholders in yaml configs in all the vm* components 2020-08-13 17:17:06 +03:00
fastnum Makefile: add build and test rules with enabled race detector. These rules have -race suffix 2020-03-05 12:05:16 +02:00
fasttime lib: extract common code for returning fast unix timestamp into lib/fasttime 2020-05-14 23:06:50 +03:00
filestream lib/{fs,filestream}: small consistency-related updates after cc90a548b1 2020-09-29 00:43:20 +03:00
flagutil lib/flagutil: prevent from integer overflow when parsing duration 2021-02-15 15:11:15 +02:00
fs lib/fs: follow-up after f3a03c4164 2021-02-27 01:09:37 +02:00
handshake lib/handshake: log read/write operation duration on connection errors 2021-03-02 21:20:20 +02:00
httpserver lib/httpserver: make make errcheck happy after the commit 9fc7726d84 2021-03-01 00:35:30 +02:00
ingestserver all: properly handle CPU limits set on the host system/container 2020-12-08 21:07:03 +02:00
leveledbytebufferpool lib/{promscrape,leveledbytebufferpool}: rename getPoolIdAndCapacity to getPoolIDAndCapacity in order to make golint happy 2020-08-28 09:49:22 +03:00
logger lib/logger: explicitly import "time/tzdata" package for embedding tzdata into the app 2021-02-15 01:00:30 +02:00
memory lib/memory: do not print trailing zeroes in logs for -memory.allowedPercent command-line flag 2020-10-20 14:42:37 +03:00
mergeset lib/mergeset: reduce memory usage for inmemoryBlock by using more compact items representation 2021-02-21 22:09:10 +02:00
metricsql lib/metricsql: move it to a separate repository - github.com/VictoriaMetrics/metrics 2020-04-28 15:30:06 +03:00
netutil lib/promscrape: code prettifying for 8dd03ecf19 2020-12-24 10:57:20 +02:00
pacelimiter lib/pacelimiter: increase scalability for multi-CPU system 2020-08-06 18:33:07 +03:00
persistentqueue app/vmagent: properly perform graceful shutdown, which was broken in the commit 1d1ba889fe 2021-02-19 00:34:17 +02:00
procutil Adds windows build (#1040) 2021-02-27 01:06:22 +02:00
promauth Add omitempty for DisableCompression and DisableKeepAlive fields in ScrapeConfig (#796) 2020-11-13 16:17:03 +02: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 22:53:50 +02:00
prompbmarshal all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
promrelabel lib/promrelabel: remove unneded optimizations for labeldrop and labelkeep actions 2021-03-02 18:01:08 +02:00
promscrape lib/promscrape/discovery/kubernetes: reduce memory usage further when big number of scrape jobs are configured for the same kubernetes_sd_config role 2021-03-07 20:03:22 +02:00
protoparser lib/promscrape/discovery/ec2: follow-up after f6114345de 2021-03-02 13:47:35 +02:00
proxy all: use net.Dial instead of fasthttp.Dial, because fasthttp.Dial limits the number of concurrent dials to 1000 2021-01-11 12:52:51 +02:00
storage lib/storage: typo fix: umarshal -> unmarshal 2021-03-02 20:48:44 +02:00
storagepacelimiter lib/storage: remove prioritizing of merging small parts over merging big parts, since it doesn't work as expected 2020-07-30 20:02:22 +03:00
syncwg all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
tenantmetrics app/vmselect: export per-tenant stats on the number of requests and the cumulative request duration 2021-02-16 23:30:29 +02:00
timerpool lib/timerpool: use timer pool in concurrency limiters 2019-05-28 17:30:10 +03:00
uint64set lib/uint64set: remove memory allocation in bucket16.appendTo when sorting smallPool 2021-02-16 15:31:59 +02:00
workingsetcache all: properly handle CPU limits set on the host system/container 2020-12-08 21:07:03 +02:00
writeconcurrencylimiter all: properly handle CPU limits set on the host system/container 2020-12-08 21:07:03 +02:00