xref: /aosp_15_r20/external/bcc/examples/usdt_sample/usdt_sample.sh (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1#!/usr/bin/bash
2
3# 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# mkdir -p build && cd build
5# cmake .. -DPYTHON_CMD=python3
6# make -j4
7# sudo make install
8
9gcc --version
10rm -rf examples/usdt_sample/build_gcc
11mkdir -p examples/usdt_sample/build_gcc && pushd examples/usdt_sample/build_gcc
12cmake ..
13make
14popd
15
16# sudo dnf install systemtap-sdt-dev  # For Ubuntu 21.10, other distro's might have differently named packages.
17# dtrace -h -s usdt_sample_lib1/src/lib1_sdt.d -o usdt_sample_lib1/include/usdt_sample_lib1/lib1_sdt.h
18# dtrace -G -s usdt_sample_lib1/src/lib1_sdt.d -o lib1_sdt.o
19
20python3 tools/tplist.py -l examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so
21readelf -n examples/usdt_sample/build_gcc/usdt_sample_lib1/libusdt_sample_lib1.so
22
23examples/usdt_sample/build_gcc/usdt_sample_app1/usdt_sample_app1 "usdt" 1 30 10 1 50 &
24pid=$!
25
26echo "argdist.py - Using non-sdt probes"
27sudo 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 &
28sleep 30
29sudo pkill -f "\\-p.${pid}"
30echo "argdist.py - Using sdt probes"
31sudo 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 &
32sleep 30
33sudo pkill -f "\\-p.${pid}"
34sudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f="usdt_20" &
35sleep 30
36sudo pkill -f "\\-p.${pid}"
37sudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f="usdt_20" -s &
38sleep 30
39sudo pkill -f "\\-p.${pid}"
40sudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f="usdt_20" &
41sleep 30
42sudo pkill -f "\\-p.${pid}"
43sudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f="usdt_20" -s &
44sleep 30
45sudo pkill -f "\\-p.${pid}"
46sudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f="usdt_20" &
47sleep 30
48sudo pkill -f "\\-p.${pid}"
49sudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f="usdt_20" -s &
50sleep 30
51sudo pkill -f "\\-p.${pid}"
52
53sudo pkill -f "examples/usdt_sample/build_.*/usdt_sample_app1/usdt_sample_app1"
54
55clang --version
56rm -rf examples/usdt_sample/build_clang
57mkdir -p examples/usdt_sample/build_clang && pushd examples/usdt_sample/build_clang
58cmake .. -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
59make
60popd
61
62python3 tools/tplist.py -l examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so
63readelf -n examples/usdt_sample/build_clang/usdt_sample_lib1/libusdt_sample_lib1.so
64
65examples/usdt_sample/build_clang/usdt_sample_app1/usdt_sample_app1 "usdt" 1 30 10 1 50 &
66pid=$!
67
68echo "argdist.py - Using non-sdt probes"
69sudo 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 &
70sleep 30
71sudo pkill -f "\\-p.${pid}"
72echo "argdist.py - Using sdt probes"
73sudo 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 &
74sleep 30
75sudo pkill -f "\\-p.${pid}"
76sudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f="usdt_20" &
77sleep 30
78sudo pkill -f "\\-p.${pid}"
79sudo python3 examples/usdt_sample/scripts/latency.py -p=${pid} -f="usdt_20" -s &
80sleep 30
81sudo pkill -f "\\-p.${pid}"
82sudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f="usdt_20" &
83sleep 30
84sudo pkill -f "\\-p.${pid}"
85sudo python3 examples/usdt_sample/scripts/lat_dist.py -p=${pid} -i=5 -f="usdt_20" -s &
86sleep 30
87sudo pkill -f "\\-p.${pid}"
88sudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f="usdt_20" &
89sleep 30
90sudo pkill -f "\\-p.${pid}"
91sudo python3 examples/usdt_sample/scripts/lat_avg.py -p=${pid} -i=5 -c=10 -f="usdt_20" -s &
92sleep 30
93sudo pkill -f "\\-p.${pid}"
94
95sudo pkill -f "examples/usdt_sample/build_.*/usdt_sample_app1/usdt_sample_app1"
96