diff --git a/collectors/collectorManager.go b/collectors/collectorManager.go index 1cff613..88445fa 100644 --- a/collectors/collectorManager.go +++ b/collectors/collectorManager.go @@ -21,35 +21,35 @@ import ( // Map of all available metric collectors var AvailableCollectors = map[string]MetricCollector{ - "likwid": new(LikwidCollector), - "loadavg": new(LoadavgCollector), - "memstat": new(MemstatCollector), - "netstat": new(NetstatCollector), - "ibstat": new(InfinibandCollector), - "lustrestat": new(LustreCollector), - "cpustat": new(CpustatCollector), - "topprocs": new(TopProcsCollector), - "nvidia": new(NvidiaCollector), - "customcmd": new(CustomCmdCollector), - "iostat": new(IOstatCollector), - "diskstat": new(DiskstatCollector), - "tempstat": new(TempCollector), - "ipmistat": new(IpmiCollector), - "gpfs": new(GpfsCollector), - "cpufreq": new(CPUFreqCollector), - "cpufreq_cpuinfo": new(CPUFreqCpuInfoCollector), - "nfs3stat": new(Nfs3Collector), - "nfs4stat": new(Nfs4Collector), - "numastats": new(NUMAStatsCollector), - "beegfs_meta": new(BeegfsMetaCollector), - "beegfs_storage": new(BeegfsStorageCollector), - "rapl": new(RAPLCollector), - "rocm_smi": new(RocmSmiCollector), - "self": new(SelfCollector), - "schedstat": new(SchedstatCollector), - "nfsiostat": new(NfsIOStatCollector), - "slurm_cgroup": new(SlurmCgroupCollector), - "smartmon": new(SmartMonCollector), + "likwid": new(LikwidCollector), + "loadavg": new(LoadavgCollector), + "memstat": new(MemstatCollector), + "netstat": new(NetstatCollector), + "ibstat": new(InfinibandCollector), + "lustrestat": new(LustreCollector), + "cpustat": new(CpustatCollector), + "topprocs": new(TopProcsCollector), + "nvidia": new(NvidiaCollector), + "customcmd": new(CustomCmdCollector), + "iostat": new(IOstatCollector), + "diskstat": new(DiskstatCollector), + "tempstat": new(TempCollector), + "ipmistat": new(IpmiCollector), + "gpfs": new(GpfsCollector), + "cpufreq": new(CPUFreqCollector), + "cpufreq_cpuinfo": new(CPUFreqCpuInfoCollector), + "nfs3stat": new(Nfs3Collector), + "nfs4stat": new(Nfs4Collector), + "numastats": new(NUMAStatsCollector), + "beegfs_meta": new(BeegfsMetaCollector), + "beegfs_storage": new(BeegfsStorageCollector), + "rapl": new(RAPLCollector), + "rocm_smi": new(RocmSmiCollector), + "self": new(SelfCollector), + "schedstat": new(SchedstatCollector), + "nfsiostat": new(NfsIOStatCollector), + "slurm_cgroup": new(SlurmCgroupCollector), + "smartmon": new(SmartMonCollector), "lenovo_dense_power": new(LenovoDensePowerCollector), } diff --git a/collectors/lenovoDensePower.go b/collectors/lenovoDensePower.go index f493c6d..0409170 100644 --- a/collectors/lenovoDensePower.go +++ b/collectors/lenovoDensePower.go @@ -9,8 +9,8 @@ package collectors import ( "bytes" - "encoding/json" "encoding/hex" + "encoding/json" "fmt" "os/exec" "strconv" @@ -25,14 +25,14 @@ type LenovoDensePowerCollector struct { metricCollector config struct { - IpmitoolPath string `json:"ipmitool_path"` - Sudo bool `json:"use_sudo"` + IpmitoolPath string `json:"ipmitool_path"` + Sudo bool `json:"use_sudo"` } - ipmitool string + ipmitool string - energyValLast float64 - energyTimeLast time.Time + energyValLast float64 + energyTimeLast time.Time } func (m *LenovoDensePowerCollector) Init(config json.RawMessage) error { @@ -111,7 +111,7 @@ func (m *LenovoDensePowerCollector) readEnergy() (float64, time.Time, error) { wholeJoules := (uint32(data[2]) << 0) | (uint32(data[3]) << 8) | (uint32(data[4]) << 16) | (uint32(data[5]) << 24) milliJoules := uint16(data[6]) | (uint16(data[7]) << 8) - finalJoules := float64(wholeJoules) + float64(milliJoules) * 1e-3 + finalJoules := float64(wholeJoules) + float64(milliJoules)*1e-3 wholeSeconds := (uint32(data[8]) << 0) | (uint32(data[9]) << 8) | (uint32(data[10]) << 16) | (uint32(data[11]) << 24) milliSeconds := uint16(data[12]) | (uint16(data[13]) << 8)