|
|
「Java SE 6完全攻略」管理ツールの集大成 - VisualVM その8前々回、前回と2回にわたって、タブを表示するVisualVMのプラグインを作成してきました。 サンプルとして作成したHeapIndicatorプラグインは文字だけでヒープで使用量を表示しました。しかし、これではちょっと淋しいので、今回はグラフで表示するようにプラグインを改造していきます。 チャートの生成現状、VisualVMで提供しているグラフ(チャート)は折れ線グラフ(ラインチャート)だけです。なお、チャートはVisualVM 1.2からの機能なので、JDK 6に添付しているVisualVMでは使用できません。 おもしろいことに、チャートを表示するGUIコンポーネントは提供されていません。では何が提供されているかというと、GUIコンポーネントを作成するためのファクトリクラスが提供されています。 ファクトリクラスに相当するのがcom.sun.tools.visualvm.chart.SimpleXYChartSupportクラスです。 SimpleXYChartSupportクラスと同じパッケージにChartFactoryクラスがあります。名前だけ聞くとChartFactoryクラスがファクトリクラスのようですが、実際にはSimpleXYChartSupportオブジェクトを生成するためのファクトリクラスになります。 チャートを使用するには、次のように処理を記述します。
ちょっと処理が多いような気もしますが、自分でグラフを描画するのに比べれば雲泥の差です。 それでは、このSimpleXYChartSupportクラスを使って、前回作成したヒープを監視するHeapIndicatorプラグインを改良していきましょう。 前回、HeapIndicatorが表示するタブの内部にあるサブタブに、ヒープの使用量をラベルで表示しました。この部分をチャートに置き換えてみます。 前回はヒープ、ノンヒープだけでなく、Eden領域、Survivor領域、Tenured領域の使用量を表示しましが、これらをすべてチャートにしてしまうとチャートの表示領域が狭くなってしまいます。 そこで、ヒープとノンヒープは省略し、Eden領域、Survivor領域、Tenured領域の3つの領域をチャート化します。 3つのチャートがありますが、すべて作成する手順は同一なので、HeapIndicatorクラスのcreateChartSupportメソッドにまとめました。
>>SimpleXYChartDescriptorオブジェクトを生成する
連載新着連載目次へ >>
|