Re: [PATCH v1 0/8] CSV/JSON metric thresholds, fix printf modifiers

From: Namhyung Kim
Date: Tue Oct 08 2024 - 18:53:29 EST


Hi Ian,

On Fri, Oct 04, 2024 at 04:41:12PM -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 in a CSV column or json
> dictionary value.

IIUC it'd show "good" or "bad" when the metric defines a threshold and
show "good", "less good", "nearly bad" or "bad" for the legacy shadow
stats? Anyway it's nice to show if the value is good or not.

>
> Add printf attribute to functions in color.h that could support
> it. Fix bad printf format strings that this detected.
>
> Ian Rogers (8):
> 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: Display metric threshold value in CSV output
> perf stat: Add metric-threshold to json output
> perf stat: Disable metric thresholds for CSV/JSON metric-only mode

Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Thanks,
Namhyung

>
> tools/perf/Documentation/perf-stat.txt | 1 +
> 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/tests/shell/stat+csv_output.sh | 24 ++--
> 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 | 6 +-
> tools/perf/util/stat-display.c | 85 +++++++++---
> tools/perf/util/stat-shadow.c | 128 ++++++++++--------
> tools/perf/util/stat.h | 16 ++-
> 17 files changed, 191 insertions(+), 111 deletions(-)
>
> --
> 2.47.0.rc0.187.ge670bccf7e-goog
>