Re: [PATCH 07/35] perf script: Add --dump-unsorted-raw-trace option

Ian Rogers
2022-07-19T17:12:13Z

On Mon, Jul 11, 2022 at 2:33 AM Adrian Hunter <adrian.hunter@intel.com> wrote:
>
> When reviewing the results of perf inject, it is useful to be able to see
> the events in the order they appear in the file.
>
> So add --dump-unsorted-raw-trace option to do an unsorted dump.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>

Acked-by: Ian Rogers <irogers@google.com>

Thanks,
Ian

> ---
> tools/perf/Documentation/perf-script.txt | 3 +++
> tools/perf/builtin-script.c | 8 ++++++++
> 2 files changed, 11 insertions(+)
>
> diff --git a/tools/perf/Documentation/perf-script.txt b/tools/perf/Documentation/perf-script.txt
> index 1a557ff8f210..e250ff5566cf 100644
> --- a/tools/perf/Documentation/perf-script.txt
> +++ b/tools/perf/Documentation/perf-script.txt
> @@ -79,6 +79,9 @@ OPTIONS
> --dump-raw-trace=::
> Display verbose dump of the trace data.
>
> +--dump-unsorted-raw-trace=::
> + Same as --dump-raw-trace but not sorted in time order.
> +
> -L::
> --Latency=::
> Show latency attributes (irqs/preemption disabled, etc).
> diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
> index 7cf21ab16f4f..4b00a50faf00 100644
> --- a/tools/perf/builtin-script.c
> +++ b/tools/perf/builtin-script.c
> @@ -3746,6 +3746,7 @@ int cmd_script(int argc, const char **argv)
> bool header = false;
> bool header_only = false;
> bool script_started = false;
> + bool unsorted_dump = false;
> char *rec_script_path = NULL;
> char *rep_script_path = NULL;
> struct perf_session *session;
> @@ -3794,6 +3795,8 @@ int cmd_script(int argc, const char **argv)
> const struct option options[] = {
> OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
> "dump raw trace in ASCII"),
> + OPT_BOOLEAN(0, "dump-unsorted-raw-trace", &unsorted_dump,
> + "dump unsorted raw trace in ASCII"),
> OPT_INCR('v', "verbose", &verbose,
> "be more verbose (show symbol address, etc)"),
> OPT_BOOLEAN('L', "Latency", &latency_format,
> @@ -3956,6 +3959,11 @@ int cmd_script(int argc, const char **argv)
> data.path = input_name;
> data.force = symbol_conf.force;
>
> + if (unsorted_dump) {
> + dump_trace = true;
> + script.tool.ordered_events = false;
> + }
> +
> if (symbol__validate_sym_arguments())
> return -1;
>
> --
> 2.25.1
>