mirror of
				https://github.com/prometheus/node_exporter.git
				synced 2025-08-20 18:33:52 -07:00 
			
		
		
		
	fixed crash: on some tun/tap network devices in linux  NameAssignType is nil.
				
					
				
			This commit is contained in:
		
							parent
							
								
									983e6345d5
								
							
						
					
					
						commit
						01fd9654ad
					
				| 
						 | 
				
			
			@ -116,10 +116,13 @@ func (c *netClassCollector) netClassSysfsUpdate(ch chan<- prometheus.Metric) err
 | 
			
		|||
		pushMetric(ch, c.getFieldDesc("iface_id"), "iface_id", ifaceInfo.IfIndex, prometheus.GaugeValue, ifaceInfo.Name)
 | 
			
		||||
		pushMetric(ch, c.getFieldDesc("iface_link"), "iface_link", ifaceInfo.IfLink, prometheus.GaugeValue, ifaceInfo.Name)
 | 
			
		||||
		pushMetric(ch, c.getFieldDesc("iface_link_mode"), "iface_link_mode", ifaceInfo.LinkMode, prometheus.GaugeValue, ifaceInfo.Name)
 | 
			
		||||
		pushMetric(ch, c.getFieldDesc("mtu_bytes"), "mtu_bytes", ifaceInfo.MTU, prometheus.GaugeValue, ifaceInfo.Name)
 | 
			
		||||
		pushMetric(ch, c.getFieldDesc("name_assign_type"), "name_assign_type", ifaceInfo.NameAssignType, prometheus.GaugeValue, ifaceInfo.Name)
 | 
			
		||||
		pushMetric(ch, c.getFieldDesc("mtu_bytes"), "mtu_bytes", ifaceInfo.MTU, prometheus.GaugeValue, ifaceInfo.Name)		
 | 
			
		||||
		pushMetric(ch, c.getFieldDesc("net_dev_group"), "net_dev_group", ifaceInfo.NetDevGroup, prometheus.GaugeValue, ifaceInfo.Name)
 | 
			
		||||
 | 
			
		||||
		
 | 
			
		||||
		if ifaceInfo.NameAssignType != nil {
 | 
			
		||||
			pushMetric(ch, c.getFieldDesc("name_assign_type"), "name_assign_type", ifaceInfo.NameAssignType, prometheus.GaugeValue, ifaceInfo.Name)
 | 
			
		||||
		}
 | 
			
		||||
			
 | 
			
		||||
		if ifaceInfo.Speed != nil {
 | 
			
		||||
			// Some devices return -1 if the speed is unknown.
 | 
			
		||||
			if *ifaceInfo.Speed >= 0 || !*netclassInvalidSpeed {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue