summaryrefslogtreecommitdiffstats
path: root/pcp
diff options
context:
space:
mode:
authorNathan Scott <nathans@redhat.com>2023-02-14 16:13:02 +1100
committerNathan Scott <nathans@redhat.com>2023-02-14 16:13:02 +1100
commit6d1c5de5188f5b00763113ede48c2371027ab012 (patch)
tree56acc7712b70f0dfe72e92c238b399afa5cb8296 /pcp
parent0bd10858a1768b975606b58bbf4a0c6de26aceef (diff)
PCP: add IRQ PSI meter
Diffstat (limited to 'pcp')
-rw-r--r--pcp/PCPMetric.h1
-rw-r--r--pcp/Platform.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/pcp/PCPMetric.h b/pcp/PCPMetric.h
index 84ccbb95..c0966b38 100644
--- a/pcp/PCPMetric.h
+++ b/pcp/PCPMetric.h
@@ -75,6 +75,7 @@ typedef enum PCPMetric_ {
PCP_PSI_CPUSOME, /* kernel.all.pressure.cpu.some.avg */
PCP_PSI_IOSOME, /* kernel.all.pressure.io.some.avg */
PCP_PSI_IOFULL, /* kernel.all.pressure.io.full.avg */
+ PCP_PSI_IRQFULL, /* kernel.all.pressure.irq.full.avg */
PCP_PSI_MEMSOME, /* kernel.all.pressure.memory.some.avg */
PCP_PSI_MEMFULL, /* kernel.all.pressure.memory.full.avg */
PCP_ZFS_ARC_ANON_SIZE, /* zfs.arc.anon_size */
diff --git a/pcp/Platform.c b/pcp/Platform.c
index 994cef3c..d9f75ebc 100644
--- a/pcp/Platform.c
+++ b/pcp/Platform.c
@@ -106,6 +106,7 @@ const MeterClass* const Platform_meterTypes[] = {
&PressureStallCPUSomeMeter_class,
&PressureStallIOSomeMeter_class,
&PressureStallIOFullMeter_class,
+ &PressureStallIRQFullMeter_class,
&PressureStallMemorySomeMeter_class,
&PressureStallMemoryFullMeter_class,
&ZfsArcMeter_class,
@@ -171,6 +172,7 @@ static const char* Platform_metricNames[] = {
[PCP_PSI_CPUSOME] = "kernel.all.pressure.cpu.some.avg",
[PCP_PSI_IOSOME] = "kernel.all.pressure.io.some.avg",
[PCP_PSI_IOFULL] = "kernel.all.pressure.io.full.avg",
+ [PCP_PSI_IRQFULL] = "kernel.all.pressure.irq.full.avg",
[PCP_PSI_MEMSOME] = "kernel.all.pressure.memory.some.avg",
[PCP_PSI_MEMFULL] = "kernel.all.pressure.memory.full.avg",
@@ -682,6 +684,8 @@ void Platform_getPressureStall(const char* file, bool some, double* ten, double*
metric = PCP_PSI_CPUSOME;
else if (String_eq(file, "io"))
metric = some ? PCP_PSI_IOSOME : PCP_PSI_IOFULL;
+ else if (String_eq(file, "irq"))
+ metric = PCP_PSI_IRQFULL;
else if (String_eq(file, "mem"))
metric = some ? PCP_PSI_MEMSOME : PCP_PSI_MEMFULL;
else

© 2014-2024 Faster IT GmbH | imprint | privacy policy