From c7d89662a153cca35fcfd9c57ff64646dd2bb91c Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Wed, 7 Sep 2016 18:32:35 +0200 Subject: [PATCH] metrics: do not run bloom fillrate collector when metrics are inactive License: MIT Signed-off-by: Jakub Sztandera --- blocks/blockstore/bloom_cache.go | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/blocks/blockstore/bloom_cache.go b/blocks/blockstore/bloom_cache.go index 1f54e5482..9607561cb 100644 --- a/blocks/blockstore/bloom_cache.go +++ b/blocks/blockstore/bloom_cache.go @@ -25,24 +25,26 @@ func bloomCached(bs Blockstore, ctx context.Context, bloomSize, hashCount int) ( bc.total = metrics.NewCtx(ctx, "bloom_total", "Total number of requests to bloom cache").Counter() - fill := metrics.NewCtx(ctx, "bloom_fill_ratio", - "Ratio of bloom filter fullnes, (updated once a minute)").Gauge() - bc.Invalidate() go bc.Rebuild(ctx) - go func() { - <-bc.rebuildChan - t := time.NewTicker(1 * time.Minute) - for { - select { - case <-ctx.Done(): - t.Stop() - return - case <-t.C: - fill.Set(bc.bloom.FillRatio()) + if metrics.Active() { + go func() { + fill := metrics.NewCtx(ctx, "bloom_fill_ratio", + "Ratio of bloom filter fullnes, (updated once a minute)").Gauge() + + <-bc.rebuildChan + t := time.NewTicker(1 * time.Minute) + for { + select { + case <-ctx.Done(): + t.Stop() + return + case <-t.C: + fill.Set(bc.bloom.FillRatio()) + } } - } - }() + }() + } return bc, nil }