mirror of
https://github.com/ClusterCockpit/cc-metric-collector.git
synced 2025-04-08 22:45:55 +02:00
Refactor: Consolidate data structures
This commit is contained in:
parent
737f2dbe9a
commit
605ce2d0ca
@ -22,7 +22,9 @@ type NetstatCollectorConfig struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type NetstatCollectorMetric struct {
|
type NetstatCollectorMetric struct {
|
||||||
|
name string
|
||||||
index int
|
index int
|
||||||
|
devtags map[string]string
|
||||||
lastValue float64
|
lastValue float64
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,7 +32,6 @@ type NetstatCollector struct {
|
|||||||
metricCollector
|
metricCollector
|
||||||
config NetstatCollectorConfig
|
config NetstatCollectorConfig
|
||||||
matches map[string]map[string]NetstatCollectorMetric
|
matches map[string]map[string]NetstatCollectorMetric
|
||||||
devtags map[string]map[string]string
|
|
||||||
lastTimestamp time.Time
|
lastTimestamp time.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,7 +43,6 @@ func (m *NetstatCollector) Init(config json.RawMessage) error {
|
|||||||
"source": m.name,
|
"source": m.name,
|
||||||
"group": "Network",
|
"group": "Network",
|
||||||
}
|
}
|
||||||
m.devtags = make(map[string]map[string]string)
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
fieldInterface = iota
|
fieldInterface = iota
|
||||||
@ -113,17 +113,18 @@ func (m *NetstatCollector) Init(config json.RawMessage) error {
|
|||||||
m.matches[dev] = make(map[string]NetstatCollectorMetric)
|
m.matches[dev] = make(map[string]NetstatCollectorMetric)
|
||||||
for name, idx := range nameIndexMap {
|
for name, idx := range nameIndexMap {
|
||||||
m.matches[dev][name] = NetstatCollectorMetric{
|
m.matches[dev][name] = NetstatCollectorMetric{
|
||||||
|
name: name,
|
||||||
index: idx,
|
index: idx,
|
||||||
lastValue: 0,
|
lastValue: 0,
|
||||||
|
devtags: map[string]string{
|
||||||
|
"device": dev,
|
||||||
|
"type": "node",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m.devtags[dev] = map[string]string{
|
|
||||||
"device": dev,
|
|
||||||
"type": "node",
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(m.devtags) == 0 {
|
if len(m.matches) == 0 {
|
||||||
return errors.New("no devices to collector metrics found")
|
return errors.New("no devices to collector metrics found")
|
||||||
}
|
}
|
||||||
m.init = true
|
m.init = true
|
||||||
@ -169,7 +170,7 @@ func (m *NetstatCollector) Read(interval time.Duration, output chan lp.CCMetric)
|
|||||||
v, err := strconv.ParseFloat(f[data.index], 64)
|
v, err := strconv.ParseFloat(f[data.index], 64)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if m.config.SendAbsoluteValues {
|
if m.config.SendAbsoluteValues {
|
||||||
if y, err := lp.New(name, m.devtags[dev], m.meta, map[string]interface{}{"value": v}, now); err == nil {
|
if y, err := lp.New(name, data.devtags, m.meta, map[string]interface{}{"value": v}, now); err == nil {
|
||||||
switch {
|
switch {
|
||||||
case strings.Contains(name, "byte"):
|
case strings.Contains(name, "byte"):
|
||||||
y.AddMeta("unit", "bytes")
|
y.AddMeta("unit", "bytes")
|
||||||
@ -187,7 +188,7 @@ func (m *NetstatCollector) Read(interval time.Duration, output chan lp.CCMetric)
|
|||||||
value = 0
|
value = 0
|
||||||
}
|
}
|
||||||
data.lastValue = v
|
data.lastValue = v
|
||||||
if y, err := lp.New(name+"_bw", m.devtags[dev], m.meta, map[string]interface{}{"value": value}, now); err == nil {
|
if y, err := lp.New(name+"_bw", data.devtags, m.meta, map[string]interface{}{"value": value}, now); err == nil {
|
||||||
switch {
|
switch {
|
||||||
case strings.Contains(name, "byte"):
|
case strings.Contains(name, "byte"):
|
||||||
y.AddMeta("unit", "bytes/sec")
|
y.AddMeta("unit", "bytes/sec")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user