diff mbox series

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

Message ID 20220711093218.10967-8-adrian.hunter@intel.com (mailing list archive)
State New, archived
Headers show
Series perf intel-pt: Add support for tracing virtual machine user space on the host | expand

Commit Message

Adrian Hunter July 11, 2022, 9:31 a.m. UTC
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>
---
 tools/perf/Documentation/perf-script.txt | 3 +++
 tools/perf/builtin-script.c              | 8 ++++++++
 2 files changed, 11 insertions(+)

Comments

Ian Rogers July 19, 2022, 5:11 p.m. UTC | #1
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
>
diff mbox series

Patch

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;