Change storage format

This commit is contained in:
Thomas Roehl
2021-10-04 15:23:43 +02:00
parent 8956ce7ad5
commit 558bbaba59
19 changed files with 874 additions and 283 deletions

View File

@@ -1,6 +1,7 @@
package collectors
import (
lp "github.com/influxdata/line-protocol"
"io/ioutil"
"log"
"strconv"
@@ -11,48 +12,49 @@ import (
type MetricGetter interface {
Name() string
Init() error
Read(time.Duration)
Read(time.Duration, *[]lp.MutableMetric)
Close()
GetNodeMetric() map[string]interface{}
GetSocketMetrics() map[int]map[string]interface{}
GetCpuMetrics() map[int]map[string]interface{}
// GetNodeMetric() map[string]interface{}
// GetSocketMetrics() map[int]map[string]interface{}
// GetCpuMetrics() map[int]map[string]interface{}
}
type MetricCollector struct {
name string
node map[string]interface{}
sockets map[int]map[string]interface{}
cpus map[int]map[string]interface{}
init bool
// node map[string]interface{}
// sockets map[int]map[string]interface{}
// cpus map[int]map[string]interface{}
}
func (c *MetricCollector) Name() string {
return c.name
}
func (c *MetricCollector) GetNodeMetric() map[string]interface{} {
return c.node
}
//func (c *MetricCollector) GetNodeMetric() map[string]interface{} {
// return c.node
//}
func (c *MetricCollector) GetSocketMetrics() map[int]map[string]interface{} {
return c.sockets
}
//func (c *MetricCollector) GetSocketMetrics() map[int]map[string]interface{} {
// return c.sockets
//}
func (c *MetricCollector) GetCpuMetrics() map[int]map[string]interface{} {
return c.cpus
}
//func (c *MetricCollector) GetCpuMetrics() map[int]map[string]interface{} {
// return c.cpus
//}
func (c *MetricCollector) setup() error {
slist := SocketList()
clist := CpuList()
c.node = make(map[string]interface{})
c.sockets = make(map[int]map[string]interface{}, len(slist))
for _, s := range slist {
c.sockets[s] = make(map[string]interface{})
}
c.cpus = make(map[int]map[string]interface{}, len(clist))
for _, s := range clist {
c.cpus[s] = make(map[string]interface{})
}
// slist := SocketList()
// clist := CpuList()
// c.node = make(map[string]interface{})
// c.sockets = make(map[int]map[string]interface{}, len(slist))
// for _, s := range slist {
// c.sockets[s] = make(map[string]interface{})
// }
// c.cpus = make(map[int]map[string]interface{}, len(clist))
// for _, s := range clist {
// c.cpus[s] = make(map[string]interface{})
// }
return nil
}