Perf
This article needs improvements to better conform to style guidelines.
This page is 'orphaned' as no other pages link to it. Please link to it in appropriate pages or navigation boxes. Build the web! |
- It has been suggested that this page should be merged with Varnish
Observe $pid behavior
$ sudo perf record -F 99 -a -g -p $pid -- sleep 5 $ sudo perf report -n [--stdio]
Probes Cheatsheet
List available functions:
$ sudo perf probe -F -x /usr/sbin/varnishd
Define a probe event for each function named "smf_*":
$ sudo perf probe -x /usr/sbin/varnishd --add 'smf_*'
List defined probes:
$ sudo perf probe -l probe_varnishd:smf_alloc (on smf_alloc@storage/storage_file.c in /usr/sbin/varnishd) probe_varnishd:smf_free (on smf_free@storage/storage_file.c in /usr/sbin/varnishd) probe_varnishd:smf_init (on smf_init@storage/storage_file.c in /usr/sbin/varnishd) probe_varnishd:smf_open (on smf_open@storage/storage_file.c in /usr/sbin/varnishd) probe_varnishd:smf_open_chunk (on smf_open_chunk@storage/storage_file.c in /usr/sbin/varnishd) probe_varnishd:smf_trim (on smf_trim@storage/storage_file.c in /usr/sbin/varnishd)
Trace smf_* function calls:
$ sudo perf trace --no-syscalls --ev 'probe_varnishd:smf_*' 0.000 probe_varnishd:smf_alloc:(461af0)) 0.038 probe_varnishd:smf_alloc:(461af0)) 0.194 probe_varnishd:smf_free:(461630)) [...]
Trace smf_alloc duration:
$ sudo perf probe -x /usr/sbin/varnishd --add 'smf_alloc_exit=smf_alloc%return' $ sudo perf trace --no-syscalls --ev 'probe_varnishd:smf_alloc*' 0.000 probe_varnishd:smf_alloc:(461af0)) 0.022 probe_varnishd:smf_alloc_exit:(461af0 <- 45fc36))
Print function parameters:
$ sudo perf probe -x /usr/sbin/varnishd --add 'smf_alloc_params=smf_alloc $params' $ sudo perf trace --no-syscalls --ev 'probe_varnishd:smf_alloc_params' 0.000 probe_varnishd:smf_alloc_params:(461af0) st=0x7f24910b43c0 size=0x118) 0.024 probe_varnishd:smf_alloc_params:(461af0) st=0x7f24910b43c0 size=0x11e)