Java Logo

Java Mission Control 6.0 リリース・ノート


このドキュメントではJava Mission Control (JMC) 6.0の新しい機能について説明します。

JMCは詳細で効果的な分析、高度なJavaの監視・管理を実現する高度なツールセットです。JMCはコードパフォーマンス、メモリ、レイテンシなどの一般的な分析領域について、それぞれ情報をまとめて提供します。

Red Triangle 新機能・注目の機能


概略



JDK 9のためのJMC 6 – 新しいメジャーリリース!


Java Mission Controlの新しいメジャーリリースです。これはJDK 9で動作する最初のバージョンのJava Mission Controlです。このバージョンではJDK 7とJDK 8のランタイムに接続することができます。またJDK 7やJDK 8で記録したフライト記録を開き、表示することができます。

JMC logo


Eclipse 4.5と4.6 のサポート

Mission ControlクライアントはEclipse 4.5以降のバージョンで動作するようビルドされています。EclipseにJava Mission Controlをインストールして使うにはJava Mission Control update siteを参照してください。


サポートするプラグイン

いくつかのJava Mission Control用プラグインがサポートされます。Java Mission Control (もしくはEclipse)の”Install New Software”からインストールできます。Eclipse内のプラグインとして動作させている場合、サポートされたプラグインのアップデートサイトを追加してください。
Supported Plug-ins



試験的(Experimental)プラグイン

JMCの開発チームはexperimental update siteを通じて試験的なプラグインを公開しています。Java Mission Control (もしくはEclipse)の”Install New Software”からインストールすることができます。Eclipse内のプラグインとして動作させている場合、試験的プラグインのアップデートサイトを追加してください。
Experimental Plug-ins



細かなバグ修正と改善

数百のバグ修正と改善がこのリリースに含まれています。例えば、Java Flight Recorder UIではUIハンドルが不足しなくなり、大きなスタック・トレースではクリッピングの問題が発生しなくなり、フライト記録の表示も早くなりました。
Minor bugfixes and improvements



Java Flight Recorder (JFR)


フライト記録の自動分析

Java Mission Controlにフライト記録の自動分析機能が追加されました。搭載されたルールとヒューリスティックによりアプリケーション内で問題が起こっている場所やパフォーマンスの問題の発見を手助けしたり、チューニングのヒントをくれたりします。セーフポイントなどの比較的知られていない概念で動作するいくつかのルールは、説明と詳細情報へのリンクが提供されます。一部のルールはパラメータ化されており、特定の環境でより適切に構成することができます。個々のルールは好みに合わせ有効化/無効化できます。この機能はまだ未熟のため、今後JMCのアップデートでさらなるルールと改善されたヒューリスティックが追加されます。
Automated Analysis of Flight Recordings



ヘッドレスで自動分析を実行

自動解析で要求されるMission Controlの基となるjarはJDK 7(もしくはそれ以降)と互換があり、Eclipse外で利用できるようにビルドされています。つまり、コマンドラインから自動解析を行うことができます。次のコマンドを実行してみてください:
com.oracle.jmc.flightrecorder.rules.report.JfrRulesReport -min info -format text C:\recordings\JMC-5033\while_installing_from_updatesite.jfr -verbose com.oracle.jmc.common, com.oracle.jmc.flightrecorder, com.oracle.jmc.flightrecorder.rules, com.oracle.jmc.flightrecorder.rules.jdk
   注:-verbose で指定するJMCプラグインにはクラスパスを通す
      もしWebLogic Serverのルールを使う場合は以下も追加:
         com.oracle.jmc.flightrecorder.ext.wls.parser
         com.oracle.jmc.flightrecorder.ext.wls.rules
Running the Automated Analysis Headless



カスタムルール作成のためのPDEプラグイン利用

フライト記録の自動解析で使用する独自ルールを作るためカスタムプラグインを作成することができます。独自ルールを作成する最も簡単な方法は、試験的アップデートサイトからPDEプラグインをEclipseにインストールする方法です。
Use the PDE Plug-in for Creating Custom Rules



新しいナビゲーション

ページ間のナビゲーションは側面・ビューという新しいJFRエディタの中に移動しました。自動分析結果は各ページに関連付けられており、それぞれのページに関係する結果が見つかった場合、ページアイコンのオーバーレイに表示されます。
New Navigation


新しい構成可能なスタック・トレースビュー

スタック・トレースビューは独立し、構成可能なビューになりました。ユーザーインターフェイスでスタック・トレースとして表示できるものを選択すると、スタック・トレースビューに表示されます。デフォルトでは最も頻繁に実行されたパスが表示され、ボタンまたは矢印キーでブランチを切り替えることができます。必要に応じて以前のツリースタイルで動作するようにビューを構成することもできます。デフォルトでは、ブランチにヒットするまでフレームを垂直方向にリストされているだけで、ツリーの深さは減少しています。これもまた必要に応じて以前のツリースタイルで表示することができます。デフォルトの表示方法では表示領域が節約され、必要とされるであろう情報が表示されるように設計されています。
New Configurable Stacktrace View
 


カスタムページ

カスタムページはイベント・ブラウザページから作成可能になりました。注目したいイベントタイプを選択し、”選択したイベント・タイプを使用した新しいページの作成”ボタンをクリックするだけです。カスタムページには上部にフィルタボックスがあり、複雑なフィルタリングを行うことができます。グループ化、ソート、およびチャート作成はビュー内のシンプルなコンテキストをクリックして実行できます。また作成したページはエクスポートして共有することもできます。
Custom Pages


選択項目の保存

選択した項目にユーザーインターフェイスを注目させることができるようになりました。さらにその選択項目を保存し、他のページで再使用することができます。選択によってイベントタイプ、選択された実際のイベント、選択した時間範囲、のような選択した内容に関連する全ての側面の情報をキャプチャします。複数の異なる選択内容を保存でき、ドロップダウンリストから切り替えることができます。フォーカスしたいページの選択内容の側面を選択することもできます。複数の異なるページは選択内容にフォーカスするため異なるデフォルトの側面を選ぶことができ、また実際の選択内容に応じてアスペクトを選択することもできます。
Stored Selections


結果ビュー

選択されたページにそのページに関連する何かしらの結果がある場合、結果ビューにその結果を表示します。
The Results View


プロパティビュー

新しいプロパティビューは現在選択されている項目の属性(通常は1つ以上のイベント)が表示されます。特定のイベントの属性値のような非常に特殊なものに選択項目をフォーカスするときに非常に便利です。
The Properties View


管理コンソール


コンソールの拡張

管理コンソールを拡張するAPIが簡略・改善されました。新しいAPIの動作を確認する方法はEclipse内でMission Control PDEプラグインを使いコンソールエクステンションを作成することです。
Use the PDE Plug-in for Creating Custom Rules


サポートするプラグイン


メタデータプラグイン(JFR)

このプラグインはフライト記録の中で有効なメタデータを表示します。イベントタイプ識別子などの情報が通常必要とされるため、ルールを作成する際に利用できます。つまり、属性やイベントタイプの説明を調べるだけで、データをよりよく理解することができます。
The Metadata Plug-in (JFR)


JavaFXプラグイン (JFR)

このプラグインはJavaFXのイベントを可視化したページが利用できるようになります。パルスロガーによる情報を表示します。フェーズの名前や期間など、個々のパルスの詳細が表示されます。
The JavaFX Plug-in (JFR)


WebLogicプラグイン (JFR)

このプラグインはWebLogc Serverにデプロイされたアプリケーションの分析に関する複数のページを利用できるようになります。EJBコール、JDBCコール、JTAトランザクション、その他多くのの幅広い情報が利用できます。もちろんこれら全ての情報はJavaランタイムで行われていることと関連付けることができ、WebLogic Serverの強力な診断およびプロファイリング機能を提供します。さらにこのプラグインはJFRパーサエクステンションとWLSパフォーマンスの自動解析ルールが含まれます。
WebLogic Plug-in (JFR)


試験的プラグイン


G1プラグイン (JFR)

この試験的プラグインはG1ガベージコレクタに関する詳細な情報を表示します。注意:このプラグインはJDK 9で記録されたフライト記録でのみ動作します。
G1 Plug-in (JFR)


その他利用可能なプラグイン

Joverflow(hprofダンプのHeap Waste解析)、JMX Console Subscription プラグイン(実際にフェッチされたものの参照)、Flight Recorder Launch Configurationプラグイン(Eclipse内からアプリを起動する際にフライトレコーダをコントロール)、PDEプラグイン(JMCを手軽に拡張するためのウィザード)などの多くの古い試験的プラグインは現在も利用可能です。これらは新しい機能ではないので説明を省略します。
Usual Suspects

 


Red Triangle

Bug Fixes



Area: General

Synopsis: Better input parsing

Mission Control is now using its framework for physical quantities and units of measurement in more places. This provides a more consistent and coherent way of both entering and visualizing values, as well as services like auto completion.

Area: JFR

Synopsis: Can now have more recordings open simultaneously

In previous versions of JMC the entire UI was generated in one go, requiring massive amounts of native UI handles. Now the UI is generated on the fly, making it possible to have more flight recordings open at the same time.

Area: JFR

Synopsis: Proper handling of reused OS thread ids

Previous versions of JMC did not handle reused OS thread ids properly. Now such thread id reuse will be handled properly as separate threads.

Area: JFR

Synopsis: No more clipping problems with large stack traces

The way we rendered stack traces previously could lead to clipping problems when the tree grew quite big. The new stack trace view makes it unlikely to encounter the condition when such clipping occurs in the native component.

Area: JFR

Synopsis: Will now provide a visual hint if not showing all events

Previously, if there were more events than could fit a table, the table would cut off at a certain number of events. Now the last row of the table will indicate if such a cut off is taking place, as well as show both the limit and how many events would have been available in total. Also, the maximum number of events to show can now be configured in the preferences.



Red Triangle Known Issues



Area: General

Synopsis: JMC in Eclipse on Linux on JDK 8

If you are running JMC 6 in Eclipse on JDK 8, you will need to set the environment variable SWT_GTK3=0 to force the use of GTK2 for JavaFX based plug-ins to work, such as JOverflow.

Area: General

Synopsis: Hibernation and time

After the bugfix of https://bugs.openjdk.java.net/browse/JDK-6523160 in JDK 8, the RuntimeMXBean#getUptime() attribute was re-implemented to mean "Elapsed time of JVM process", whilst it previously was implemented as time since start of the JVM process. The uptime attribute is used by JMC, together with RuntimeMXBean#getStartTime(), to estimate the actual server time. This means that time stamps, as well as remaining time for a flight recording, can be wrong for processes on machines that have been hibernated.

Area: General

Synopsis: Tooltip overflow and clipping on OS X with HiDPI screens

The tooltip displayed when hovering over data points or chart elements can be clipped, and the information within is not always possible to read, if you are using a HiDPI monitor on OS X. As a workaround, the same information is sometimes available from the Properties view if you first make a selection in the chart.

Area: JFR

Synopsis: Problem drag-and-dropping recordings to the analysis page

It is possible to drag and drop flight recordings in to Mission Control to open them. However, in JMC 6.0.0, dragging a recording to the new Automated Analysis Results page will not work. As a matter of fact, on the Mac OS X platform, this can result in a crash. A workaround is to drag it to the top of the page or to any other page.

Area: JFR

Synopsis: Problem with clipping of tooltips on HiDPI monitors

The tooltip that is displayed when hovering over data points or chart elements can be clipped, and the information within is not always possible to read if you are using a HiDPI monitor. As a workaround, you can sometimes get the same information from the Properties view if you first make a selection in the chart.

Area: Plug-ins

Synopsis: Java FX based plug-ins do not work on Linux system without GTK 3

The Coherence and the JOverflow are embedding Java FX in SWT, and will not work on Linux systems not having GTK 3.



Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Javaリソース
Right Curve