2

だから私は何が間違っているのか分かりません。oprofile によって生成されたプロファイルがあります。以下のコマンドを使用して、この oprofile をテキスト ファイルに変換しました (その txt ファイルには行がたくさんあります)。

 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 のすべてが含まれているわけではなく (ほとんどの関数呼び出しが欠落しています)、ツリーではなく単なる呼び出しバーです。

gprof2dot が生成したグラフ

ツリー構造で見栄えを良くするにはどうすればよいですか? 私はこれらの指示に従いました。

ちなみに、これは実際のリソース割り当てです。

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
4

0 に答える 0