From 9a15761a3a7ec334053f61328317cbf72e7b846c Mon Sep 17 00:00:00 2001
From: abonyibence <abonyibence@sch.bme.hu>
Date: Tue, 13 May 2025 14:35:35 +0200
Subject: [PATCH] corrected wg.Done is now deferred

---
 exporter/exporter.go | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/exporter/exporter.go b/exporter/exporter.go
index ed799ff..ae1986e 100644
--- a/exporter/exporter.go
+++ b/exporter/exporter.go
@@ -106,12 +106,14 @@ func (e *Exporter) Collect(ch chan<- prometheus.Metric) {
 }
 
 func (e *Exporter) collectItems(ch chan<- prometheus.Metric, wg *sync.WaitGroup) {
+	defer wg.Done()
 	res, err := http.Get("http://localhost:8080/api/items")
 	if err != nil {
+		e.logger.Println("exporter collecting items failed: ", err)
 		return
 	}
 	var items []Item
-	if err := json.NewDecoder(res.Body).Decode(&items); err != nil {
+	if err = json.NewDecoder(res.Body).Decode(&items); err != nil {
 		log.Println(err)
 		return
 	}
@@ -133,9 +135,8 @@ func (e *Exporter) collectItems(ch chan<- prometheus.Metric, wg *sync.WaitGroup)
 	}
 	e.itemsAvailable.Collect(ch)
 	e.itemsTotal.Collect(ch)
-	wg.Done()
 
 }
 func (e *Exporter) collectPurchases(ch chan<- prometheus.Metric, wg *sync.WaitGroup) {
-	wg.Done()
+	defer wg.Done()
 }
-- 
GitLab