mirror of
https://github.com/ClusterCockpit/cc-metric-collector.git
synced 2024-12-25 23:19:06 +01:00
Fixing format with gofmt
This commit is contained in:
parent
e9a74a4c9c
commit
f32ff9d006
@ -5,8 +5,8 @@ import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os/exec"
|
||||
"strings"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -21,7 +21,7 @@ func (m *InfinibandCollector) Init() {
|
||||
m.setup()
|
||||
}
|
||||
|
||||
func (m *InfinibandCollector) Read(interval time.Duration){
|
||||
func (m *InfinibandCollector) Read(interval time.Duration) {
|
||||
buffer, err := ioutil.ReadFile(string(LIDFILE))
|
||||
|
||||
if err != nil {
|
||||
|
@ -1,4 +1,5 @@
|
||||
package main
|
||||
|
||||
/*
|
||||
#cgo CFLAGS: -I.
|
||||
#cgo LDFLAGS: -L. -llikwid -llikwid-hwloc -lm
|
||||
@ -11,7 +12,7 @@ import "unsafe"
|
||||
|
||||
func main() {
|
||||
var topo C.CpuTopology_t
|
||||
C.topology_init();
|
||||
C.topology_init()
|
||||
topo = C.get_cpuTopology()
|
||||
cpulist := make([]C.int, topo.numHWThreads)
|
||||
for a := 0; a < int(topo.numHWThreads); a++ {
|
||||
@ -27,5 +28,5 @@ func main() {
|
||||
fmt.Println(v)
|
||||
C.free(unsafe.Pointer(gstring))
|
||||
C.perfmon_finalize()
|
||||
C.topology_finalize();
|
||||
C.topology_finalize()
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
package collectors
|
||||
|
||||
/*
|
||||
#cgo CFLAGS: -I./likwid
|
||||
#cgo LDFLAGS: -L./likwid -llikwid -llikwid-hwloc -lm
|
||||
@ -9,19 +10,17 @@ import "C"
|
||||
|
||||
import (
|
||||
"errors"
|
||||
// "io/ioutil"
|
||||
// "log"
|
||||
// "strconv"
|
||||
"strings"
|
||||
// "io/ioutil"
|
||||
// "log"
|
||||
// "strconv"
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
"time"
|
||||
"unsafe"
|
||||
"log"
|
||||
|
||||
//protocol "github.com/influxdata/line-protocol"
|
||||
)
|
||||
|
||||
|
||||
type LikwidCollector struct {
|
||||
MetricCollector
|
||||
cpulist []C.int
|
||||
@ -45,12 +44,11 @@ var likwid_metrics = map[string][]LikwidMetric{
|
||||
LikwidMetric{name: "pwr1", search: "Power [W]", socket_scope: true},
|
||||
LikwidMetric{name: "pwr2", search: "Power DRAM [W]", socket_scope: true},
|
||||
LikwidMetric{name: "flops_dp", search: "DP [MFLOP/s]", socket_scope: false}},
|
||||
"FLOPS_SP" : {LikwidMetric{name: "clock", search: "Clock [MHz]", socket_scope: false},
|
||||
"FLOPS_SP": {LikwidMetric{name: "clock", search: "Clock [MHz]", socket_scope: false},
|
||||
LikwidMetric{name: "cpi", search: "CPI", socket_scope: false},
|
||||
LikwidMetric{name: "flops_sp", search: "SP [MFLOP/s]", socket_scope: false}},
|
||||
}
|
||||
|
||||
|
||||
func getMetricId(group C.int, search string) (int, error) {
|
||||
for i := 0; i < int(C.perfmon_getNumberOfMetrics(group)); i++ {
|
||||
mname := C.perfmon_getMetricName(group, C.int(i))
|
||||
@ -77,7 +75,6 @@ func getSocketCpus() map[C.int]int {
|
||||
return outmap
|
||||
}
|
||||
|
||||
|
||||
func (m *LikwidCollector) Init() {
|
||||
m.name = "LikwidCollector"
|
||||
m.setup()
|
||||
@ -120,7 +117,7 @@ func (m *LikwidCollector) Init() {
|
||||
}
|
||||
}
|
||||
|
||||
func (m *LikwidCollector) Read(interval time.Duration){
|
||||
func (m *LikwidCollector) Read(interval time.Duration) {
|
||||
if m.init {
|
||||
for gname, gid := range m.groups {
|
||||
C.perfmon_setupCounters(gid)
|
||||
@ -133,24 +130,24 @@ func (m *LikwidCollector) Read(interval time.Duration){
|
||||
for sid, tid := range m.sock2tid {
|
||||
res := C.perfmon_getLastMetric(gid, C.int(lmetric.group_idx), C.int(tid))
|
||||
m.sockets[int(sid)][lmetric.name] = float64(res)
|
||||
// log.Print("Metric '", lmetric.name,"' on Socket ",int(sid)," returns ", m.sockets[int(sid)][lmetric.name])
|
||||
// log.Print("Metric '", lmetric.name,"' on Socket ",int(sid)," returns ", m.sockets[int(sid)][lmetric.name])
|
||||
}
|
||||
} else {
|
||||
for tid, cpu := range m.cpulist {
|
||||
res := C.perfmon_getLastMetric(gid, C.int(lmetric.group_idx), C.int(tid))
|
||||
m.cpus[int(cpu)][lmetric.name] = float64(res)
|
||||
// log.Print("Metric '", lmetric.name,"' on CPU ",int(cpu)," returns ", m.cpus[int(cpu)][lmetric.name])
|
||||
// log.Print("Metric '", lmetric.name,"' on CPU ",int(cpu)," returns ", m.cpus[int(cpu)][lmetric.name])
|
||||
}
|
||||
}
|
||||
}
|
||||
for cpu, _ := range m.cpus {
|
||||
for cpu := range m.cpus {
|
||||
if flops_dp, found := m.cpus[cpu]["flops_dp"]; found {
|
||||
if flops_sp, found := m.cpus[cpu]["flops_sp"]; found {
|
||||
m.cpus[cpu]["flops_any"] = flops_dp.(float64) + flops_sp.(float64)
|
||||
}
|
||||
}
|
||||
}
|
||||
for sid, _ := range m.sockets {
|
||||
for sid := range m.sockets {
|
||||
if pwr1, found := m.sockets[int(sid)]["pwr1"]; found {
|
||||
if pwr2, found := m.sockets[int(sid)]["pwr2"]; found {
|
||||
sum := pwr1.(float64) + pwr2.(float64)
|
||||
|
@ -3,8 +3,8 @@ package collectors
|
||||
import (
|
||||
"io/ioutil"
|
||||
"strconv"
|
||||
"time"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
const LOADAVGFILE = `/proc/loadavg`
|
||||
@ -13,13 +13,12 @@ type LoadavgCollector struct {
|
||||
MetricCollector
|
||||
}
|
||||
|
||||
|
||||
func (m *LoadavgCollector) Init() {
|
||||
m.name = "LoadavgCollector"
|
||||
m.setup()
|
||||
}
|
||||
|
||||
func (m *LoadavgCollector) Read(interval time.Duration){
|
||||
func (m *LoadavgCollector) Read(interval time.Duration) {
|
||||
buffer, err := ioutil.ReadFile(string(LOADAVGFILE))
|
||||
|
||||
if err != nil {
|
||||
|
@ -1,7 +1,7 @@
|
||||
package collectors
|
||||
|
||||
import (
|
||||
// "errors"
|
||||
// "errors"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"strconv"
|
||||
@ -15,13 +15,12 @@ type LustreCollector struct {
|
||||
MetricCollector
|
||||
}
|
||||
|
||||
|
||||
func (m *LustreCollector) Init() {
|
||||
m.name = "LustreCollector"
|
||||
m.setup()
|
||||
}
|
||||
|
||||
func (m *LustreCollector) Read(interval time.Duration){
|
||||
func (m *LustreCollector) Read(interval time.Duration) {
|
||||
buffer, err := ioutil.ReadFile(string(LUSTREFILE))
|
||||
|
||||
if err != nil {
|
||||
|
@ -7,7 +7,6 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
//protocol "github.com/influxdata/line-protocol"
|
||||
)
|
||||
|
||||
@ -17,13 +16,12 @@ type MemstatCollector struct {
|
||||
MetricCollector
|
||||
}
|
||||
|
||||
|
||||
func (m *MemstatCollector) Init() {
|
||||
m.name = "MemstatCollector"
|
||||
m.setup()
|
||||
}
|
||||
|
||||
func (m *MemstatCollector) Read(interval time.Duration){
|
||||
func (m *MemstatCollector) Read(interval time.Duration) {
|
||||
buffer, err := ioutil.ReadFile(string(MEMSTATFILE))
|
||||
|
||||
if err != nil {
|
||||
|
@ -1,11 +1,11 @@
|
||||
package collectors
|
||||
|
||||
import (
|
||||
"time"
|
||||
"io/ioutil"
|
||||
"strings"
|
||||
"log"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type MetricGetter interface {
|
||||
@ -25,8 +25,6 @@ type MetricCollector struct {
|
||||
cpus map[int]map[string]interface{}
|
||||
}
|
||||
|
||||
|
||||
|
||||
func (c *MetricCollector) Name() string {
|
||||
return c.name
|
||||
}
|
||||
@ -58,7 +56,6 @@ func (c *MetricCollector) setup() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
func intArrayContains(array []int, str int) (int, bool) {
|
||||
for i, a := range array {
|
||||
if a == str {
|
||||
|
@ -1,12 +1,12 @@
|
||||
package collectors
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
"log"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
const NETSTATFILE = `/proc/net/dev`
|
||||
@ -15,13 +15,12 @@ type NetstatCollector struct {
|
||||
MetricCollector
|
||||
}
|
||||
|
||||
|
||||
func (m *NetstatCollector) Init() {
|
||||
m.name = "NetstatCollector"
|
||||
m.setup()
|
||||
}
|
||||
|
||||
func (m *NetstatCollector) Read(interval time.Duration){
|
||||
func (m *NetstatCollector) Read(interval time.Duration) {
|
||||
data, err := ioutil.ReadFile(string(NETSTATFILE))
|
||||
if err != nil {
|
||||
log.Print(err.Error())
|
||||
|
@ -3,13 +3,13 @@ package main
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/ClusterCockpit/cc-metric-collector/collectors"
|
||||
protocol "github.com/influxdata/line-protocol"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"sync"
|
||||
"time"
|
||||
"github.com/ClusterCockpit/cc-metric-collector/collectors"
|
||||
protocol "github.com/influxdata/line-protocol"
|
||||
)
|
||||
|
||||
var Collectors = map[string]collectors.MetricGetter{
|
||||
@ -20,6 +20,7 @@ var Collectors = map[string]collectors.MetricGetter{
|
||||
"ibstat": &collectors.InfinibandCollector{},
|
||||
"lustrestat": &collectors.LustreCollector{},
|
||||
}
|
||||
|
||||
type GlobalConfig struct {
|
||||
Sink struct {
|
||||
User string `json:"user"`
|
||||
@ -32,8 +33,6 @@ type GlobalConfig struct {
|
||||
Collectors []string `json:"collectors"`
|
||||
}
|
||||
|
||||
|
||||
|
||||
func LoadConfiguration(file string, config *GlobalConfig) error {
|
||||
configFile, err := os.Open(file)
|
||||
defer configFile.Close()
|
||||
@ -45,8 +44,6 @@ func LoadConfiguration(file string, config *GlobalConfig) error {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
|
||||
func shutdown(wg *sync.WaitGroup, config *GlobalConfig) {
|
||||
sigs := make(chan os.Signal, 1)
|
||||
signal.Notify(sigs, os.Interrupt)
|
||||
@ -73,10 +70,10 @@ func main() {
|
||||
log.Print(err)
|
||||
return
|
||||
}
|
||||
var tags = map[string]string {"host": host}
|
||||
var tags = map[string]string{"host": host}
|
||||
|
||||
LoadConfiguration("config.json", &config)
|
||||
if config.Interval <= 0 || time.Duration(config.Interval) * time.Second <= 0 {
|
||||
if config.Interval <= 0 || time.Duration(config.Interval)*time.Second <= 0 {
|
||||
log.Print("Configuration value 'interval' must be greater than zero")
|
||||
return
|
||||
}
|
||||
@ -93,7 +90,7 @@ func main() {
|
||||
col.Init()
|
||||
log.Print("Start ", col.Name())
|
||||
}
|
||||
log.Print(config.Interval, time.Duration(config.Interval) * time.Second)
|
||||
log.Print(config.Interval, time.Duration(config.Interval)*time.Second)
|
||||
ticker := time.NewTicker(time.Duration(config.Interval) * time.Second)
|
||||
done := make(chan bool)
|
||||
node_fields := make(map[string]interface{})
|
||||
@ -113,8 +110,7 @@ func main() {
|
||||
select {
|
||||
case <-done:
|
||||
return
|
||||
case t:= <-ticker.C:
|
||||
|
||||
case t := <-ticker.C:
|
||||
|
||||
scount := 0
|
||||
ccount := 0
|
||||
@ -149,7 +145,7 @@ func main() {
|
||||
if scount > 0 {
|
||||
for sid, socket := range sockets_fields {
|
||||
var CurrentSocket protocol.MutableMetric
|
||||
var stags = map[string]string {"socket": fmt.Sprintf("%d", sid), "host": host}
|
||||
var stags = map[string]string{"socket": fmt.Sprintf("%d", sid), "host": host}
|
||||
CurrentSocket, err = protocol.New("socket", stags, socket, t)
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
@ -163,7 +159,7 @@ func main() {
|
||||
if ccount > 0 {
|
||||
for cid, cpu := range cpu_fields {
|
||||
var CurrentCpu protocol.MutableMetric
|
||||
var ctags = map[string]string {"host": host, "cpu": fmt.Sprintf("%d", cid)}
|
||||
var ctags = map[string]string{"host": host, "cpu": fmt.Sprintf("%d", cid)}
|
||||
CurrentCpu, err = protocol.New("cpu", ctags, cpu, t)
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
@ -178,6 +174,5 @@ func main() {
|
||||
}
|
||||
}()
|
||||
|
||||
|
||||
wg.Wait()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user