xref: /OK3568_Linux_fs/kernel/tools/bpf/bpftool/Documentation/bpftool-perf.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun================
2*4882a593Smuzhiyunbpftool-perf
3*4882a593Smuzhiyun================
4*4882a593Smuzhiyun-------------------------------------------------------------------------------
5*4882a593Smuzhiyuntool for inspection of perf related bpf prog attachments
6*4882a593Smuzhiyun-------------------------------------------------------------------------------
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun:Manual section: 8
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunSYNOPSIS
11*4882a593Smuzhiyun========
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun	**bpftool** [*OPTIONS*] **perf** *COMMAND*
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	*OPTIONS* := { [{ **-j** | **--json** }] [{ **-p** | **--pretty** }] }
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	*COMMANDS* :=
18*4882a593Smuzhiyun	{ **show** | **list** | **help** }
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunPERF COMMANDS
21*4882a593Smuzhiyun=============
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun|	**bpftool** **perf** { **show** | **list** }
24*4882a593Smuzhiyun|	**bpftool** **perf help**
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunDESCRIPTION
27*4882a593Smuzhiyun===========
28*4882a593Smuzhiyun	**bpftool perf { show | list }**
29*4882a593Smuzhiyun		  List all raw_tracepoint, tracepoint, kprobe attachment in the system.
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun		  Output will start with process id and file descriptor in that process,
32*4882a593Smuzhiyun		  followed by bpf program id, attachment information, and attachment point.
33*4882a593Smuzhiyun		  The attachment point for raw_tracepoint/tracepoint is the trace probe name.
34*4882a593Smuzhiyun		  The attachment point for k[ret]probe is either symbol name and offset,
35*4882a593Smuzhiyun		  or a kernel virtual address.
36*4882a593Smuzhiyun		  The attachment point for u[ret]probe is the file name and the file offset.
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	**bpftool perf help**
39*4882a593Smuzhiyun		  Print short help message.
40*4882a593Smuzhiyun
41*4882a593SmuzhiyunOPTIONS
42*4882a593Smuzhiyun=======
43*4882a593Smuzhiyun	.. include:: common_options.rst
44*4882a593Smuzhiyun
45*4882a593SmuzhiyunEXAMPLES
46*4882a593Smuzhiyun========
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun| **# bpftool perf**
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun::
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun      pid 21711  fd 5: prog_id 5  kprobe  func __x64_sys_write  offset 0
53*4882a593Smuzhiyun      pid 21765  fd 5: prog_id 7  kretprobe  func __x64_sys_nanosleep  offset 0
54*4882a593Smuzhiyun      pid 21767  fd 5: prog_id 8  tracepoint  sys_enter_nanosleep
55*4882a593Smuzhiyun      pid 21800  fd 5: prog_id 9  uprobe  filename /home/yhs/a.out  offset 1159
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun|
58*4882a593Smuzhiyun| **# bpftool -j perf**
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun::
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun    [{"pid":21711,"fd":5,"prog_id":5,"fd_type":"kprobe","func":"__x64_sys_write","offset":0}, \
63*4882a593Smuzhiyun     {"pid":21765,"fd":5,"prog_id":7,"fd_type":"kretprobe","func":"__x64_sys_nanosleep","offset":0}, \
64*4882a593Smuzhiyun     {"pid":21767,"fd":5,"prog_id":8,"fd_type":"tracepoint","tracepoint":"sys_enter_nanosleep"}, \
65*4882a593Smuzhiyun     {"pid":21800,"fd":5,"prog_id":9,"fd_type":"uprobe","filename":"/home/yhs/a.out","offset":1159}]
66