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
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
						058adc0e5d
					
				| 
						 | 
					@ -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