* [PATCH] perf stat: Print topology/time headers with --metric-only
@ 2016-05-20 14:29 Andi Kleen
2016-05-20 15:36 ` Jiri Olsa
0 siblings, 1 reply; 5+ messages in thread
From: Andi Kleen @ 2016-05-20 14:29 UTC (permalink / raw)
To: acme; +Cc: jolsa, linux-kernel, Andi Kleen
From: Andi Kleen <ak@linux.intel.com>
When --metric-only is enabled there were no headers for the topology
in interval mode. Fix this here.
Before
$ perf stat --metric-only -e cycles,instructions -a -I 1000
1.000554967 insn per cycle stalled cycles per insn
1.000554967 0.27
2.000862000 0.24
3.001354948 0.25
After
$ perf stat --metric-only -e cycles,instructions -a -I 1000
1.000554967 insn per cycle stalled cycles per insn
1.000554967 0.27
2.000862000 0.24
3.001354948 0.25
Reported-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
tools/perf/builtin-stat.c | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 7c5c50b61b28..74d0849d728e 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1347,23 +1347,38 @@ static void print_interval(char *prefix, struct timespec *ts)
sprintf(prefix, "%6lu.%09lu%s", ts->tv_sec, ts->tv_nsec, csv_sep);
- if (num_print_interval == 0 && !csv_output && !metric_only) {
+ if (num_print_interval == 0 && !csv_output) {
switch (stat_config.aggr_mode) {
case AGGR_SOCKET:
- fprintf(output, "# time socket cpus counts %*s events\n", unit_width, "unit");
+ fprintf(output, "# time socket cpus");
+ if (!metric_only)
+ fprintf(output, " counts %*s events", unit_width, "unit");
+ fputc('\n', output);
break;
case AGGR_CORE:
- fprintf(output, "# time core cpus counts %*s events\n", unit_width, "unit");
+ fprintf(output, "# time core cpus");
+ if (!metric_only)
+ fprintf(output, " counts %*s events", unit_width, "unit");
+ fputc('\n', output);
break;
case AGGR_NONE:
- fprintf(output, "# time CPU counts %*s events\n", unit_width, "unit");
+ fprintf(output, "# time CPU");
+ if (!metric_only)
+ fprintf(output, " counts %*s events", unit_width, "unit");
+ fputc('\n', output);
break;
case AGGR_THREAD:
- fprintf(output, "# time comm-pid counts %*s events\n", unit_width, "unit");
+ fprintf(output, "# time comm-pid");
+ if (!metric_only)
+ fprintf(output, " counts %*s events\n", unit_width, "unit");
+ fputc('\n', output);
break;
case AGGR_GLOBAL:
default:
- fprintf(output, "# time counts %*s events\n", unit_width, "unit");
+ fprintf(output, "# time");
+ if (!metric_only)
+ fprintf(output, " counts %*s events\n", unit_width, "unit");
+ fputc('\n', output);
case AGGR_UNSET:
break;
}
--
2.5.5
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] perf stat: Print topology/time headers with --metric-only
2016-05-20 14:29 [PATCH] perf stat: Print topology/time headers with --metric-only Andi Kleen
@ 2016-05-20 15:36 ` Jiri Olsa
2016-05-20 15:43 ` Andi Kleen
0 siblings, 1 reply; 5+ messages in thread
From: Jiri Olsa @ 2016-05-20 15:36 UTC (permalink / raw)
To: Andi Kleen; +Cc: acme, jolsa, linux-kernel, Andi Kleen
On Fri, May 20, 2016 at 07:29:59AM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
>
> When --metric-only is enabled there were no headers for the topology
> in interval mode. Fix this here.
>
> Before
>
> $ perf stat --metric-only -e cycles,instructions -a -I 1000
> 1.000554967 insn per cycle stalled cycles per insn
> 1.000554967 0.27
> 2.000862000 0.24
> 3.001354948 0.25
>
> After
>
> $ perf stat --metric-only -e cycles,instructions -a -I 1000
> 1.000554967 insn per cycle stalled cycles per insn
> 1.000554967 0.27
> 2.000862000 0.24
> 3.001354948 0.25
hum, I'm getting something else:
[jolsa@ibm-x3650m4-01 perf]$ sudo ./perf stat --topdown -I 1000 -a
nmi_watchdog enabled with topdown. May give wrong results.
Disable with echo 0 > /proc/sys/kernel/nmi_watchdog
# time core cpus
1.001710838 retiring bad speculation frontend bound backend bound
1.001710838 S0-C0 2 38.1% -0.0% 58.8% 3.1%
1.001710838 S0-C1 2 38.0% 0.0% 59.4% 2.5%
[jolsa@ibm-x3650m4-01 perf]$ sudo ./perf stat --metric-only -e cycles,instructions -a -I 1000
# time
1.000756338 insn per cycle stalled cycles per insn
1.000756338 0.32
2.001155562 0.30
jirka
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] perf stat: Print topology/time headers with --metric-only
2016-05-20 15:36 ` Jiri Olsa
@ 2016-05-20 15:43 ` Andi Kleen
2016-05-20 15:47 ` Jiri Olsa
0 siblings, 1 reply; 5+ messages in thread
From: Andi Kleen @ 2016-05-20 15:43 UTC (permalink / raw)
To: Jiri Olsa; +Cc: Andi Kleen, acme, jolsa, linux-kernel
> hum, I'm getting something else:
>
> [jolsa@ibm-x3650m4-01 perf]$ sudo ./perf stat --topdown -I 1000 -a
> nmi_watchdog enabled with topdown. May give wrong results.
> Disable with echo 0 > /proc/sys/kernel/nmi_watchdog
> # time core cpus
> 1.001710838 retiring bad speculation frontend bound backend bound
> 1.001710838 S0-C0 2 38.1% -0.0% 58.8% 3.1%
> 1.001710838 S0-C1 2 38.0% 0.0% 59.4% 2.5%
>
>
> [jolsa@ibm-x3650m4-01 perf]$ sudo ./perf stat --metric-only -e cycles,instructions -a -I 1000
> # time
> 1.000756338 insn per cycle stalled cycles per insn
> 1.000756338 0.32
> 2.001155562 0.30
Right sorry, that was me not cutting and pasting correctly.
Your output is correct and intended.
-Andi
--
ak@linux.intel.com -- Speaking for myself only
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] perf stat: Print topology/time headers with --metric-only
2016-05-20 15:43 ` Andi Kleen
@ 2016-05-20 15:47 ` Jiri Olsa
2016-05-20 19:53 ` Andi Kleen
0 siblings, 1 reply; 5+ messages in thread
From: Jiri Olsa @ 2016-05-20 15:47 UTC (permalink / raw)
To: Andi Kleen; +Cc: Andi Kleen, acme, jolsa, linux-kernel
On Fri, May 20, 2016 at 08:43:19AM -0700, Andi Kleen wrote:
> > hum, I'm getting something else:
> >
> > [jolsa@ibm-x3650m4-01 perf]$ sudo ./perf stat --topdown -I 1000 -a
> > nmi_watchdog enabled with topdown. May give wrong results.
> > Disable with echo 0 > /proc/sys/kernel/nmi_watchdog
> > # time core cpus
> > 1.001710838 retiring bad speculation frontend bound backend bound
> > 1.001710838 S0-C0 2 38.1% -0.0% 58.8% 3.1%
> > 1.001710838 S0-C1 2 38.0% 0.0% 59.4% 2.5%
> >
> >
> > [jolsa@ibm-x3650m4-01 perf]$ sudo ./perf stat --metric-only -e cycles,instructions -a -I 1000
> > # time
> > 1.000756338 insn per cycle stalled cycles per insn
> > 1.000756338 0.32
> > 2.001155562 0.30
>
> Right sorry, that was me not cutting and pasting correctly.
>
> Your output is correct and intended.
hum, I dont think so.. headers should be on the same line, right?
jirka
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] perf stat: Print topology/time headers with --metric-only
2016-05-20 15:47 ` Jiri Olsa
@ 2016-05-20 19:53 ` Andi Kleen
0 siblings, 0 replies; 5+ messages in thread
From: Andi Kleen @ 2016-05-20 19:53 UTC (permalink / raw)
To: Jiri Olsa; +Cc: Andi Kleen, acme, jolsa, linux-kernel
On Fri, May 20, 2016 at 05:47:38PM +0200, Jiri Olsa wrote:
> On Fri, May 20, 2016 at 08:43:19AM -0700, Andi Kleen wrote:
> > > hum, I'm getting something else:
> > >
> > > [jolsa@ibm-x3650m4-01 perf]$ sudo ./perf stat --topdown -I 1000 -a
> > > nmi_watchdog enabled with topdown. May give wrong results.
> > > Disable with echo 0 > /proc/sys/kernel/nmi_watchdog
> > > # time core cpus
> > > 1.001710838 retiring bad speculation frontend bound backend bound
> > > 1.001710838 S0-C0 2 38.1% -0.0% 58.8% 3.1%
> > > 1.001710838 S0-C1 2 38.0% 0.0% 59.4% 2.5%
> > >
> > >
> > > [jolsa@ibm-x3650m4-01 perf]$ sudo ./perf stat --metric-only -e cycles,instructions -a -I 1000
> > > # time
> > > 1.000756338 insn per cycle stalled cycles per insn
> > > 1.000756338 0.32
> > > 2.001155562 0.30
> >
> > Right sorry, that was me not cutting and pasting correctly.
> >
> > Your output is correct and intended.
>
> hum, I dont think so.. headers should be on the same line, right?
I posted new patches which move it to the same line, and also
fix another bug I noticed.
-Andi
--
ak@linux.intel.com -- Speaking for myself only
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-05-20 19:53 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-20 14:29 [PATCH] perf stat: Print topology/time headers with --metric-only Andi Kleen
2016-05-20 15:36 ` Jiri Olsa
2016-05-20 15:43 ` Andi Kleen
2016-05-20 15:47 ` Jiri Olsa
2016-05-20 19:53 ` Andi Kleen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox