gmon/config/rules.go

46 lines
969 B
Go
Raw Permalink Normal View History

2020-11-10 14:12:29 +01:00
package config
import "github.com/hamburghammer/gmon/analyse"
// RulesLoader is the interface that should be implemented if you want to load rules.
type RulesLoader interface {
Load() (Rules, error)
}
// Rules holds all configured rules.
type Rules struct {
2020-11-11 22:39:37 +01:00
CPU []analyse.CPURule
Disk []analyse.DiskRule
2020-11-12 14:26:46 +01:00
RAM []analyse.RAMRule
2020-11-10 14:12:29 +01:00
}
// GetCPU returns the cpu rules as analyser interface
func (r Rules) GetCPU() []analyse.Analyser {
rules := make([]analyse.Analyser, len(r.CPU))
for i, r := range r.CPU {
rules[i] = r
}
return rules
}
// GetDisk returns the disk rules as analyser interface
func (r Rules) GetDisk() []analyse.Analyser {
rules := make([]analyse.Analyser, len(r.Disk))
for i, r := range r.Disk {
rules[i] = r
}
return rules
}
// GetRAM returns the ram rules as analyser interface
func (r Rules) GetRAM() []analyse.Analyser {
rules := make([]analyse.Analyser, len(r.RAM))
for i, r := range r.RAM {
rules[i] = r
}
return rules
}