mirror of
				https://github.com/prometheus/node_exporter.git
				synced 2025-08-20 18:33:52 -07:00 
			
		
		
		
	Fix logging race in systemd_linux.go (#3364)
The same variable was used for timing every parallel operation. Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
This commit is contained in:
		
							parent
							
								
									05c68e2040
								
							
						
					
					
						commit
						b57f5bab2d
					
				|  | @ -228,7 +228,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { | ||||||
| 	wg.Add(1) | 	wg.Add(1) | ||||||
| 	go func() { | 	go func() { | ||||||
| 		defer wg.Done() | 		defer wg.Done() | ||||||
| 		begin = time.Now() | 		begin := time.Now() | ||||||
| 		c.collectUnitStatusMetrics(conn, ch, units) | 		c.collectUnitStatusMetrics(conn, ch, units) | ||||||
| 		c.logger.Debug("collectUnitStatusMetrics took", "duration_seconds", time.Since(begin).Seconds()) | 		c.logger.Debug("collectUnitStatusMetrics took", "duration_seconds", time.Since(begin).Seconds()) | ||||||
| 	}() | 	}() | ||||||
|  | @ -237,7 +237,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { | ||||||
| 		wg.Add(1) | 		wg.Add(1) | ||||||
| 		go func() { | 		go func() { | ||||||
| 			defer wg.Done() | 			defer wg.Done() | ||||||
| 			begin = time.Now() | 			begin := time.Now() | ||||||
| 			c.collectUnitStartTimeMetrics(conn, ch, units) | 			c.collectUnitStartTimeMetrics(conn, ch, units) | ||||||
| 			c.logger.Debug("collectUnitStartTimeMetrics took", "duration_seconds", time.Since(begin).Seconds()) | 			c.logger.Debug("collectUnitStartTimeMetrics took", "duration_seconds", time.Since(begin).Seconds()) | ||||||
| 		}() | 		}() | ||||||
|  | @ -247,7 +247,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { | ||||||
| 		wg.Add(1) | 		wg.Add(1) | ||||||
| 		go func() { | 		go func() { | ||||||
| 			defer wg.Done() | 			defer wg.Done() | ||||||
| 			begin = time.Now() | 			begin := time.Now() | ||||||
| 			c.collectUnitTasksMetrics(conn, ch, units) | 			c.collectUnitTasksMetrics(conn, ch, units) | ||||||
| 			c.logger.Debug("collectUnitTasksMetrics took", "duration_seconds", time.Since(begin).Seconds()) | 			c.logger.Debug("collectUnitTasksMetrics took", "duration_seconds", time.Since(begin).Seconds()) | ||||||
| 		}() | 		}() | ||||||
|  | @ -257,7 +257,7 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { | ||||||
| 		wg.Add(1) | 		wg.Add(1) | ||||||
| 		go func() { | 		go func() { | ||||||
| 			defer wg.Done() | 			defer wg.Done() | ||||||
| 			begin = time.Now() | 			begin := time.Now() | ||||||
| 			c.collectTimers(conn, ch, units) | 			c.collectTimers(conn, ch, units) | ||||||
| 			c.logger.Debug("collectTimers took", "duration_seconds", time.Since(begin).Seconds()) | 			c.logger.Debug("collectTimers took", "duration_seconds", time.Since(begin).Seconds()) | ||||||
| 		}() | 		}() | ||||||
|  | @ -266,13 +266,13 @@ func (c *systemdCollector) Update(ch chan<- prometheus.Metric) error { | ||||||
| 	wg.Add(1) | 	wg.Add(1) | ||||||
| 	go func() { | 	go func() { | ||||||
| 		defer wg.Done() | 		defer wg.Done() | ||||||
| 		begin = time.Now() | 		begin := time.Now() | ||||||
| 		c.collectSockets(conn, ch, units) | 		c.collectSockets(conn, ch, units) | ||||||
| 		c.logger.Debug("collectSockets took", "duration_seconds", time.Since(begin).Seconds()) | 		c.logger.Debug("collectSockets took", "duration_seconds", time.Since(begin).Seconds()) | ||||||
| 	}() | 	}() | ||||||
| 
 | 
 | ||||||
| 	if systemdVersion >= minSystemdVersionSystemState { | 	if systemdVersion >= minSystemdVersionSystemState { | ||||||
| 		begin = time.Now() | 		begin := time.Now() | ||||||
| 		err = c.collectSystemState(conn, ch) | 		err = c.collectSystemState(conn, ch) | ||||||
| 		c.logger.Debug("collectSystemState took", "duration_seconds", time.Since(begin).Seconds()) | 		c.logger.Debug("collectSystemState took", "duration_seconds", time.Since(begin).Seconds()) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue