perf stat: Clear screen only if output file is a tty
authorNamhyung Kim <namhyung@kernel.org>
Mon, 7 Nov 2022 21:33:08 +0000 (13:33 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 14 Nov 2022 16:21:19 +0000 (13:21 -0300)
The --interval-clear option makes perf stat to clear the terminal at
each interval.  But it doesn't need to clear the screen when it saves
to a file.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Link: https://lore.kernel.org/r/20221107213314.3239159-4-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/stat-display.c

index 576283a..ccb8045 100644 (file)
@@ -890,7 +890,7 @@ static void print_interval(struct perf_stat_config *config,
        FILE *output = config->output;
        static int num_print_interval;
 
-       if (config->interval_clear)
+       if (config->interval_clear && isatty(fileno(output)))
                puts(CONSOLE_CLEAR);
 
        if (!config->iostat_run && !config->json_output)