I am having trouble generating a useful call-graph using opreport. The results all come out completely flat with each function being called only by itself and then calling only itself, somewhat confusingly.
-------------------------------------------------------------------------------
17875174 17875174 99.9325 99.9325 myProg.x FTL::ReclaimWriteStateMachine()
17875173 17875173 9.1289 9.1289 myProg.x FTL::ReclaimWriteStateMachine()
17875174 17875174 49.9925 49.9925 myProg.x FTL::ReclaimWriteStateMachine()
17875173 35750347 49.9925 99.9850 myProg.x FTL::ReclaimWriteStateMachine() [self]
-------------------------------------------------------------------------------
14133500 14133500 100.000 100.000 myProg.x Superblock::PageDataStore::ValidUnits() const
14133500 32008673 7.2180 16.3469 myProg.x Superblock::PageDataStore::ValidUnits() const
14133500 14133500 49.9739 49.9739 myProg.x Superblock::PageDataStore::ValidUnits() const
14133500 28267000 49.9739 99.9479 myProg.x Superblock::PageDataStore::ValidUnits() const [self]
-------------------------------------------------------------------------------
e.t.c
I have read this documentation, to no avail.
I am running operf -g ./myProg.x
to generate the profiling information, and opreport -lact 1
to view the callgraph data.
I am also seeing this error a lot warning: dropping hyperspace sample at offset
, but as far as I am aware that is not related to my call-graph issue.
I have checked the output for the profiling of ls
by operf -g ls -la
resulting in
-------------------------------------------------------------------------------
1 1 4.1667 4.1667 ld-2.17.so _dl_lookup_symbol_x
1 2 4.1667 8.3333 ld-2.17.so _dl_setup_hash
1 3 4.1667 12.5000 ld-2.17.so _dl_load_cache_lookup
1 4 4.1667 16.6667 ld-2.17.so access
1 5 4.1667 20.8333 libc-2.17.so brk
1 6 4.1667 25.0000 libc-2.17.so _itoa_word
1 7 4.1667 29.1667 libc-2.17.so __GI_strncmp
1 8 4.1667 33.3333 libc-2.17.so __xstat
1 9 4.1667 37.5000 libc-2.17.so __lxstat
1 10 4.1667 41.6667 libc-2.17.so mmap64
1 11 4.1667 45.8333 libc-2.17.so xdr_u_long
1 12 4.1667 50.0000 libpthread-2.17.so __pthread_initialize_minimal
2 14 8.3333 58.3333 ld-2.17.so mprotect
2 16 8.3333 66.6667 libc-2.17.so __sendto_nocancel
3 19 12.5000 79.1667 libc-2.17.so __getdents
5 24 20.8333 100.000 ld-2.17.so mmap
31 31 60.7843 60.7843 no-vmlinux /no-vmlinux
31 31 100.000 100.000 no-vmlinux /no-vmlinux [self]
-------------------------------------------------------------------------------
3 34 5.8824 66.6667 ls /usr/bin/ls
3 3 100.000 100.000 ls /usr/bin/ls [self]
-------------------------------------------------------------------------------
e.t.c
leading me to believe that the issue isn't with my installation of oprofile
, will try to tweak how I build my excecutable