• Adrian Hunter's avatar
    perf scripts python: exported-sql-viewer.py: Add IPC information to Call Graph Graph · 38a846d4
    Adrian Hunter authored
    Enhance the call graph to display IPC information if it is available.
    
    Committer testing:
    
    [acme@quaco adrian.hunter]$ python ~acme/libexec/perf-core/scripts/python/exported-sql-viewer.py ~/c/adrian.hunter/simple-retpoline.db
    
    Reports -> Context Sensitive Callgraph, then expand a few trees, then
    select with the mouse and press control+C:
    
    Call Path                     Object          Count Time(ns) Time(%) Insn Insn   Cyc   Cyc    IPC Branch Branch
    ▼ simple-retpolin                                                    Cnt  Cnt(%) Cnt   Cnt(%)     Cnt    Cnt(%)
      ▼ 23003:23003
        ▼ _start                  ld-2.28.so         1 218295   100.0  127746 100.0 207320 100.0 0.62 13046  100.0
           unknown               unknown            1   3202     1.5       0   0.0      0   0.0    0     1    0.0
           _dl_start             ld-2.28.so         1 188471    86.3  123394  96.6 180007  86.8 0.69 12529   96.0
           _dl_init              ld-2.28.so         1  13406     6.1    3207   2.5  14868   7.2 0.22   327    2.5
          ▼ _start                simple-retpoline   1  12899     5.9    1142   0.9  11561   5.6 0.10   184    1.4
             unknown             unknown            1    846     6.6       0   0.0      0   0.0    0     1    0.5
            ▼ __libc_start_main   libc-2.28.so       1  11621    90.1    1129  98.9  10350  89.5 0.11   181   98.4
               __cxa_atexit      libc-2.28.so       1   2302    19.8     101   8.9   1817  17.6 0.06    13    7.2
               __libc_csu_init   simple-retpoline   1    121     1.0      43   3.8    340   3.3 0.13     8    4.4
              ▼ _setjmp           libc-2.28.so       1     74     0.6      46   4.1    206   2.0 0.22     4    2.2
                ▼ __sigsetjmp     libc-2.28.so       1     74   100.0      46 100.0    206 100.0 0.22     3   75.0
                   __sigjmp_save libc-2.28.so       1      0     0.0       0   0.0      0   0.0    0     1   33.3
              ▼ main              simple-retpoline   1     44     0.4      23   2.0    126   1.2 0.18    12    6.6
                ▼ foo             simple-retpoline   2     44   100.0      23 100.0    126 100.0 0.18    10   83.3
                    bar           simple-retpoline   2     22    50.0       6  26.1     61  48.4 0.10     2   20.0
              
    
     exit              libc-2.28.so       1   9029    77.7     878  77.8   7765  75.0 0.11   139   76.8
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Link: http://lkml.kernel.org/r/20190520113728.14389-21-adrian.hunter@intel.com
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    38a846d4
exported-sql-viewer.py 110 KB