Estou compilando usando mais opções de depuração:
-Og -ggdb -g3 -fno-omit-frame-pointer
Então, quando eu gravar não estou usando uma opção (que deve monitorar todos os processos do sistema), estou usando
perf record -e cycles -g --call-graph fp -- ./your_app your_args
Finalmente, para mostrar o resultado que estou usando
perf report -g graph
e a saída parece com o esperado (note que estou usando o debian 9 e a saída do relatório perf é baseada em ncurses)
- 92.18% 0.00% stsm stsm [.] main ◆
- main ▒
- 91.77% STSM::run ▒
+ 56.86% STSM::generateCandidates ▒
- 25.22% STSM::detectBlocksOfAllSolidSequences ▒
+ 23.42% STSM::detectSolidSequenceBlocksFromSolidSequence ▒
0.81% Segment::unify ▒
+ 5.25% STSM::updateKernelsOfAllCandidates ▒
1.80% RangedSequence::range ▒
+ 1.45% STSM::updateMatchingPositions ▒
0.99% Segment::intersects ▒
+ 92.18% 0.00% stsm libc-2.24.so [.] __libc_start_main ▒
+ 92.18% 0.00% stsm [unknown] [k] 0x4d96258d4c544155 ▒
+ 91.77% 0.00% stsm stsm [.] STSM::run ▒
+ 56.86% 6.74% stsm stsm [.] STSM::generateCandidates ▒
+ 49.99% 49.99% stsm stsm [.] Segment::intersects ▒
+ 25.22% 0.00% stsm stsm [.] STSM::detectBlocksOfAllSolidSequences