谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

OpenSolarisでDTraceの可視化ツールD-Lightを動かそう! その5 (D-Light)

これで全ての準備が整いました。
さぁ、D-Lightをはじめましょう!(インストール直後の画面の翻訳風)

$ /opt/SunStudioExpress/bin/sunstudio/

これでSun Studio Expressが起動します。

Sun Studioが起動したら、メニューの「Tools」から「D-Light Tool」を選択します。

D-Lightが起動したら、右端の「Instruments」から、監視対象を選びます。


DiskIOなどもモニタリングできるのですが、ここでは
Java Method Invocation Monitor」と「Java Object Creation Monitor」を
選択して、それぞれ「add」ボタンを押しましょう。

いずれも名前の通り、メソッド呼び出しと、オブジェクト生成のタイミングを確認できます。


では、アプリケーションの起動設定を行ないましょう。
まずは「D-Light Tool」タブの真下にある、「Welcome」と書かれたボタンをクリックします。
すると、コンテキストメニューが開くので「Run Java Application」を選択します。


ここでは、さきほどの「みそれん」の起動設定を書きますが、
別のアプリケーションをトレースする場合は、
それぞれのアプリケーションの起動設定を記述してください。
もちろん、Javaアプリケーションでなくても構いません。

JVM Options : -Xmx256m -XX:+ExtendedDTraceProbes
Class Path : .:Misoren.jar BrainTrainingMain
Working Directory : 解凍して出来たディレクトリのフルパス。Misoren.jarがある所。

あれ? JAR FileとかMain Classとか指定するんじゃないの? と
思われた方もいらっしゃるかも知れませんが、その通りです。
ちょっと「みそれん」のクラスローディングとか、パス解決の問題で
若干、気を使った起動設定にしてあげなければいけません。


さて、これで本当に全ての設定が完了しました。
「Welcome」ボタンの左隣にある、赤い丸をクリックして、起動しましょう!


ここで運悪く、SIGSEGVなんてHotSpotエラーが発生しても、気を落としてはいけません!
おもむろに、赤い丸をもう一度クリックしてみてください!

今度は無事に起動したと思います。
少し、ゲームなどを楽しんでみてください。

私も得意の英語を活かして、単語クイズに挑戦しました。


さて、Javaアプリケーションの実行中、後ろでD-Lightにグラフが出ているのが分かります。
アプリケーションすると、グラフが停止するので、ゆっくりと出てきた値を確認することができます。

ここではメソッド呼び出しの詳細が、よく分かります。
カーソルの左右を押せば、一つ前、一つ後ろの呼び出しを取ることができます。


ほら、とっても簡単だったでしょう?