[PATCH v2 0/8] CSV/JSON metric thresholds, fix printf modifiers

From: Ian Rogers
Date: Wed Oct 09 2024 - 21:21:47 EST


Resend. The first send cut-off patches 7 and 8. Sorry.

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.

Add printf attribute to functions in color.h that could support
it. Fix bad printf format strings that this detected.

v2. Don't display metric-value for json output if there is no unit.

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

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.rc1.288.g06298d1525-goog