[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAP-5=fWXsOTTuEcM+AnYHeEZEaiy1u4w21DoNO87HaXjjbTRwA@mail.gmail.com>
Date: Tue, 8 Oct 2024 16:33:36 -0700
From: Ian Rogers <irogers@...gle.com>
To: Tim Chen <tim.c.chen@...ux.intel.com>
Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Jiri Olsa <jolsa@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>, Kan Liang <kan.liang@...ux.intel.com>,
John Garry <john.g.garry@...cle.com>, Will Deacon <will@...nel.org>,
James Clark <james.clark@...aro.org>, Mike Leach <mike.leach@...aro.org>,
Leo Yan <leo.yan@...ux.dev>, Yicong Yang <yangyicong@...ilicon.com>,
Weilin Wang <weilin.wang@...el.com>, Thomas Richter <tmricht@...ux.ibm.com>,
Sumanth Korikkar <sumanthk@...ux.ibm.com>, linux-perf-users@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 4/8] perf stat: Drop metric-unit if unit is NULL
On Tue, Oct 8, 2024 at 4:27 PM Tim Chen <tim.c.chen@...ux.intel.com> wrote:
>
> On Fri, 2024-10-04 at 16:41 -0700, Ian Rogers wrote:
> > Avoid cases like:
> > ```
> > $ perf stat -a -M topdownl1 -j -I 1000
> > ...
> > {"interval" : 11.127757275, "counter-value" : "85715898.000000", "unit" : "", "event" : "IDQ.MITE_UOPS", "event-runtime" : 988376123, "pcnt-running" : 100.00, "metric-value" : "0.000000", "metric-unit" : "(null)"}
> > ...
> > ```
> >
> > Signed-off-by: Ian Rogers <irogers@...gle.com>
> > ---
> > tools/perf/util/stat-display.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c
> > index e392ee5efb45..9b65968e37d1 100644
> > --- a/tools/perf/util/stat-display.c
> > +++ b/tools/perf/util/stat-display.c
> > @@ -470,8 +470,9 @@ static void print_metric_json(struct perf_stat_config *config __maybe_unused,
> > struct outstate *os = ctx;
> > FILE *out = os->fh;
> >
> > - fprintf(out, "\"metric-value\" : \"%f\", ", val);
> > - fprintf(out, "\"metric-unit\" : \"%s\"", unit);
> > + fprintf(out, "\"metric-value\" : \"%f\"", val);
> > + if (unit)
> > + fprintf(out, ", \"metric-unit\" : \"%s\"", unit);
>
> I think if there's no metric unit, we should skip printing metric value as a metric
> of 0 has no meaning.
Makes sense to me too. It requires some test fixing to make work. I'll
take a look.
Thanks,
Ian
> > if (!config->metric_only)
> > fprintf(out, "}");
> > }
>
Powered by blists - more mailing lists