Skip to content

Commit b57f5ba

Browse files
authored
Fix logging race in systemd_linux.go (#3364)
The same variable was used for timing every parallel operation. Signed-off-by: Bryan Boreham <[email protected]>
1 parent 05c68e2 commit b57f5ba

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

collector/systemd_linux.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error {
228228
wg.Add(1)
229229
go func() {
230230
defer wg.Done()
231-
begin = time.Now()
231+
begin := time.Now()
232232
c.collectUnitStatusMetrics(conn, ch, units)
233233
c.logger.Debug("collectUnitStatusMetrics took", "duration_seconds", time.Since(begin).Seconds())
234234
}()
@@ -237,7 +237,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error {
237237
wg.Add(1)
238238
go func() {
239239
defer wg.Done()
240-
begin = time.Now()
240+
begin := time.Now()
241241
c.collectUnitStartTimeMetrics(conn, ch, units)
242242
c.logger.Debug("collectUnitStartTimeMetrics took", "duration_seconds", time.Since(begin).Seconds())
243243
}()
@@ -247,7 +247,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error {
247247
wg.Add(1)
248248
go func() {
249249
defer wg.Done()
250-
begin = time.Now()
250+
begin := time.Now()
251251
c.collectUnitTasksMetrics(conn, ch, units)
252252
c.logger.Debug("collectUnitTasksMetrics took", "duration_seconds", time.Since(begin).Seconds())
253253
}()
@@ -257,7 +257,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error {
257257
wg.Add(1)
258258
go func() {
259259
defer wg.Done()
260-
begin = time.Now()
260+
begin := time.Now()
261261
c.collectTimers(conn, ch, units)
262262
c.logger.Debug("collectTimers took", "duration_seconds", time.Since(begin).Seconds())
263263
}()
@@ -266,13 +266,13 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error {
266266
wg.Add(1)
267267
go func() {
268268
defer wg.Done()
269-
begin = time.Now()
269+
begin := time.Now()
270270
c.collectSockets(conn, ch, units)
271271
c.logger.Debug("collectSockets took", "duration_seconds", time.Since(begin).Seconds())
272272
}()
273273

274274
if systemdVersion >= minSystemdVersionSystemState {
275-
begin = time.Now()
275+
begin := time.Now()
276276
err = c.collectSystemState(conn, ch)
277277
c.logger.Debug("collectSystemState took", "duration_seconds", time.Since(begin).Seconds())
278278
}

0 commit comments

Comments
 (0)