mirror of
				https://github.com/prometheus/node_exporter.git
				synced 2025-08-20 18:33:52 -07:00 
			
		
		
		
	sockstat: add support for RHE4
This commit is contained in:
		
							parent
							
								
									157ac23b4d
								
							
						
					
					
						commit
						4b820427dd
					
				
							
								
								
									
										5
									
								
								collector/fixtures/proc/net/sockstat_rhe4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								collector/fixtures/proc/net/sockstat_rhe4
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| sockets: used 229 | ||||
| TCP: inuse 4 orphan 0 tw 4 alloc 17 mem 1 | ||||
| UDP: inuse 0 | ||||
| RAW: inuse 0 | ||||
| FRAG: inuse 0 memory 0 | ||||
|  | @ -117,11 +117,13 @@ func parseSockStats(r io.Reader, fileName string) (map[string]map[string]string, | |||
| 	sockStat["TCP"]["mem_bytes"] = strconv.Itoa(pageCount * pageSize) | ||||
| 
 | ||||
| 	// Update the UDP mem from page count to bytes.
 | ||||
| 	pageCount, err = strconv.Atoi(sockStat["UDP"]["mem"]) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("invalid value %s in sockstats: %s", sockStat["UDP"]["mem"], err) | ||||
| 	if udpMem := sockStat["UDP"]["mem"]; udpMem != "" { | ||||
| 		pageCount, err = strconv.Atoi(udpMem) | ||||
| 		if err != nil { | ||||
| 			return nil, fmt.Errorf("invalid value %s in sockstats: %s", sockStat["UDP"]["mem"], err) | ||||
| 		} | ||||
| 		sockStat["UDP"]["mem_bytes"] = strconv.Itoa(pageCount * pageSize) | ||||
| 	} | ||||
| 	sockStat["UDP"]["mem_bytes"] = strconv.Itoa(pageCount * pageSize) | ||||
| 
 | ||||
| 	return sockStat, nil | ||||
| } | ||||
|  |  | |||
|  | @ -20,7 +20,12 @@ import ( | |||
| ) | ||||
| 
 | ||||
| func TestSockStats(t *testing.T) { | ||||
| 	file, err := os.Open("fixtures/proc/net/sockstat") | ||||
| 	testSockStats(t, "fixtures/proc/net/sockstat") | ||||
| 	testSockStats(t, "fixtures/proc/net/sockstat_rhe4") | ||||
| } | ||||
| 
 | ||||
| func testSockStats(t *testing.T, fixture string) { | ||||
| 	file, err := os.Open(fixture) | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue