使用gprof2dot显示OProfile输出(不完整的输出)

时间:2014-10-27 21:31:13

标签: profiling visualization gprof oprofile

所以我不确定我做错了什么。我有一个由oprofile生成的配置文件。我使用下面的命令将此oprofile转换为文本文件(该txt文件中的行的looooots):

 opreport -c --session-dir=dirNAME/oprofile_data/ > profile_test.txt

以下是profile_test.txt文件中的一些示例行:

-------------------------------------------------------------------------------
768       2.2662  libc-2.19.so             __mcount_internal
  768      100.000  libc-2.19.so             __mcount_internal [self]
-------------------------------------------------------------------------------
718       2.1187  libc-2.19.so             _int_free
  718      100.000  libc-2.19.so             _int_free [self]
-------------------------------------------------------------------------------
694       2.0479  libc-2.19.so             _int_malloc
  694      100.000  libc-2.19.so             _int_malloc [self]
-------------------------------------------------------------------------------
576       1.6997  libc-2.19.so             malloc
  576      100.000  libc-2.19.so             malloc [self]
-------------------------------------------------------------------------------
565       1.6672  libns3-dev-core-debug.so ns3::LogComponent::IsEnabled(ns3::LogLevel) const
  565      100.000  libns3-dev-core-debug.so ns3::LogComponent::IsEnabled(ns3::LogLevel) const [self]

没有什么有趣的。

现在我想使用gprof2dot查看它。我像这样运行脚本:

 ./gprof2dot.py -f oprofile --skew=0.001 --strip profile_test.txt | dot -Tsvg > profile_graph.svg

这会产生一个文件,但它没有来自profile_test.txt(它缺少大多数函数调用)的所有东西,而且它只是一个调用条而不是树:

The graph gprof2dot generated

如何使树形结构看起来很漂亮? I followed these directions

这是实际的资源分配方式:

CPU: Intel Haswell microarchitecture, speed 3.201e+06 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 100000
CPU_CLK_UNHALT...|
  samples|      %|
------------------
    37395 100.000 ns3-dev-lena-profiling-debug
    CPU_CLK_UNHALT...|
      samples|      %|
    ------------------
        23577 63.0485 libns3-dev-lte-debug.so
         3888 10.3971 libc-2.19.so
         3185  8.5172 libns3-dev-core-debug.so
         1713  4.5808 no-vmlinux
         1317  3.5219 libstdc++.so.6.0.19
         1263  3.3775 libns3-dev-spectrum-debug.so
          633  1.6927 libns3-dev-network-debug.so
          581  1.5537 ld-2.19.so
          551  1.4735 ns3-dev-lena-profiling-debug
          285  0.7621 libm-2.19.so
           69  0.1845 libcuda.so.340.29
           61  0.1631 libns3-dev-internet-debug.so
           58  0.1551 libpthread-2.19.so
           53  0.1417 libgcc_s.so.1
           42  0.1123 libns3-dev-mpi-debug.so
           38  0.1016 libns3-dev-mobility-debug.so
           31  0.0829 libns3-dev-buildings-debug.so
           22  0.0588 libns3-dev-propagation-debug.so
           10  0.0267 libns3-dev-antenna-debug.so
            7  0.0187 libns3-dev-config-store-debug.so
            4  0.0107 [vdso] (tgid:24360 range:0x7fff60ffe000-0x7fff60ffffff)
            2  0.0053 libns3-dev-applications-debug.so
            2  0.0053 libns3-dev-stats-debug.so
            1  0.0027 libns3-dev-fd-net-device-debug.so
            1  0.0027 libns3-dev-point-to-point-debug.so
            1  0.0027 libcudart.so.6.5.14

0 个答案:

没有答案