chore: Add new field to "stats-report" log line in bloom gateway (#14446)

This new field reports how many blocks have been processed in total in the multiplexed request.

Signed-off-by: Christian Haudum <christian.haudum@gmail.com>
pull/12823/head^2
Christian Haudum 1 year ago committed by GitHub
parent adc75389a3
commit fc8250bfed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      pkg/bloomgateway/processor.go
  2. 12
      pkg/bloomgateway/stats.go

@ -83,6 +83,7 @@ func (p *processor) processTasksForDay(ctx context.Context, _ string, _ config.D
for _, t := range tasks { for _, t := range tasks {
FromContext(t.ctx).AddBlocksFetchTime(duration) FromContext(t.ctx).AddBlocksFetchTime(duration)
FromContext(t.ctx).AddProcessedBlocksTotal(len(tasksByBlock))
} }
if err != nil { if err != nil {

@ -16,7 +16,8 @@ type Stats struct {
MetasFetchTime, BlocksFetchTime *atomic.Duration MetasFetchTime, BlocksFetchTime *atomic.Duration
ProcessingTime, TotalProcessingTime *atomic.Duration ProcessingTime, TotalProcessingTime *atomic.Duration
PostProcessingTime *atomic.Duration PostProcessingTime *atomic.Duration
ProcessedBlocks *atomic.Int32 ProcessedBlocks *atomic.Int32 // blocks processed for this specific request
ProcessedBlocksTotal *atomic.Int32 // blocks processed for multiplexed request
} }
type statsKey int type statsKey int
@ -28,6 +29,7 @@ func ContextWithEmptyStats(ctx context.Context) (*Stats, context.Context) {
stats := &Stats{ stats := &Stats{
Status: "unknown", Status: "unknown",
ProcessedBlocks: atomic.NewInt32(0), ProcessedBlocks: atomic.NewInt32(0),
ProcessedBlocksTotal: atomic.NewInt32(0),
QueueTime: atomic.NewDuration(0), QueueTime: atomic.NewDuration(0),
MetasFetchTime: atomic.NewDuration(0), MetasFetchTime: atomic.NewDuration(0),
BlocksFetchTime: atomic.NewDuration(0), BlocksFetchTime: atomic.NewDuration(0),
@ -72,6 +74,7 @@ func (s *Stats) KVArgs() []any {
"tasks", s.NumTasks, "tasks", s.NumTasks,
"matchers", s.NumMatchers, "matchers", s.NumMatchers,
"blocks_processed", s.ProcessedBlocks.Load(), "blocks_processed", s.ProcessedBlocks.Load(),
"blocks_processed_total", s.ProcessedBlocksTotal.Load(),
"series_requested", s.SeriesRequested, "series_requested", s.SeriesRequested,
"series_filtered", s.SeriesFiltered, "series_filtered", s.SeriesFiltered,
"chunks_requested", s.ChunksRequested, "chunks_requested", s.ChunksRequested,
@ -135,3 +138,10 @@ func (s *Stats) IncProcessedBlocks() {
} }
s.ProcessedBlocks.Inc() s.ProcessedBlocks.Inc()
} }
func (s *Stats) AddProcessedBlocksTotal(delta int) {
if s == nil {
return
}
s.ProcessedBlocksTotal.Add(int32(delta))
}

Loading…
Cancel
Save