VictoriaMetrics/lib
Aliaksandr Valialkin 8189770c50
all: add -inmemoryDataFlushInterval command-line flag for controlling the frequency of saving in-memory data to disk
The main purpose of this command-line flag is to increase the lifetime of low-end flash storage
with the limited number of write operations it can perform. Such flash storage is usually
installed on Raspberry PI or similar appliances.

For example, `-inmemoryDataFlushInterval=1h` reduces the frequency of disk write operations
to up to once per hour if the ingested one-hour worth of data fits the limit for in-memory data.

The in-memory data is searchable in the same way as the data stored on disk.
VictoriaMetrics automatically flushes the in-memory data to disk on graceful shutdown via SIGINT signal.
The in-memory data is lost on unclean shutdown (hardware power loss, OOM crash, SIGKILL).

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3337
2022-12-05 15:16:14 -08:00
..
appmetrics all: add ability to push internal metrics to remote storage system specified via -pushmetrics.url 2022-07-21 20:36:27 +03:00
auth app/vminsert: allows parsing tenant id from labels (#3009) 2022-09-30 18:35:53 +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:48:32 +03:00
backup lib/backup: remove logging duplicate path values in a single error message 2022-12-03 21:55:06 -08:00
blockcache all: remove explicit "xxhash" name when importing github.com/cespare/xxhash/v2 package 2022-06-21 20:23:32 +03:00
bloomfilter lib/promscrape: add the ability to limit the number of unique series per each scrape target 2021-09-01 16:03:59 +03:00
buildinfo
bytesutil lib/promscrape: optimize service discovery speed 2022-11-29 21:26:00 -08:00
cgroup all: use os.{Read|Write}File instead of ioutil.{Read|Write}File 2022-08-21 23:52:35 +03:00
decimal all: fix build issues and tests for Apple M1 2021-10-27 15:06:34 +03:00
encoding lib/storage: validate timestamps in the block only if they use encoding, which needs validation 2022-10-21 00:52:32 +03:00
envflag lib/envflag: small refactoring after 518c340ae3 and 02096e06d0 2022-10-29 02:28:58 +03:00
envtemplate lib/envtemplate: allow non-env var names inside "%{ ... }" 2022-11-07 13:58:27 +02:00
fastnum
fasttime
filestream lib/filestream: remove logging redundant path values in a single error message 2022-12-03 22:01:51 -08:00
flagutil app/vmagent/remotewrite: allow specifying per--remoteWrite.url disk limits for persistent queue with pending data 2022-10-01 18:40:59 +03:00
fs lib/fs: remove logging redundant path values in a single error message 2022-12-03 22:00:20 -08:00
httpserver lib/flagutil: rename Array to ArrayString 2022-10-01 18:26:36 +03:00
influxutils lib/flagutil: rename Array to ArrayString 2022-10-01 18:26:36 +03:00
ingestserver lib/httpserver: move the code, which creates tls.Config, into lib/netutil/tls.go 2022-04-16 15:52:36 +03:00
leveledbytebufferpool all: make fmt via the upcoming Go1.19 2022-07-11 19:22:15 +03:00
logger lib/logger: prettify logging the defined command-line flags 2022-08-07 22:58:29 +03:00
lrucache all: remove explicit "xxhash" name when importing github.com/cespare/xxhash/v2 package 2022-06-21 20:23:32 +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:23:00 +03:00
mergeset all: add -inmemoryDataFlushInterval command-line flag for controlling the frequency of saving in-memory data to disk 2022-12-05 15:16:14 -08:00
metricsql all: make fmt via the upcoming Go1.19 2022-07-11 19:22:15 +03:00
netutil app/{vminsert,vmselect}/netstorage: allow calling Init()+MustStop() in a loop 2022-10-25 17:47:17 +03:00
pacelimiter
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:07:34 +03:00
procutil lib/procutil: stop immediately after receiving the second SIGINT or SIGTERM signal 2022-10-20 21:40:20 +03:00
promauth lib/{httpserver,netutil}: allow to define min and max TLS version of the http server (#3109) 2022-09-26 17:35:45 +03:00
prompb
prompbmarshal
promrelabel all: typo fix: the the -> the 2022-12-03 21:53:01 -08:00
promscrape all: typo fix: the the -> the 2022-12-03 21:53:01 -08:00
promutils lib/promscrape: optimize service discovery speed 2022-11-29 21:26:00 -08:00
protoparser app/{vminsert,vmagent}: follow-up after 53a63c6c4c 2022-11-25 16:48:14 -08:00
proxy lib/promauth: add ability to send additional http headers in requests to scrape targets 2022-06-22 20:39:43 +03:00
pushmetrics lib/flagutil: rename Array to ArrayString 2022-10-01 18:26:36 +03:00
querytracer lib/querytracer: fix comment (#3135) 2022-09-22 19:19:48 +03:00
regexutil lib/promrelabel: there is no need in calling regex.HasPrefix() after the optimization at 17289ff481 2022-09-30 10:49:18 +03:00
snapshot all: subsitute ioutil.ReadAll with io.ReadAll 2022-08-22 00:16:37 +03:00
storage all: add -inmemoryDataFlushInterval command-line flag for controlling the frequency of saving in-memory data to disk 2022-12-05 15:16:14 -08:00
storagepacelimiter
syncwg
tenantmetrics app/vminsert: allows parsing tenant id from labels (#3009) 2022-09-30 18:35:53 +03:00
timerpool
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: expose -cacheExpireDuration command-line flag for fine-tuning of the cache expiration 2022-11-17 19:59:13 +02:00
writeconcurrencylimiter fix: change thrashing typo (#2317) 2022-03-15 07:05:52 +00:00