2016-05-19 8 views
1

JFRをJavaに解析することは、JMCパーサ(this)を使用してJMCパーサなどのサポートされていないパーサで行うことができます。また、私は飛行記録中に多くのイベントがキャプチャされると考えました。Jrockitを使用したJava JFRダンプのためのJMCパーサー

[イベント]タブの[スタックトレース]、[コード]タブの[ホットメソッド]、[コードタブ]の[呼び出しツリー]など、さまざまなイベントからデータ値を取得したい場合はどうすればよいですか? Example image

たとえば、jfr-flame-graphで説明したように、次のコードを使用してコールツリーをフィルタリングできました。ここで

final String EVENT_TYPE = "Method Profiling Sample"; 
IView view = recording.createView(); 
for(IEvent event : view){ 
if(EVENT_TYPE.equals(event.getEventType().getName())){ 
    FLRStackTrace flrStackTrace = (FLRStackTrace) event.getValue("(stackTrace)"); 

、 イベントタイプ - メソッドプロファイリングサンプル。識別子 - (スタックトレース);

だから、スタックトレース/ホットメソッド/ etcを取得したいのですが、キャプチャする必要があるイベント/識別子は何ですか?これに関する文書はありますか?

+0

このため任意のドキュメントはありませんを参照してください。 – Klara

答えて

1

これに関するドキュメントはありません。 stacktracesを抽出したい場合、jfr-flame-graphは非常に良い例です。 イベント/スタックトレースとコード/ホットメソッドの違いは、ホットメソッドタブではメソッドプロファイリングサンプルイベントのみが使用され、イベントタブはより一般的で、イベントタイプビューで選択したイベントタイプが表示されるということです。コード/コールツリーは、ホットメソッドと同じですが、「上下逆さま」です。

利用可能な他のイベントを確認するには、JMC UIを使用します。そこには、デザイナビュー(ウィンドウ/ビュービュー/デザイナをクリック)という機能があります。レコーディングが開いている場合は、赤色の停止ボタンを使用して、関心のあるタブのデザインモードに入り、興味のあるコンポーネントを右クリックして、使用するイベントタイプと属性を確認できます。

+1

ありがとうKlara、私はあなたのトリックからそれらのフィールドからデータを取得し、コードをデバッグすることができました。 – Vithulan

関連する問題