mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
af3922b1df
* lib/storage: add ability to use downsampling for the given series filter Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * docs: add information about downsampling filters Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * docs: fix MetricsQL filter Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * lib/storage/downsampling: treat missing downsampling filter as a bug Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * lib/storage/part_header: verify correctness of downsampling filters when opening partition Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * lib/storage/downsampling: save only appliable rules in part metadata Filter and save only rules which are appliable to partition based on MinTimestamp of stored data. Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * lib/storage/downsampling: update log messages for final dedup Properly specify a reason of re-running deduplication for partition. Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * lib/storage: consistently use MaxTimestamp to determine deduplication/downsampling rules Using MinTimestamp leads to applying downsampling to parts which are only partially covered by downsampling rule. For example, partition covers range [1000-2000]. At t=2100 and rule offset 500 data with t=2100-500 => 1600 must be downsampled. The range check against MinTimestamp evaluates to true even though partition contains range which must not be downsampled - [1600:2000]. Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> * Follow-up - Apply the first matching downsampling period if multiple filters match the given time series. This allows fine-tuning the downsampling config for the specific needs. - Take into account downsampling filters during search queries. - Reduce the difference between community and enterprise branches. This should simplify further maintenance of these branches. - Properly parse series filters with colons inside them. - Document the feature at docs/CHANGELOG.md. Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4960 --------- Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com> |
||
---|---|---|
.. | ||
block.go | ||
block_header.go | ||
block_header_test.go | ||
block_stream_merger.go | ||
block_stream_reader.go | ||
block_stream_reader_test.go | ||
block_stream_reader_timing_test.go | ||
block_stream_writer.go | ||
block_stream_writer_timing_test.go | ||
block_test.go | ||
dedup.go | ||
dedup_test.go | ||
dedup_timing_test.go | ||
filenames.go | ||
index_db.go | ||
index_db_test.go | ||
index_db_timing_test.go | ||
inmemory_part.go | ||
inmemory_part_test.go | ||
inmemory_part_timing_test.go | ||
merge.go | ||
merge_test.go | ||
merge_timing_test.go | ||
metaindex_row.go | ||
metaindex_row_test.go | ||
metric_name.go | ||
metric_name_test.go | ||
part.go | ||
part_header.go | ||
part_search.go | ||
part_search_test.go | ||
part_search_timing_test.go | ||
partition.go | ||
partition_search.go | ||
partition_search_test.go | ||
partition_test.go | ||
raw_block.go | ||
raw_row.go | ||
search.go | ||
search_test.go | ||
storage.go | ||
storage_test.go | ||
storage_timing_test.go | ||
table.go | ||
table_search.go | ||
table_search_test.go | ||
table_search_timing_test.go | ||
table_test.go | ||
table_timing_test.go | ||
tag_filters.go | ||
tag_filters_test.go | ||
tag_filters_timing_test.go | ||
time.go | ||
time_test.go | ||
tsid.go | ||
tsid_test.go |