Commit-ID:  c818cc063089e78bc31845d1eb6a1f0bedee1eae
Gitweb:     https://git.kernel.org/tip/c818cc063089e78bc31845d1eb6a1f0bedee1eae
Author:     Jiri Olsa <jo...@kernel.org>
AuthorDate: Mon, 2 Jul 2018 15:42:02 +0200
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
CommitDate: Wed, 11 Jul 2018 09:43:03 -0400

perf stat: Fix --interval_clear option

Currently we display extra header line, like:

  # perf stat -I 1000 -a --interval-clear
  #           time             counts unit events
         insn per cycle branch-misses of all branches
       2.964917103        3855.349912      cpu-clock (msec)          #    3.855 
CPUs utilized
       2.964917103             23,993      context-switches          #    0.006 
M/sec
       2.964917103              1,301      cpu-migrations            #    0.329 
K/sec
       ...

Fixing the condition and getting proper:

  # perf stat -I 1000 -a --interval-clear
  #           time             counts unit events
       2.359048938        1432.492228      cpu-clock (msec)          #    1.432 
CPUs utilized
       2.359048938              7,613      context-switches          #    0.002 
M/sec
       2.359048938                419      cpu-migrations            #    0.133 
K/sec
       ...

Signed-off-by: Jiri Olsa <jo...@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <a...@redhat.com>
Cc: Alexander Shishkin <alexander.shish...@linux.intel.com>
Cc: David Ahern <dsah...@gmail.com>
Cc: Namhyung Kim <namhy...@kernel.org>
Cc: Peter Zijlstra <pet...@infradead.org>
Fixes: 9660e08ee8cb ("perf stat: Add --interval-clear option")
Link: http://lkml.kernel.org/r/20180702134202.17745-2-jo...@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/perf/builtin-stat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 22547a490e1f..05be023c3f0e 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1742,7 +1742,7 @@ static void print_interval(char *prefix, struct timespec 
*ts)
                }
        }
 
-       if ((num_print_interval == 0 && metric_only) || interval_clear)
+       if ((num_print_interval == 0 || interval_clear) && metric_only)
                print_metric_headers(" ", true);
        if (++num_print_interval == 25)
                num_print_interval = 0;

Reply via email to