VictoriaMetrics/lib
Aliaksandr Valialkin 2a190f6451
lib/{mergeset,storage}: do not block small merges by pending big merges - assist with small merges instead
Blocked small merges may result into big number of small parts, which, in turn,
may result in increased CPU and memory usage during queries, since queries need to inspect
all the existing small parts.

The issue has been introduced in 8189770c50

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3337
2022-12-12 17:01:33 -08: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 app/vminsert: allows parsing tenant id from labels (#3009) 2022-09-30 17:28:35 +03:00
awsapi lib/promscrape/discovery/ec2: expose __meta_ec2_region label in the same way as Prometheus 2.39 does 2022-09-30 20:49:08 +03:00
backup lib/backup: remove logging duplicate path values in a single error message 2022-12-03 21:55:12 -08: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: cache results for all the input strings, which were passed during the last 5 minutes from FastStringMatcher.Match(), FastStringTransformer.Transform() and InternString() 2022-12-12 14:47:00 -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 all: fix build issues and tests for Apple M1 2021-10-27 15:07:19 +03:00
encoding lib/storage: validate timestamps in the block only if they use encoding, which needs validation 2022-10-21 00:54:37 +03:00
envflag lib/envflag: small refactoring after 518c340ae3 and 02096e06d0 2022-10-29 02:29:19 +03:00
envtemplate lib/envtemplate: allow non-env var names inside "%{ ... }" 2022-11-07 13:16:00 +02: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/filestream: remove logging redundant path values in a single error message 2022-12-03 22:02:04 -08:00
flagutil app/vmagent/remotewrite: allow specifying per--remoteWrite.url disk limits for persistent queue with pending data 2022-10-01 18:41:21 +03:00
fs lib/fs: remove logging redundant path values in a single error message 2022-12-03 22:00:43 -08:00
handshake all: substitute zeroTime with time.Time{}, since this generates more optimal binary code 2022-02-07 14:36:41 +02:00
httpserver lib/httpserver: link to url format docs in error message emitted on parse error for the provided url path 2022-11-28 18:49:03 -08:00
influxutils lib/flagutil: rename Array to ArrayString 2022-10-01 18:28:19 +03:00
ingestserver lib/httpserver: extract the code responsible for initializing server-side TLS config into netutil.GetServerTLSConfig 2022-03-17 19:46:20 +02:00
leveledbytebufferpool all: make fmt via the upcoming Go1.19 2022-07-11 19:23:25 +03:00
logger lib/logger: prettify logging the defined command-line flags 2022-08-07 22:58:41 +03: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/memory: export process_memory_limit_bytes metric, which shows the amounts of memory the current process has access to 2022-04-07 15:24:08 +03:00
mergeset lib/{mergeset,storage}: do not block small merges by pending big merges - assist with small merges instead 2022-12-12 17:01:33 -08:00
metricsql all: make fmt via the upcoming Go1.19 2022-07-11 19:23:25 +03:00
netutil app/{vminsert,vmselect}/netstorage: allow calling Init()+MustStop() in a loop 2022-10-25 14:43:05 +03:00
pacelimiter lib/pacelimiter: increase scalability for multi-CPU system 2020-08-06 18:33:07 +03:00
persistentqueue lib/fs: add canOverwrite arg to WriteFileAtomically when it is allowed to overwrite the file atomically if it already exists 2022-10-26 01:08:35 +03: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/promscrape: implement target-level and metric-level relabel debugging 2022-12-10 02:25:56 -08:00
promscrape lib/promscrape: allow editing relabeling configs and labels at /target-relabel-debug page 2022-12-10 12:47:47 -08:00
promutils lib/promscrape: implement target-level and metric-level relabel debugging 2022-12-10 02:25:56 -08:00
protoparser lib/protoparser/datadog: do not re-use previously parsed field values if they are missing in the currently parsed message 2022-12-11 13:09:41 -08:00
proxy lib/promauth: add ability to send additional http headers in requests to scrape targets 2022-06-22 20:40:50 +03:00
pushmetrics lib/flagutil: rename Array to ArrayString 2022-10-01 18:28:19 +03:00
querytracer lib/querytracer: fix remaining tests after 49ebc48809 2022-12-08 18:18:50 -08:00
regexutil lib/promrelabel: there is no need in calling regex.HasPrefix() after the optimization at 17289ff481 2022-09-30 12:28:25 +03:00
snapshot all: subsitute ioutil.ReadAll with io.ReadAll 2022-08-22 00:16:04 +03:00
storage lib/{mergeset,storage}: do not block small merges by pending big merges - assist with small merges instead 2022-12-12 17:01:33 -08: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/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 Revert "lib/uint64set: allow reusing bucket16 structs inside uint64set.Set via uint64set.Release method" 2021-07-06 18:26:56 +03:00
vmselectapi {app/vmstorage,app/vmselect}: add API to get list of existing tenants (#3348) 2022-11-25 10:32:45 -08: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 fix: change thrashing typo (#2317) 2022-03-16 13:05:55 +02:00