From 6d1c5de5188f5b00763113ede48c2371027ab012 Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Tue, 14 Feb 2023 16:13:02 +1100 Subject: PCP: add IRQ PSI meter --- pcp/PCPMetric.h | 1 + pcp/Platform.c | 4 ++++ 2 files changed, 5 insertions(+) (limited to 'pcp') 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 -- cgit v1.2.3