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