Re: [PATCH v5 0/7] CSV/JSON metric thresholds, fix printf modifiers
From: Namhyung Kim
Date: Thu Oct 17 2024 - 14:20:26 EST
Hi Ian,
On Thu, Oct 17, 2024 at 10:53:49AM -0700, Ian Rogers wrote:
> Metric thresholds are being computed for CSV and JSON output but not
> displayed. Rename the color that encodes the threshold as enum values
> and use to generate string constants for a json dictionary
> value. Disable metric thresholds with CSV output.
>
> Add printf attribute to functions in color.h that could support
> it. Fix bad printf format strings that this detected.
Thanks for the quick fix, I'll take this.
>
> v5. Switch some u64 printf flags to PRIx64 rather than llx (kernel
> convention) to resolve 32-bit build issues.
> v4. Drop CSV metric thresholds due to formatting variation on
> hypervisors (broken counters) and not as detected by
> tests/shell/stat+csv_output.sh.
I'm ok with dropping CSV support for now, but could you explain
a bit more detail about the problem? Is it possible to see the
same problem on host if it has a unsupported event?
Thanks,
Namhyung
> v3. Rebase.
> v2. Don't display metric-value for json output if there is no unit.
>
> Ian Rogers (7):
> perf color: Add printf format checking and resolve issues
> perf stat: Fix/add parameter names for print_metric
> perf stat: Display "none" for NaN with metric only json
> perf stat: Drop metric-unit if unit is NULL
> perf stat: Change color to threshold in print_metric
> perf stat: Add metric-threshold to json output
> perf stat: Disable metric thresholds for CSV and JSON metric-only mode
>
> tools/perf/arch/x86/util/iostat.c | 2 +-
> tools/perf/builtin-sched.c | 2 +-
> tools/perf/builtin-script.c | 6 +-
> tools/perf/builtin-stat.c | 8 ++
> tools/perf/builtin-trace.c | 2 +-
> .../tests/shell/lib/perf_json_output_lint.py | 5 +-
> tools/perf/util/arm-spe.c | 2 +-
> tools/perf/util/color.h | 9 +-
> tools/perf/util/intel-bts.c | 2 +-
> tools/perf/util/intel-pt.c | 2 +-
> tools/perf/util/s390-cpumsf.c | 2 +-
> tools/perf/util/s390-sample-raw.c | 8 +-
> tools/perf/util/stat-display.c | 73 +++++++---
> tools/perf/util/stat-shadow.c | 128 ++++++++++--------
> tools/perf/util/stat.h | 16 ++-
> 15 files changed, 170 insertions(+), 97 deletions(-)
>
> --
> 2.47.0.105.g07ac214952-goog
>