perf top: Synthesize BPF events for pre-existing loaded BPF programs

So that we can resolve symbols and map names.

Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: kernel-team@fb.com
Cc: netdev@vger.kernel.org
Link: http://lkml.kernel.org/r/20190117161521.1341602-9-songliubraving@fb.comSigned-off-by: default avatarSong Liu <songliubraving@fb.com>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 7b612e29
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include "perf.h" #include "perf.h"
#include "util/annotate.h" #include "util/annotate.h"
#include "util/bpf-event.h"
#include "util/config.h" #include "util/config.h"
#include "util/color.h" #include "util/color.h"
#include "util/drv_configs.h" #include "util/drv_configs.h"
...@@ -1215,6 +1216,12 @@ static int __cmd_top(struct perf_top *top) ...@@ -1215,6 +1216,12 @@ static int __cmd_top(struct perf_top *top)
init_process_thread(top); init_process_thread(top);
ret = perf_event__synthesize_bpf_events(&top->tool, perf_event__process,
&top->session->machines.host,
&top->record_opts);
if (ret < 0)
pr_warning("Couldn't synthesize bpf events.\n");
machine__synthesize_threads(&top->session->machines.host, &opts->target, machine__synthesize_threads(&top->session->machines.host, &opts->target,
top->evlist->threads, false, top->evlist->threads, false,
top->nr_threads_synthesize); top->nr_threads_synthesize);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment