VictoriaMetrics/lib/storage
Aliaksandr Valialkin f5cb213ef9 lib/storage: reuse timestamp blocks for adjancent metric blocks with identical timestamps
This should reduce disk space usage when scraping targets containing metrics with identical names
such as `node_cpu_seconds_total`, histograms, quantiles, etc.

Expose `vm_timestamps_blocks_merged_total` and `vm_timestamps_bytes_saved_total` metrics for monitoring
the effectiveness of timestamp blocks merging.
2020-09-09 23:59:21 +03:00
..
block.go all: properly split vm_deduplicated_samples_total among cluster components 2020-02-27 23:47:51 +02:00
block_header.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
block_header_test.go all: open-sourcing cluster version 2019-05-23 00:25:38 +03:00
block_stream_merger.go 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
block_stream_reader.go lib/storage: reuse timestamp blocks for adjancent metric blocks with identical timestamps 2020-09-09 23:59:21 +03:00
block_stream_reader_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
block_stream_reader_timing_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
block_stream_writer.go lib/storage: reuse timestamp blocks for adjancent metric blocks with identical timestamps 2020-09-09 23:59:21 +03:00
block_stream_writer_timing_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
dedup.go lib/storage/dedup.go: go fmt 2020-04-26 14:37:36 +03:00
dedup_test.go lib/storage: improve deduplication algorithm 2020-04-26 13:10:18 +03:00
dedup_timing_test.go lib/storage: improve deduplication algorithm 2020-04-26 13:10:18 +03:00
index_db.go lib/storage: properly check timeouts and pace limits 2020-08-07 08:40:56 +03:00
index_db_test.go lib/storage: slightly reduce code difference between single-node and cluster versions 2020-07-24 01:18:05 +03:00
index_db_timing_test.go lib/storage: slightly reduce code difference between single-node and cluster versions 2020-07-24 01:18:05 +03:00
inmemory_part.go lib: extract common code for returning fast unix timestamp into lib/fasttime 2020-05-14 23:06:50 +03:00
inmemory_part_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
inmemory_part_timing_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
merge.go 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
merge_test.go 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
merge_timing_test.go 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
metaindex_row.go lib/storage: metaindexRow use memroy more efficiently (#655) 2020-07-27 23:23:25 +03:00
metaindex_row_test.go all: open-sourcing cluster version 2019-05-23 00:25:38 +03:00
metric_name.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
metric_name_test.go lib/storage: pass pointer to MetricName in Fatalf, so it is properly detected as an interface with String() method 2019-11-04 01:06:45 +02:00
part.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
part_header.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
part_header_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
part_search.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
part_search_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
partition.go lib/storage: reduce the maximum number of concurrent merge workers to GOMAXPROCS/2 2020-07-31 17:53:13 +03:00
partition_search.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
partition_search_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
partition_test.go lib/{mergeset,storage}: fix uint64 counters alignment for 32-bit architectures (GOARCH=386, GOARCH=arm) 2020-01-14 22:47:42 +02:00
raw_block.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
raw_row.go lib/storage: optimize TSID comparison 2019-09-26 14:20:02 +03:00
search.go lib/storage: mention time range used in the query that led to error message 2020-08-10 13:46:29 +03:00
search_test.go lib/storage: respect -search.maxQueryDuration when searching for time series in inverted index 2020-07-23 21:22:05 +03:00
storage.go lib/storage: reuse timestamp blocks for adjancent metric blocks with identical timestamps 2020-09-09 23:59:21 +03:00
storage_test.go lib/storage: respect -search.maxQueryDuration when searching for time series in inverted index 2020-07-23 21:22:05 +03:00
storage_timing_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
table.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
table_search.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
table_search_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
table_search_timing_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
table_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
table_timing_test.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
tag_filters.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
tag_filters_test.go lib/storage: add key!=".+" filter additionally to negative filter matching empty value such as key!~"|foo" 2020-06-18 20:05:45 +03:00
tag_filters_timing_test.go lib/storage: add a benchmark for Graphite-like regexps for metric names 2020-05-11 22:49:00 +03:00
time.go all: use %w instead of %s for wrapping errors in fmt.Errorf 2020-06-30 23:33:46 +03:00
time_test.go all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
tsid.go lib/storage: optimize TSID comparison 2019-09-26 14:20:02 +03:00
tsid_test.go all: open-sourcing cluster version 2019-05-23 00:25:38 +03:00