5

Oracle Java Flight Recorderを使用して、Java アプリケーションのスタック トレース サンプルを収集しています。これらのスタック トレースにより、最終的にCPU Flamegraphを生成できます。

私の問題は、64 フレームよりも深いスタック トレースが Java Flight Recorder によって切り捨てられることです。Flamegraph で観察するのは非常に簡単で、デバッガーを使用するとFLRStackTrace、64 を超えるFLRFrames がなく、64 フレームのほぼすべてのスタック トレースで TruncationState が に設定されていることがわかりますTRUNCATED

この 64 フレームの制限を増やすことができるかどうかは誰にもわかりませんか? スタック トレースが不完全な場合、フレームグラフは役に立ちません。

4

1 に答える 1

7

うん!ただし、JRockit で実行している場合はそうではありません。HotSpot で実行している場合は、単純に flag-XX:FlightRecorderOptions=stackdepth=<n>を使用します。n は、発見したようにデフォルトで 64 です。

詳細はこちら: http://hirt.se/blog/?p=364

于 2015-08-21T08:40:14.423 に答える