1*387f9dfdSAndroid Build Coastguard Worker#!/usr/bin/bash 2*387f9dfdSAndroid Build Coastguard Worker 3*387f9dfdSAndroid Build Coastguard Worker# sudo apt-get install linux-headers-$(uname -r) "llvm-13*" libclang-13-dev luajit luajit-5.1-dev libelf-dev python3-setuptools libdebuginfod-dev arping netperf iperf 4*387f9dfdSAndroid Build Coastguard Worker# mkdir -p build && cd build 5*387f9dfdSAndroid Build Coastguard Worker# cmake .. -DPYTHON_CMD=python3 6*387f9dfdSAndroid Build Coastguard Worker# make -j4 7*387f9dfdSAndroid Build Coastguard Worker# sudo make install 8*387f9dfdSAndroid Build Coastguard Worker 9*387f9dfdSAndroid Build Coastguard Workergcc --version 10*387f9dfdSAndroid Build Coastguard Workerrm -rf examples/usdt_sample/build_gcc 11*387f9dfdSAndroid Build Coastguard Workermkdir -p examples/usdt_sample/build_gcc && pushd examples/usdt_sample/build_gcc 12*387f9dfdSAndroid Build Coastguard Workercmake .. 13*387f9dfdSAndroid Build Coastguard Workermake 14*387f9dfdSAndroid Build Coastguard Workerpopd 15*387f9dfdSAndroid Build Coastguard Worker 16*387f9dfdSAndroid Build Coastguard Worker# sudo dnf install systemtap-sdt-dev # For Ubuntu 21.10, other distro's might have differently named packages. 17*387f9dfdSAndroid Build Coastguard Worker# dtrace -h -s usdt_sample_lib1/src/lib1_sdt.d -o usdt_sample_lib1/include/usdt_sample_lib1/lib1_sdt.h 18*387f9dfdSAndroid Build Coastguard Worker# dtrace -G -s usdt_sample_lib1/src/lib1_sdt.d -o lib1_sdt.o 19*387f9dfdSAndroid Build Coastguard Worker 20*387f9dfdSAndroid Build Coastguard Workerpython3 tools/tplist.py -l examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so 21*387f9dfdSAndroid Build Coastguard Workerreadelf -n examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so 22*387f9dfdSAndroid Build Coastguard Worker 23*387f9dfdSAndroid Build Coastguard Workerexamples/usdt_sample/build_gcc/usdt_sample_app1/usdt_sample_app1 "usdt" 1 30 10 1 50 & 24*387f9dfdSAndroid Build Coastguard Workerpid=$! 25*387f9dfdSAndroid Build Coastguard Worker 26*387f9dfdSAndroid Build Coastguard Workerecho "argdist.py - Using non-sdt probes" 27*387f9dfdSAndroid Build Coastguard Workersudo python3 tools/argdist.py -p ${pid} -i 5 -C "u:$(pwd)/examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start():char*:arg2#input" -z 32 & 28*387f9dfdSAndroid Build Coastguard Workersleep 30 29*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 30*387f9dfdSAndroid Build Coastguard Workerecho "argdist.py - Using sdt probes" 31*387f9dfdSAndroid Build Coastguard Workersudo python3 tools/argdist.py -p ${pid} -i 5 -C "u:$(pwd)/examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start_sdt():char*:arg2#input" -z 32 & 32*387f9dfdSAndroid Build Coastguard Workersleep 30 33*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 34*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f="usdt_20" & 35*387f9dfdSAndroid Build Coastguard Workersleep 30 36*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 37*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f="usdt_20" -s & 38*387f9dfdSAndroid Build Coastguard Workersleep 30 39*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 40*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f="usdt_20" & 41*387f9dfdSAndroid Build Coastguard Workersleep 30 42*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 43*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f="usdt_20" -s & 44*387f9dfdSAndroid Build Coastguard Workersleep 30 45*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 46*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f="usdt_20" & 47*387f9dfdSAndroid Build Coastguard Workersleep 30 48*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 49*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f="usdt_20" -s & 50*387f9dfdSAndroid Build Coastguard Workersleep 30 51*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 52*387f9dfdSAndroid Build Coastguard Worker 53*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "examples/usdt_sample/build_.*/usdt_sample_app1/usdt_sample_app1" 54*387f9dfdSAndroid Build Coastguard Worker 55*387f9dfdSAndroid Build Coastguard Workerclang --version 56*387f9dfdSAndroid Build Coastguard Workerrm -rf examples/usdt_sample/build_clang 57*387f9dfdSAndroid Build Coastguard Workermkdir -p examples/usdt_sample/build_clang && pushd examples/usdt_sample/build_clang 58*387f9dfdSAndroid Build Coastguard Workercmake .. -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ 59*387f9dfdSAndroid Build Coastguard Workermake 60*387f9dfdSAndroid Build Coastguard Workerpopd 61*387f9dfdSAndroid Build Coastguard Worker 62*387f9dfdSAndroid Build Coastguard Workerpython3 tools/tplist.py -l examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so 63*387f9dfdSAndroid Build Coastguard Workerreadelf -n examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so 64*387f9dfdSAndroid Build Coastguard Worker 65*387f9dfdSAndroid Build Coastguard Workerexamples/usdt_sample/build_clang/usdt_sample_app1/usdt_sample_app1 "usdt" 1 30 10 1 50 & 66*387f9dfdSAndroid Build Coastguard Workerpid=$! 67*387f9dfdSAndroid Build Coastguard Worker 68*387f9dfdSAndroid Build Coastguard Workerecho "argdist.py - Using non-sdt probes" 69*387f9dfdSAndroid Build Coastguard Workersudo python3 tools/argdist.py -p ${pid} -i 5 -C "u:$(pwd)/examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start():char*:arg2#input" -z 32 & 70*387f9dfdSAndroid Build Coastguard Workersleep 30 71*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 72*387f9dfdSAndroid Build Coastguard Workerecho "argdist.py - Using sdt probes" 73*387f9dfdSAndroid Build Coastguard Workersudo python3 tools/argdist.py -p ${pid} -i 5 -C "u:$(pwd)/examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so:operation_start_sdt():char*:arg2#input" -z 32 & 74*387f9dfdSAndroid Build Coastguard Workersleep 30 75*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 76*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f="usdt_20" & 77*387f9dfdSAndroid Build Coastguard Workersleep 30 78*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 79*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f="usdt_20" -s & 80*387f9dfdSAndroid Build Coastguard Workersleep 30 81*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 82*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f="usdt_20" & 83*387f9dfdSAndroid Build Coastguard Workersleep 30 84*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 85*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f="usdt_20" -s & 86*387f9dfdSAndroid Build Coastguard Workersleep 30 87*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 88*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f="usdt_20" & 89*387f9dfdSAndroid Build Coastguard Workersleep 30 90*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 91*387f9dfdSAndroid Build Coastguard Workersudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f="usdt_20" -s & 92*387f9dfdSAndroid Build Coastguard Workersleep 30 93*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "\\-p.${pid}" 94*387f9dfdSAndroid Build Coastguard Worker 95*387f9dfdSAndroid Build Coastguard Workersudo pkill -f "examples/usdt_sample/build_.*/usdt_sample_app1/usdt_sample_app1" 96