xref: /aosp_15_r20/external/bcc/examples/usdt_sample/usdt_sample.sh (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
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