Adobe Flex 3 ヘルプ

プロファイラフィルタについて

プロファイラビュー内のデータ量が膨大になり、詳細レベルが大きすぎる場合があります。Flash Player の内部アクションによって、独自のメソッドやクラスなどの本当に重要なデータが覆い隠されてしまう場合があります。また、直接操作を行わなくても Flash Player により多くのオブジェクトが作成および破棄されます。そのため、アプリケーションで数千のストリングや配列が使用されている状態が表示されることがあります。

次のビューではフィルタを設定できます。

  • ライブオブジェクト
  • メモリのスナップショット
  • パフォーマンスのプロファイル
  • メソッドの統計情報
  • 割り当てトレース

プロファイラの各ビューに表示されるパッケージを定義できます。これはプロファイラフィルタを使用して行います。次の 2 種類のフィルタがあります。

除外フィルタ 除外フィルタでは、パターンリストのパターンと一致するパッケージをプロファイラのビューから除外するようにプロファイラに指示します。例えば、グラフコントロールを使用しているがこれらをプロファイリングしたくない場合、除外フィルタに mx.charts.* パターンを追加します。

包含フィルタ 包含フィルタでは、パターンリストのパターンと一致するパッケージのみをプロファイラのビューに包含するようにプロファイラに指示します。例えば、com.mycompany.* という名前のカスタムパッケージを使用している場合、これを包含フィルタに追加することにより、このパッケージに含まれるクラスのみの詳細を表示できます。

デフォルトの除外は、flash.*.* と mx.*.*、およびグローバルパッケージまたは名前のないパッケージ内の Flex フレームワーククラスです。これらの Flex フレームワーククラスには、String および Array などのグローバルクラスが含まれます。つまり、デフォルトで包含されるのは、名前のないパッケージ内のユーザー定義クラスおよび非フレームワークパッケージのユーザー定義クラス(com.mycompany.MyClass など)です。

名前のないパッケージ内のユーザー定義クラスをプロファイリングデータから除外できます。これを行うには、除外リストに「*」を追加します。

デフォルトのフィルタ環境設定の設定

 設定ダイアログを開き、Flex/プロファイラ/包含フィルタまたは除外フィルタを選択します。

ïÔä‹ÉtÉBÉãÉ^ÇýèúäOÉtÉBÉãÉ^É_ÉCÉAÉçÉOÉ{ÉbÉNÉX

プロファイリングデータを表示するときには、最初に除外フィルタが適用され、次に包含フィルタが適用されます。例えば、除外フィルタを mx.controls.* に設定したが、包含フィルタを mx.*.* に設定したとします。プロファイラによって mx.controls パッケージ内のクラスに関する詳細は表示されません。それらのパターンは包含パターンリストと一致しますが、そのパッケージは除外されたからです。同様に、除外フィルタを mx.*.* に設定し、包含フィルタを mx.controls.* に設定したとします。プロファイラによって mx.controls.* パッケージ内のクラスに関する詳細は表示されません。それらは包含される前に除外されたからです。

特定のデータポイントをフィルタで除外した場合、列のパーセント値は、フィルタが適用されないデータの割合のみを反映するように調整されます。

同一のアプリケーションでは、あるプロファイリングセッションから次のプロファイルセッションに移動してもフィルタは維持されます。

フィルタ設定は、サブビューに継承されません。例えば、メモリのスナップショットビューのデータにフィルタを適用し、メソッドをダブルクリックしてオブジェクト参照ビューに移動した場合、オブジェクト参照ビューで同じフィルタは適用されません。

データがフィルタされているかどうかの判別

  1. 「フィルタ」ボタンをクリックするか、データテーブルのタイトルを確認します。フィルタが適用されている場合、「パッケージ」列の見出しは「パッケージ(フィルタ済み)」となります。
  2. (オプション)「デフォルトに戻す」ボタンをクリックすると、フィルタがデフォルトに戻ります。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート