VictoriaMetrics/lib
Aliaksandr Valialkin 4f3764b140
lib/pushmetrics: wait until the background goroutines, which push metrics, are stopped at pushmetrics.Stop()
Previously the was a race condition when the background goroutine still could try collecting metrics
from already stopped resources after returning from pushmetrics.Stop().
Now the pushmetrics.Stop() waits until the background goroutine is stopped before returning.

This is a follow-up for https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5549
and the commit fe2d9f6646 .

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5548
2024-01-16 23:44:31 +02:00
..
appmetrics all: add ability to push internal metrics to remote storage system specified via -pushmetrics.url 2022-07-21 20:15:29 +03:00
auth lib/auth: add NewTokenPossibleMultitenant() for parsing auth token, which can be multitenant 2023-08-30 15:24:38 +02:00
awsapi discover/ec2: bump API version (#3702) 2023-01-24 09:10:45 -08:00
backup vendor: run make vendor-update 2023-12-10 13:54:19 +02:00
blockcache all: remove explicit "xxhash" name when importing github.com/cespare/xxhash/v2 package 2022-06-21 20:24:28 +03:00
bloomfilter lib/promscrape: add the ability to limit the number of unique series per each scrape target 2021-09-01 16:08:12 +03:00
buildinfo all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
bytesutil lib/bytesutil/internstring.go: increase the limit on the maximum string lengths, which can be interned 2023-01-31 11:04:09 -08:00
cgroup all: use os.{Read|Write}File instead of ioutil.{Read|Write}File 2022-08-21 23:55:20 +03:00
consts app/vminsert: reduce the max packet size, which vminsert can send to vmstorage 2022-04-05 15:39:58 +03:00
decimal lib/decimal: use consistent randomizer in tests 2023-01-23 19:24:05 -08:00
encoding lib/encoding: fix test after 4725549cb2 2023-04-05 21:39:33 -07:00
envflag lib/envflag: do not allow unsupported form for boolean command-line flags in the form -boolFlag value 2023-08-17 14:17:03 +02:00
envtemplate allowed using dashes and dots in environment variables names (#4009) 2023-03-24 22:23:52 -07: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 app/vmselect/promql: follow-up for ce4f26db02 2024-01-16 22:20:42 +02:00
flagutil lib/flagutil: ArrayString: support commas inside quoted strings and inside [], {} and () braces 2023-03-28 21:26:02 -07:00
formatutil app/vmbackupmanager: add metrics for better observability (#488) 2022-12-20 14:18:43 -08:00
fs app/vmselect/promql: follow-up for ce4f26db02 2024-01-16 22:20:42 +02:00
handshake all: substitute zeroTime with time.Time{}, since this generates more optimal binary code 2022-02-07 14:36:41 +02:00
htmlcomponents app/vmselect: remove dependency on lib/promscrape from app/vmselect 2023-01-03 23:27:36 -08:00
httpserver lib/httpserver: add handler to serve /robots.txt and deny search indexing (#4143) 2023-05-08 09:52:16 -07:00
influxutils lib/flagutil: rename Array to ArrayString 2022-10-01 18:28:19 +03:00
ingestserver lib/netutil: init implimentation of proxy protocol (#3687) 2023-01-26 23:25:22 -08:00
leveledbytebufferpool all: make fmt via the upcoming Go1.19 2022-07-11 19:23:25 +03:00
logger add error handler for parsing prometheus text format to vmagent and v… (#3693) 2023-01-23 22:36:23 -08:00
lrucache all: remove explicit "xxhash" name when importing github.com/cespare/xxhash/v2 package 2022-06-21 20:24:28 +03:00
memory lib/flagutil/bytes.go: properly handle values bigger than 2GiB on 32-bit architectures 2022-12-14 19:29:57 -08:00
mergeset lib/mergeset: close and open the table before making snapshots at TestTableCreateSnapshotAt() 2023-05-16 15:42:57 -07:00
metricsql all: make fmt via the upcoming Go1.19 2022-07-11 19:23:25 +03:00
netutil app/vmauth: properly handle LOCAL proxy protocol command (#4373) 2023-06-05 11:45:49 +02:00
persistentqueue lib/persistentqueue: use the proper function call after 31945fb38d 2023-11-02 21:18:42 +01:00
procutil lib/procutil: stop immediately after receiving the second SIGINT or SIGTERM signal 2022-10-20 21:58:49 +03:00
promauth lib/{httpserver,netutil}: allow to define min and max TLS version of the http server (#3109) 2022-09-26 17:38:43 +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 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: properly replace : char with _ in metric names when -usePromCompatibleNaming command-line flag is set 2023-08-17 13:54:59 +02:00
promscrape lib/promscrape: use local scrape timestamp for scraped metrics unless honor_timestamps: true is set explicitly 2023-08-12 13:48:02 -07:00
promutils lib/promutils: properly return error when incorrect Prometheus label names are passed to NewLabelsFromString() 2023-05-12 17:04:18 -07:00
protoparser lib/protoparser: handle unexpected EOF error when parsing lines in prometheus exposition format (#4851) 2023-08-28 09:40:27 +02:00
proxy lib/proxy: consistently use gopkg.in/yaml.v2 across all the code 2023-09-01 11:30:11 +02:00
pushmetrics lib/pushmetrics: wait until the background goroutines, which push metrics, are stopped at pushmetrics.Stop() 2024-01-16 23:44:31 +02:00
querytracer lib/querytracer: makes package concurrent safe to use (#5322) 2023-11-14 21:01:53 +01:00
regexutil lib/regexutil: properly handle alternate regexps surrounded by .+ or .* 2023-11-13 18:29:42 +01:00
snapshot Makefile: update golangci-lint version from v1.54.2 to v1.55.1 2023-12-08 18:30:23 +02:00
storage lib/storage: follow-up for 4b8088e377 2024-01-16 22:46:35 +02:00
streamaggr lib/streamaggr: remove accidentally left logger.Errorf() call after d655d6b047 2023-04-06 14:58:04 -07:00
syncwg all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
tenantmetrics app/vminsert: allows parsing tenant id from labels (#3009) 2022-09-30 17:28:35 +03:00
timerpool lib/timerpool: use timer pool in concurrency limiters 2019-05-28 17:30:10 +03:00
uint64set app/all: follow-up after 84d710beab 2024-01-16 23:43:40 +02:00
vmselectapi lib/vmselectapi: do not send empty label names for labelNames request (#4936) 2023-09-01 23:30:23 +02:00
workingsetcache lib/workingsetcache: expose -cacheExpireDuration command-line flag for fine-tuning of the cache expiration 2022-11-17 21:55:11 +02:00
writeconcurrencylimiter lib/writeconcurrencylimiter: initialize concurrencyLimitCh before exporting vm_concurrent_insert_capacity and vm_concurrent_insert_current metrics 2023-02-07 11:08:39 -08:00