ThreadViewer?

  • ActionScript? Thread Libraryの動作状況をモニターするAIRアプリケーションです
  • MITライセンスでお願いします
  • Chartの表示にFusionChartを使用してます
  • アイコン等の画像データの無断使用はご遠慮ください

コード

セットアップ

  • ソースコードと共に配布しているThreadViewer?.airを実行してインストールする、もしくは以下のビルド方法に従ってコンパイルしてください
  • ActionScript? Thread Libraryのソースをダウンロードします
  • org/libspark/thread/Thread.asをThreadViewer?用のものと入れ替えます

ビルド方法

  • ThreadViewer?のソースコードとthread.db、style.css、iconsを取得します
  • FusionChartsから無償版をダウンロードします
  • zipを解凍すると、ChartsとJSClassディレクトリーがありますので、これをAIRアプリのディレクトリーにコピーします
  • SqlUtilのソースコードを入手します
  • ChartDataのソースコードを入手します
  • amxmlc ThreadViewer?.mxmlでThreadViewer?アプリをコンパイルします

使い方

  • ThreadViewer?を立ち上げます
  • [Record]ボタンを押して、動作状況のモニターを開始します
  • 動作状況をモニターしたいアプリケーションを実行します
  • スレッドの実行状況がグラフで表示されます
  • スレッド名の左横にスレッドの状態が表示されます
  • 再度[Record]ボタンを押して、動作状況のモニターを終了します
  • モニターを終了すると画面下部にスレッドの状態と実行時間のグラフが表示されます
  • 画面中央左のスライダーで縮尺を変更できます
  • 画面左下のコンボボックスから詳細を表示したいスレッドを選択できます
  • 実行グラフ部分にマウスカーソルを重ねるとそのスレッドの実行時間がツールチップ表示されます
  • 再度動作をモニターする場合は、[Clear]ボタンを押してから、[Record]ボタンを押します
  • [Information]ボタンを押すことでPublisher IDを確認できます

スクリーンショット

  • 表示情報

  • 操作方法

注意点

  • nopで表示されている部分は、必ずしも何も処理をしていないとは限りません
  • リソースをバカ食いする造りになっているので、数秒程度でモニターは終了させてください
  • ソースコードと共に配布しているThreadViewer?.airをインストールして実行する場合は、Threadの初期化時にpublisherIDとして以下の文字列を指定してください
    "AFDD124181579D91C02F70863525BFCADFF01376.1"

制限事項

  • スレッドの実行時間が1ms以下の場合、実行時間を取得することはできません(flash.utils.getTimerの制約)

サンプルコード

package
{
    import flash.display.Sprite;
    import org.libspark.thread.Thread;
    import org.libspark.thread.EnterFrameThreadExecutor;

    private var publisherID:String = "AFDD124181579D91C02F70863525BFCADFF01376.1";

    public class MyDocumentClass extends Sprite
    {
        public function MyDocumentClass()
        {
            Thread.initialize(new EnterFrameThreadExecutor(), true, publisherID, 24); // ThreadViewer有効(= true)、発行者ID、24fps
        }
    }
}

添付ファイル