From 8b73d649b16e1b0c1be553952442144459cc7a4a Mon Sep 17 00:00:00 2001 From: fld-opensource Date: Thu, 8 Apr 2021 13:00:30 +0200 Subject: [PATCH] Make sure we don't try to count metrics if scraper returns an error (#2708) --- receiver/scraperhelper/scraper.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/receiver/scraperhelper/scraper.go b/receiver/scraperhelper/scraper.go index 15c4eec63af..ba58b547126 100644 --- a/receiver/scraperhelper/scraper.go +++ b/receiver/scraperhelper/scraper.go @@ -116,7 +116,11 @@ func (ms metricsScraper) Scrape(ctx context.Context, receiverName string) (pdata ctx = obsreport.ScraperContext(ctx, receiverName, ms.Name()) ctx = obsreport.StartMetricsScrapeOp(ctx, receiverName, ms.Name()) metrics, err := ms.ScrapeMetrics(ctx) - obsreport.EndMetricsScrapeOp(ctx, metrics.Len(), err) + count := 0 + if err == nil { + count = metrics.Len() + } + obsreport.EndMetricsScrapeOp(ctx, count, err) return metrics, err } @@ -155,7 +159,11 @@ func (rms resourceMetricsScraper) Scrape(ctx context.Context, receiverName strin ctx = obsreport.ScraperContext(ctx, receiverName, rms.Name()) ctx = obsreport.StartMetricsScrapeOp(ctx, receiverName, rms.Name()) resourceMetrics, err := rms.ScrapeResourceMetrics(ctx) - obsreport.EndMetricsScrapeOp(ctx, metricCount(resourceMetrics), err) + count := 0 + if err == nil { + count = metricCount(resourceMetrics) + } + obsreport.EndMetricsScrapeOp(ctx, count, err) return resourceMetrics, err }