===== Setup systemtap on rhel7 =====
* [[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/systemtap_beginners_guide/index|SystemTap_Beginners_Guide]]
export LC_ALL=en_US.utf8
subscription-manager register --username=user --password=pass --name=chorn-rhel7-host
subscription-manager list --all --available >allsubs.txt
subscription-manager subscribe --pool=$(cat allsubs.txt | \
egrep 'Employee SKU|プール ID|Pool ID'|grep -A1 'Employee SKU'|grep ID|tail -1|sed -e 's,.* ,,')
subscription-manager repos --disable='*' --enable=rhel-7-server-rpms \
--enable=rhel-7-server-extras-rpms --enable=rhel-7-server-optional-rpms \
--enable=rhel-7-server-debug-rpms --enable=rhel-7-server-source-rpms \
--enable=rhel-7-server-aus-rpms --enable=rhel-7-server-aus-debug-rpms \
--enable=rhel-7-server-aus-optional-rpms --enable=rhel-7-server-aus-source-rpms
subscription-manager release --set=7.2
# update kernel to latest AUS, and start it
yum update kernel
reboot
yum install -y systemtap systemtap-runtime kernel-devel-$(uname -r) \
kernel-debuginfo-$(uname -r) \
kernel-debuginfo-common-$(uname -m)-$(uname -r)
# example code for testing
stap -v -e 'probe vfs.read { printf("something was read\n"); exit()}'
===== important things =====
stap -L 'vfs.read' # list matching probes and variables
stap -l 'vfs.*' # list matching probes
stap -L 'kernel.trace("*")'
stap -l 'kernel.function("*")' # list all kernel functions
man stapprobes