/usr/share/doc/bpfcc-tools/examples/doc
NameSizeModeActions
lib/-0755rm
argdist_example.txt230290644editdlrm
bashreadline_example.txt8820644editdlrm
bindsnoop_example.txt45300644editdlrm
biolatency_example.txt240210644editdlrm
biolatpcts_example.txt30400644editdlrm
biopattern_example.txt14060644editdlrm
biosnoop_example.txt35490644editdlrm
biotop_example.txt93260644editdlrm
bitesize_example.txt51000644editdlrm
bpflist_example.txt21790644editdlrm
btrfsdist_example.txt95450644editdlrm
btrfsslower_example.txt68120644editdlrm
cachestat_example.txt40120644editdlrm
cachetop_example.txt39180644editdlrm
capable_example.txt66550644editdlrm
cobjnew_example.txt30440644editdlrm
compactsnoop_example.txt101600644editdlrm
cpudist_example.txt168760644editdlrm
cpuunclaimed_example.txt155680644editdlrm
criticalstat_example.txt49260644editdlrm
cthreads_example.txt21320644editdlrm
dbslower_example.txt39810644editdlrm
dbstat_example.txt66560644editdlrm
dcsnoop_example.txt43710644editdlrm
dcstat_example.txt33430644editdlrm
deadlock_example.txt166430644editdlrm
dirtop_example.txt50970644editdlrm
drsnoop_example.txt51200644editdlrm
execsnoop_example.txt67950644editdlrm
exitsnoop_example.txt63730644editdlrm
ext4dist_example.txt89910644editdlrm
ext4slower_example.txt113350644editdlrm
filegone_example.txt7430644editdlrm
filelife_example.txt20920644editdlrm
fileslower_example.txt57110644editdlrm
filetop_example.txt69680644editdlrm
funccount_example.txt136050644editdlrm
funcinterval_example.txt156460644editdlrm
funclatency_example.txt214850644editdlrm
funcslower_example.txt67860644editdlrm
gethostlatency_example.txt13170644editdlrm
hardirqs_example.txt379360644editdlrm
inject_example.txt68320644editdlrm
javacalls_example.txt40000644editdlrm
javaflow_example.txt60170644editdlrm
javagc_example.txt38670644editdlrm
javaobjnew_example.txt30440644editdlrm
javastat_example.txt30520644editdlrm
javathreads_example.txt21320644editdlrm
killsnoop_example.txt13390644editdlrm
klockstat_example.txt85360644editdlrm
kvmexit_example.txt119090644editdlrm
llcstat_example.txt33150644editdlrm
mdflush_example.txt17800644editdlrm
memleak_example.txt102630644editdlrm
mountsnoop_example.txt14810644editdlrm
mysqld_qslower_example.txt23510644editdlrm
netqtop_example.txt124970644editdlrm
nfsdist_example.txt85080644editdlrm
nfsslower_example.txt78670644editdlrm
nodegc_example.txt38670644editdlrm
nodestat_example.txt30520644editdlrm
offcputime_example.txt196620644editdlrm
offwaketime_example.txt382580644editdlrm
oomkill_example.txt19250644editdlrm
opensnoop_example.txt105730644editdlrm
perlcalls_example.txt40000644editdlrm
perlflow_example.txt60170644editdlrm
perlstat_example.txt30520644editdlrm
phpcalls_example.txt40000644editdlrm
phpflow_example.txt60170644editdlrm
phpstat_example.txt30520644editdlrm
pidpersec_example.txt6770644editdlrm
ppchcalls_example.txt70970644editdlrm
profile_example.txt318260644editdlrm
pythoncalls_example.txt40000644editdlrm
pythonflow_example.txt60170644editdlrm
pythongc_example.txt38670644editdlrm
pythonstat_example.txt30520644editdlrm
rdmaucma_example.txt19830644editdlrm
readahead_example.txt32480644editdlrm
reset-trace_example.txt93650644editdlrm
rubycalls_example.txt40000644editdlrm
rubyflow_example.txt60170644editdlrm
rubygc_example.txt38670644editdlrm
rubyobjnew_example.txt30440644editdlrm
rubystat_example.txt30520644editdlrm
runqlat_example.txt320510644editdlrm
runqlen_example.txt121360644editdlrm
runqslower_example.txt21840644editdlrm
shmsnoop_example.txt27980644editdlrm
slabratetop_example.txt53470644editdlrm
sofdsnoop_example.txt32110644editdlrm
softirqs_example.txt112860644editdlrm
solisten_example.txt23550644editdlrm
sslsniff_example.txt69020644editdlrm
stackcount_example.txt219650644editdlrm
statsnoop_example.txt30910644editdlrm
swapin.txt26320644editdlrm
swapin_example.txt14210644editdlrm
syncsnoop_example.txt3870644editdlrm
syscount_example.txt64190644editdlrm
tclcalls_example.txt40000644editdlrm
tclflow_example.txt60170644editdlrm
tclobjnew_example.txt30440644editdlrm
tclstat_example.txt30520644editdlrm
tcpaccept_example.txt28220644editdlrm
tcpcong_example.txt341060644editdlrm
tcpconnect_example.txt64200644editdlrm
tcpconnlat_example.txt26160644editdlrm
tcpdrop_example.txt20010644editdlrm
tcplife_example.txt69950644editdlrm
tcpretrans_example.txt39380644editdlrm
tcprtt_example.txt100700644editdlrm
tcpstates_example.txt29080644editdlrm
tcpsubnet_example.txt55030644editdlrm
tcpsynbl_example.txt11790644editdlrm
tcptop_example.txt58900644editdlrm
tcptracer_example.txt20290644editdlrm
threadsnoop_example.txt10940644editdlrm
tplist_example.txt45070644editdlrm
trace_example.txt221360644editdlrm
ttysnoop_example.txt33150644editdlrm
vfscount_example.txt22210644editdlrm
vfsstat_example.txt16960644editdlrm
virtiostat_example.txt26780644editdlrm
wakeuptime_example.txt340480644editdlrm
xfsdist_example.txt69280644editdlrm
xfsslower_example.txt70800644editdlrm
zfsdist_example.txt97530644editdlrm
zfsslower_example.txt75510644editdlrm
Edit: /usr/share/doc/bpfcc-tools/examples/doc/lib/uobjnew_example.txt (3044B)
Demonstrations of uobjnew. uobjnew summarizes new object allocation events and prints out statistics on which object type has been allocated frequently, and how many bytes of that type have been allocated. This helps diagnose common allocation paths, which can in turn cause heavy garbage collection. For example, trace Ruby object allocations when running some simple commands in irb (the Ruby REPL): # ./uobjnew -l ruby 27245 Tracing allocations in process 27245 (language: ruby)... Ctrl-C to quit. TYPE # ALLOCS # BYTES NameError 1 0 RubyToken::TkSPACE 1 0 RubyToken::TkSTRING 1 0 String 7 0 RubyToken::TkNL 2 0 RubyToken::TkIDENTIFIER 2 0 array 55 129 string 344 1348 ^C Plain C/C++ allocations (through "malloc") are also supported. We can't report the type being allocated, but we can report the object sizes at least. Also, print only the top 10 rows by number of bytes allocated: # ./uobjnew -S 10 -l c 27245 Tracing allocations in process 27245 (language: c)... Ctrl-C to quit. TYPE # ALLOCS # BYTES block size 64 22 1408 block size 992 2 1984 block size 32 68 2176 block size 48 48 2304 block size 944 4 3776 block size 1104 4 4416 block size 160 32 5120 block size 535 15 8025 block size 128 112 14336 block size 80 569 45520 ^C USAGE message: # ./uobjnew -h usage: uobjnew.py [-h] [-l {c,java,ruby,tcl}] [-C TOP_COUNT] [-S TOP_SIZE] [-v] pid [interval] Summarize object allocations in high-level languages. positional arguments: pid process id to attach to interval print every specified number of seconds optional arguments: -h, --help show this help message and exit -l {c,java,ruby,tcl}, --language {c,java,ruby,tcl} language to trace -C TOP_COUNT, --top-count TOP_COUNT number of most frequently allocated types to print -S TOP_SIZE, --top-size TOP_SIZE number of largest types by allocated bytes to print -v, --verbose verbose mode: print the BPF program (for debugging purposes) examples: ./uobjnew -l java 145 # summarize Java allocations in process 145 ./uobjnew -l c 2020 1 # grab malloc() sizes and print every second ./uobjnew -l ruby 6712 -C 10 # top 10 Ruby types by number of allocations ./uobjnew -l ruby 6712 -S 10 # top 10 Ruby types by total size