タスク解析

パフォーマンス解析は、特定のコード領域で実行されるタスク - プログラム機能に注目します。

インテル® VTune™ プロファイラーを使用して次のタスクタイプを解析します。

タスク解析を有効にする

必要条件:

  1. インテル® VTune™ プロファイラー・ツールバーの (スタンドアロン GUI)/ (Visual Studio* IDE) [解析の設定] ボタンをクリックします。

  2. [どのように] ペインで解析タイプ選択します。

  3. [ユーザータスク、イベントおよびカウンターを解析] オプションを選択します。

  4. [開始] ボタンをクリックして解析を実行します。

    インテル® VTune™ プロファイラーは、マークされたタスクを検出するデータを収集します。

収集された結果を解析して、経時的なアプリケーション・パフォーマンスに対するタスク領域とタスク持続時間を特定します。

ユーザータスク解析で示されるデータを解釈するには、次のステップに従います。

最もクリティカルなタスクを特定

[サマリー] ウィンドウの [上位のタスク] セクションで、最も時間がかかっているタスクから調査を始めます。

システムの概要を使用した Ftrace/Atrace タスク、または Ftrace/Atrace イベントを選択したカスタム解析で収集されたデータでは、[サマリー] ウィンドウに低速なタスクの特定に役立つ [タスク持続期間の分布図] が表示されます。

[タスクタイプ] ドロップダウン・リストを使用して、タスクを切り替えてそれらの持続時間を解析します。タスクの持続時間に設定されたしきい値から、選択したタスクの持続時間が許容範囲か、低速であるかを理解できます。

関数ごとの低速なタスクを解析

[上位タスク] セクションのタスクタイプをクリックして、[タスクタイプ] の粒度でグループ化されたグリッドビュー ([ボトムアップ][イベントカウント] など) に切り替えます。[サマリー] ウィンドウで選択されたタスクがハイライト表示されます。例えば、スレッド解析で収集された ITT API タスクでは、[ボトムアップ] グリッドビューは [タスクタイプ/関数/コールスタック] でグループ化されます。

上記の例では、最も長いタスクの持続時間は func4_task の 2.923 秒です。このタスクが属する関数を確認するにはノードを展開表示します。[ソース] ビューのソースコードを解析するには、関数をダブルクリックします。

システムの概要解析で収集された Ftrace/Atrace タスクでは、[タスクタイプ/タスク持続時間/関数/コールスタック] の粒度を選択して、低速なタスク・インスタンスで実行された関数を調査できます。関数をダブルクリックしてソースコードを開き、最も時間を要するソース行を解析できます。

スレッドごとのタスクを解析

それぞれのタスク・インスタンスの持続時間を解析するには、[タイムライン] ビューを調査します。

ユーザータスクは、黄色のマーカーでタイムラインに示されます。タスク実行の詳細を見るには、タスクマーカーにカーソルを移動します。上記の例では、func2_task は、スレッド threadstartex (TID: 8684) 上でアプリケーション実行の 3.4 秒後に開始され、3.002 秒間継続しています。

プラットフォーム全体のメトリックを収集した場合、[プラットフォーム] ウインドウに切り替えて特定のタスクを実行するスレッドを確認できます。それぞれのタスクは個別のレイヤーとして [スレッド] セクションに表示されます。

Ftrace/Atrace タスクでは、[プラットフォーム] ビューに [低速なタスク] マーカーを有効にして、低速なタスクを実行中の CPU 利用率、GPU 使用と電力消費を調査するオプションがあります。

スレッドが複数のタスクを並列に実行する場合、タスクのスタックが表示されます。

関連情報