mirror of
https://github.com/prometheus/node_exporter.git
synced 2024-11-23 20:36:21 +01:00
Merge pull request #226 from giganteous/fix-386-on-freebsd
Fix compilation on freebsd/386
This commit is contained in:
commit
6683a89f9e
@ -103,6 +103,8 @@ void freeCPUTimes(double *cpu_times) {
|
||||
*/
|
||||
import "C"
|
||||
|
||||
const maxCPUTimesLen = C.MAXCPU * C.CPUSTATES
|
||||
|
||||
type statCollector struct {
|
||||
cpu *prometheus.CounterVec
|
||||
}
|
||||
@ -150,9 +152,12 @@ func (c *statCollector) Update(ch chan<- prometheus.Metric) (err error) {
|
||||
return errors.New("could not retrieve CPU times")
|
||||
}
|
||||
defer C.freeCPUTimes(cpuTimesC)
|
||||
if cpuTimesLength > maxCPUTimesLen {
|
||||
return errors.New("more CPU's than MAXCPU?")
|
||||
}
|
||||
|
||||
// Convert C.double array to Go array (https://github.com/golang/go/wiki/cgo#turning-c-arrays-into-go-slices).
|
||||
cpuTimes := (*[1 << 30]C.double)(unsafe.Pointer(cpuTimesC))[:cpuTimesLength:cpuTimesLength]
|
||||
cpuTimes := (*[maxCPUTimesLen]C.double)(unsafe.Pointer(cpuTimesC))[:cpuTimesLength:cpuTimesLength]
|
||||
|
||||
for cpu := 0; cpu < int(ncpu); cpu++ {
|
||||
base_idx := C.CPUSTATES * cpu
|
||||
|
Loading…
Reference in New Issue
Block a user