38 lines
		
	
	
		
			632 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			632 B
		
	
	
	
		
			Go
		
	
	
	
| // +build darwin
 | |
| 
 | |
| package load
 | |
| 
 | |
| import (
 | |
| 	"strconv"
 | |
| 
 | |
| 	common "github.com/influxdb/telegraf/plugins/system/ps/common"
 | |
| )
 | |
| 
 | |
| func LoadAvg() (*LoadAvgStat, error) {
 | |
| 	values, err := common.DoSysctrl("vm.loadavg")
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	load1, err := strconv.ParseFloat(values[0], 64)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	load5, err := strconv.ParseFloat(values[1], 64)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	load15, err := strconv.ParseFloat(values[2], 64)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	ret := &LoadAvgStat{
 | |
| 		Load1:  float64(load1),
 | |
| 		Load5:  float64(load5),
 | |
| 		Load15: float64(load15),
 | |
| 	}
 | |
| 
 | |
| 	return ret, nil
 | |
| }
 |