Re: [PATCH 05/11] perf stat: Clear screen only if output file is a tty

From: Ian Rogers
Date: Mon Nov 14 2022 - 13:20:00 EST


On Fri, Nov 11, 2022 at 7:22 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> 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. Make it fail when it's enabled with the output options.
>
> $ perf stat -I 1 --interval-clear -o myfile true
> --interval-clear does not work with output
>
> Usage: perf stat [<options>] [<command>]
>
> -o, --output <file> output file name
> --log-fd <n> log output to fd, instead of stderr
> --interval-clear clear screen in between new interval
>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Acked-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

> ---
> tools/perf/builtin-stat.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> index d5e1670bca20..1d79801f4e84 100644
> --- a/tools/perf/builtin-stat.c
> +++ b/tools/perf/builtin-stat.c
> @@ -2403,6 +2403,14 @@ int cmd_stat(int argc, const char **argv)
> }
> }
>
> + if (stat_config.interval_clear && !isatty(fileno(output))) {
> + fprintf(stderr, "--interval-clear does not work with output\n");
> + parse_options_usage(stat_usage, stat_options, "o", 1);
> + parse_options_usage(NULL, stat_options, "log-fd", 0);
> + parse_options_usage(NULL, stat_options, "interval-clear", 0);
> + return -1;
> + }
> +
> stat_config.output = output;
>
> /*
> --
> 2.38.1.493.g58b659f92b-goog
>