1

JFR から Java への解析は、この. また、フライトの記録中に、多くのイベントがキャプチャされると考えました。

[イベント] タブのスタック トレース、[コード] タブのホット メソッド、[コード] タブのコール ツリーなど、さまざまなイベントからデータ値を取得したい場合、どのようにフィルターをかけますか? サンプル画像

たとえば、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)");

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

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

4

2 に答える 2

1

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

使用可能なその他のイベントを確認するには、JMC UI を使用できます。デザイナービューと呼ばれる機能があります(ウィンドウ/ビューの表示/デザイナーをクリックします)。記録を開いている場合は、赤い停止ボタンを使用して、関心のあるタブのデザイン モードに入り、関心のあるコンポーネントを右クリックして、どのイベント タイプと属性が使用されているかを確認できます。

于 2016-05-20T07:49:24.937 に答える