perf script: Add some missing event dumps
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 10 Jun 2022 11:33:16 +0000 (14:33 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 23 Jun 2022 14:54:22 +0000 (11:54 -0300)
When the -D option is used, the details of thread-map, cpu-map and
event-update events are not currently dumped. Add prints so that they are.

Example:

  # perf record --kcore sleep 0.1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.021 MB perf.data (7 samples) ]
  # perf script -D | grep 'THREAD\|CPU'
  0 0x4950 [0x28]: PERF_RECORD_THREAD_MAP nr: 1 thread: 35116
  0 0x4978 [0x20]: PERF_RECORD_CPU_MAP: 0-7
  # perf script -D | grep -A4 'UPDATE'
  0 0x4920 [0x30]: PERF_RECORD_EVENT_UPDATE
  ... id:    147
  ... 0-7

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Ian Rogers <irogers@google.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20220610113316.6682-6-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-script.c
tools/perf/util/header.c

index c689054..7cf21ab 100644 (file)
@@ -3633,6 +3633,9 @@ int process_thread_map_event(struct perf_session *session,
        struct perf_tool *tool = session->tool;
        struct perf_script *script = container_of(tool, struct perf_script, tool);
 
+       if (dump_trace)
+               perf_event__fprintf_thread_map(event, stdout);
+
        if (script->threads) {
                pr_warning("Extra thread map event, ignoring.\n");
                return 0;
@@ -3652,6 +3655,9 @@ int process_cpu_map_event(struct perf_session *session,
        struct perf_tool *tool = session->tool;
        struct perf_script *script = container_of(tool, struct perf_script, tool);
 
+       if (dump_trace)
+               perf_event__fprintf_cpu_map(event, stdout);
+
        if (script->cpus) {
                pr_warning("Extra cpu map event, ignoring.\n");
                return 0;
index 53332da..de5b7a0 100644 (file)
@@ -4349,6 +4349,9 @@ int perf_event__process_event_update(struct perf_tool *tool __maybe_unused,
        struct evsel *evsel;
        struct perf_cpu_map *map;
 
+       if (dump_trace)
+               perf_event__fprintf_event_update(event, stdout);
+
        if (!pevlist || *pevlist == NULL)
                return -EINVAL;