вот пример правильных результатов профилирования программы при помощи oprofile, а вот мой результат (текст скрипта показан ниже, я не уверен что он правильный, но результат в итоге выдается)
там где правильно, видно что обзор только одной программы начиная с main, причем очень глубоко вложенные функции показаны
мой же результат включает себя обзор работы всей системы, что не желательно, т.к. интересует только работа двух программ - именно их и хочется смотреть
кроме того, вторая работающая программа даже не видна в результатах, может она мало грузит проц и потому скрыта, но все равно, хочется убрать профилирование всего лишнего и только эти две программы оставить
а на программе server показана одна функция, она и вправду грузит проц, но нет других функция, других уровней
вопрос: как получить более развернутый результат?
#!/bin/bash
rm v4l2_oprofile.png
sudo ls -l
sudo opcontrol --event=CPU_CLK_UNHALTED:750000
sudo opcontrol --no-vmlinux
sudo opcontrol --reset
sudo opcontrol --callgraph=24
sudo opcontrol --start-daemon
sudo opcontrol --start
sudo opcontrol --status
echo "oprofile START: -------------------------"
v4l2_server/v4l2_server & sleep 2; v4l2_client/v4l2_client
echo "oprofile END: -------------------------"
sudo opcontrol --status
sudo opcontrol --stop
sudo opcontrol --dump
opreport -cgf | ./gprof2dot.py -f oprofile | dot -Tpng -o v4l2_oprofile.png
sudo opcontrol --shutdown
sudo opcontrol --status
echo "oprofile OK"