mirror of
https://github.com/prometheus/prometheus
synced 2024-12-24 07:23:02 +00:00
60804c5a09
* Refactor: pass segment-reading function as param To allow a different implementation to be used when garbage-collecting. Signed-off-by: Bryan Boreham <bjboreham@gmail.com> * remote_write: reduce blocking from GC of series Add a method `UpdateSeriesSegment()` which is used together with `SeriesReset()` to garbage-collect old series. This allows us to split the lock around queueManager series data and avoid blocking `Append()` while reading series from the last checkpoint. Signed-off-by: Bryan Boreham <bjboreham@gmail.com> * Cosmetic: review feedback on comments Signed-off-by: Bryan Boreham <bjboreham@gmail.com> * remote-write benchmark: include GC of series Reduce the total number of samples per iteration from 5000*5000 (25 million) which is too big for my laptop, to 1*10000. Extend `createTimeseries()` to add additional labels, so that the queue manager is doing more realistic work. Move the Append() call to a background goroutine - this works because TestWriteClient uses a WaitGroup to signal completion. Call `StoreSeries()` and `SeriesReset()` while adding samples, to simulate the garbage-collection that wal.Watcher does. Signed-off-by: Bryan Boreham <bjboreham@gmail.com> * Change BenchmarkSampleDelivery to call UpdateSeriesSegment This matches what Watcher.garbageCollectSeries() is doing now Signed-off-by: Bryan Boreham <bjboreham@gmail.com> |
||
---|---|---|
.. | ||
chunked_test.go | ||
chunked.go | ||
client_test.go | ||
client.go | ||
codec_test.go | ||
codec.go | ||
ewma.go | ||
intern_test.go | ||
intern.go | ||
max_timestamp.go | ||
metadata_watcher_test.go | ||
metadata_watcher.go | ||
queue_manager_test.go | ||
queue_manager.go | ||
read_handler_test.go | ||
read_handler.go | ||
read_test.go | ||
read.go | ||
sigv4_test.go | ||
sigv4.go | ||
storage_test.go | ||
storage.go | ||
write_handler_test.go | ||
write_handler.go | ||
write_test.go | ||
write.go |