所以我不确定我做错了什么。我有一个由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(它缺少大多数函数调用)的所有东西,而且它只是一个调用条而不是树:
如何使树形结构看起来很漂亮? 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