|
|
|
@ -13,15 +13,12 @@ import (
|
|
|
|
|
// #include <stdlib.h>
|
|
|
|
|
import "C" |
|
|
|
|
|
|
|
|
|
var loadavg [1]C.double |
|
|
|
|
|
|
|
|
|
type loadavgCollector struct { |
|
|
|
|
metric prometheus.Gauge |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func init() { |
|
|
|
|
Factories["loadavg"] = NewLoadavgCollector |
|
|
|
|
loadavg[0] = 0 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// load1 stat.
|
|
|
|
@ -47,6 +44,7 @@ func (c *loadavgCollector) Update(ch chan<- prometheus.Metric) (err error) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func getLoad1() (float64, error) { |
|
|
|
|
var loadavg [1]C.double |
|
|
|
|
samples := C.getloadavg(&loadavg[0], 1) |
|
|
|
|
if samples > 0 { |
|
|
|
|
return float64(loadavg[0]), nil |
|
|
|
|