From 3052bc20247c17f97a5068a1a0ed89a018bff80d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Treffer?= Date: Mon, 13 Jul 2026 16:24:01 +0200 Subject: [PATCH] Fix perf profiler flag handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Warn on unknown flag values 2. Reset the list of profilers if an allowlist is used Signed-off-by: René Treffer --- collector/perf_linux.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/collector/perf_linux.go b/collector/perf_linux.go index e4c4b81d29..a7f95507bd 100644 --- a/collector/perf_linux.go +++ b/collector/perf_linux.go @@ -338,19 +338,23 @@ func NewPerfCollector(logger *slog.Logger) (Collector, error) { // Configure perf profilers hardwareProfilers := perf.AllHardwareProfilers if len(*perfHwProfilerFlag) > 0 { - // hardwareProfilers = 0 + hardwareProfilers = 0 for _, hf := range *perfHwProfilerFlag { if v, ok := perfHardwareProfilerMap[hf]; ok { hardwareProfilers |= v + } else { + logger.Error("Unknown hardware profiler: " + hf) } } } softwareProfilers := perf.AllSoftwareProfilers if len(*perfSwProfilerFlag) > 0 { - // softwareProfilers = 0 + softwareProfilers = 0 for _, sf := range *perfSwProfilerFlag { if v, ok := perfSoftwareProfilerMap[sf]; ok { softwareProfilers |= v + } else { + logger.Error("Unknown software profiler: " + sf) } } } @@ -360,6 +364,8 @@ func NewPerfCollector(logger *slog.Logger) (Collector, error) { for _, cf := range *perfCaProfilerFlag { if v, ok := perfCacheProfilerMap[cf]; ok { cacheProfilers |= v + } else { + logger.Error("Unknown cache profiler: " + cf) } } }