Adding --show-all-events option to show all
side-bad events with single option, like:

  $ perf script --show-all-events
  swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: 
[0xffffffffa6000000(0xc00e41) @ 0xffffffffa6000000]: x [kernel.kallsyms]_text
  ...
  swapper     0 [000]     0.000000: PERF_RECORD_KSYMBOL addr ffffffffc01bc362 
len 229 type 1 flags 0x0 name bpf_prog_7be49e3934a125ba
  swapper     0 [000]     0.000000: PERF_RECORD_BPF_EVENT type 1, flags 0, id 29
  ...
  swapper     0 [000]     0.000000: PERF_RECORD_FORK(1:1):(0:0)
  systemd     0 [000]     0.000000: PERF_RECORD_COMM: systemd:1/1
  ...
  swapper     0 [000] 63587.039518:          1 cycles:  ffffffffa60698b4 
[unknown] ([kernel.kallsyms])
  swapper     0 [000] 63587.039522:          1 cycles:  ffffffffa60698b4 
[unknown] ([kernel.kallsyms])

Link: http://lkml.kernel.org/n/tip-g7vmuwn6i7pa8cdpnxl9v...@git.kernel.org
Signed-off-by: Jiri Olsa <jo...@kernel.org>
---
 tools/perf/Documentation/perf-script.txt |  3 +++
 tools/perf/builtin-script.c              | 13 +++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/tools/perf/Documentation/perf-script.txt 
b/tools/perf/Documentation/perf-script.txt
index af8282782911..ddcd08bf0172 100644
--- a/tools/perf/Documentation/perf-script.txt
+++ b/tools/perf/Documentation/perf-script.txt
@@ -316,6 +316,9 @@ OPTIONS
 --show-bpf-events
        Display bpf events i.e. events of type PERF_RECORD_KSYMBOL and 
PERF_RECORD_BPF_EVENT.
 
+--show-all-events
+       Display all side-band events i.e. enable all --show-*-events options.
+
 --demangle::
        Demangle symbol names to human readable form. It's enabled by default,
        disable with --no-demangle.
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 3a48a2627670..e7462dcab2c6 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -1607,6 +1607,7 @@ struct perf_script {
        bool                    show_lost_events;
        bool                    show_round_events;
        bool                    show_bpf_events;
+       bool                    show_all_events;
        bool                    allocated;
        bool                    per_event_dump;
        struct cpu_map          *cpus;
@@ -2436,6 +2437,16 @@ static int __cmd_script(struct perf_script *script)
 
        perf_stat__init_shadow_stats();
 
+       if (script->show_all_events) {
+               script->show_task_events        = true;
+               script->show_mmap_events        = true;
+               script->show_switch_events      = true;
+               script->show_namespace_events   = true;
+               script->show_lost_events        = true;
+               script->show_round_events       = true;
+               script->show_bpf_events         = true;
+       }
+
        /* override event processing functions */
        if (script->show_task_events) {
                script->tool.comm = process_comm_event;
@@ -3481,6 +3492,8 @@ int cmd_script(int argc, const char **argv)
                    "Show round events (if recorded)"),
        OPT_BOOLEAN('\0', "show-bpf-events", &script.show_bpf_events,
                    "Show bpf related events (if recorded)"),
+       OPT_BOOLEAN('\0', "show-all-events", &script.show_all_events,
+                   "Show all side-band events (if recorded)"),
        OPT_BOOLEAN('\0', "per-event-dump", &script.per_event_dump,
                    "Dump trace output to files named by the monitored events"),
        OPT_BOOLEAN('f', "force", &symbol_conf.force, "don't complain, do it"),
-- 
2.20.1

Reply via email to