mirror of
https://github.com/prometheus/node_exporter.git
synced 2025-08-20 18:33:52 -07:00
AIX: Add context switches to cpu collector
Signed-off-by: Johannes Ziemke <github@5pi.de>
This commit is contained in:
parent
0cb7b61fd6
commit
940e73b895
|
@ -45,6 +45,11 @@ var (
|
|||
"CPU flags.",
|
||||
[]string{"cpu", "flag"}, nil,
|
||||
)
|
||||
nodeCPUContextSwitchDesc = prometheus.NewDesc(
|
||||
prometheus.BuildFQName(namespace, cpuCollectorSubsystem, "context_switches_total"),
|
||||
"Number of context switches.",
|
||||
[]string{"cpu"}, nil,
|
||||
)
|
||||
)
|
||||
|
||||
type cpuCollector struct {
|
||||
|
@ -52,6 +57,7 @@ type cpuCollector struct {
|
|||
cpuPhysical typedDesc
|
||||
cpuRunQueue typedDesc
|
||||
cpuFlags typedDesc
|
||||
cpuContextSwitch typedDesc
|
||||
|
||||
logger *slog.Logger
|
||||
tickPerSecond int64
|
||||
|
@ -79,6 +85,7 @@ func NewCpuCollector(logger *slog.Logger) (Collector, error) {
|
|||
cpuPhysical: typedDesc{nodeCPUPhysicalSecondsDesc, prometheus.CounterValue},
|
||||
cpuRunQueue: typedDesc{nodeCPUSRunQueueDesc, prometheus.GaugeValue},
|
||||
cpuFlags: typedDesc{nodeCPUFlagsDesc, prometheus.GaugeValue},
|
||||
cpuContextSwitch: typedDesc{nodeCPUContextSwitchDesc, prometheus.CounterValue},
|
||||
logger: logger,
|
||||
tickPerSecond: ticks,
|
||||
}, nil
|
||||
|
@ -108,6 +115,9 @@ func (c *cpuCollector) Update(ch chan<- prometheus.Metric) error {
|
|||
|
||||
// Flags
|
||||
ch <- c.cpuFlags.mustNewConstMetric(float64(stat.SpurrFlag), strconv.Itoa(n), "spurr")
|
||||
|
||||
// Context switches
|
||||
ch <- c.cpuContextSwitch.mustNewConstMetric(float64(stat.CSwitches), strconv.Itoa(n))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue