From 8e79f2f6af7112840c9fe3ba1141a8301980eda4 Mon Sep 17 00:00:00 2001 From: AaronCasas Date: Mon, 11 Apr 2022 14:05:06 -0400 Subject: [PATCH] Print gap between collector ticks. (#710) --- data/collector.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/data/collector.go b/data/collector.go index 7b8ee1d1576..0965fdc5354 100644 --- a/data/collector.go +++ b/data/collector.go @@ -100,26 +100,32 @@ func (c *collector) Collect() error { } func (c *collector) capture() { - _, span := trace.StartSpan(c.cancelCtx, "data::collector::capture") - defer span.End() - ticker := time.NewTicker(c.interval) defer ticker.Stop() + var wg sync.WaitGroup + lastTick := time.Now() for { select { case <-c.cancelCtx.Done(): + wg.Wait() close(c.queue) return case <-ticker.C: - c.getAndPushNextReading() + currTick := time.Now() + diff := currTick.Sub(lastTick).Microseconds() + if diff > 1800 { + c.logger.Debugf("took %d microseconds between ticks", diff) + } + lastTick = currTick + wg.Add(1) + go c.getAndPushNextReading(&wg) } } } -func (c *collector) getAndPushNextReading() { - _, span := trace.StartSpan(c.cancelCtx, "data::collector::getAndPushNextReading") - defer span.End() +func (c *collector) getAndPushNextReading(wg *sync.WaitGroup) { + defer wg.Done() timeRequested := timestamppb.New(time.Now().UTC()) reading, err := c.capturer.Capture(c.cancelCtx, c.params)