リモート デバイスのストア アプリにおける JavaScript 関数タイミング データの収集

Windows のみに適用されます

Visual Studio Performance and Diagnostic hubJavaScript 関数タイミング ツールを使うと、コードのパフォーマンス関連の問題を測定、評価、対象化することができます。 プロファイラーは、アプリ内の各関数の入口と出口でタイミングの情報を収集します。 アプリのパフォーマンスに関する、コンテキストを含む表形式の詳細情報がプロファイル レポート ビューに表示され、コードの実行パスと関数の実行コスト内を移動することで、最適化するための最善の方法を見つけることができます。 アプリの実行全体をプロファイルすることもできますし、特定のシナリオのデータのみを収集するためにプロファイリングを中断および再開することもできます。

注意

Visual Studio 2013 Update 2 からは、CPU 使用率ツールを使って JavaScript 関数タイミング ツールで収集するのとほぼ同じデータを収集できます。「ストア アプリにおける CPU 使用率の分析」を参照してください。ツールの主な相違点は次のとおりです。

  • JavaScript 関数タイミング ツールは、アプリ内の関数に対する呼び出しの回数を収集します。しかし、このツールは Windows Phone アプリでは動作しないほか、プロファイル セッションで他のツールと使用することはできません。

  • CPU 使用率ツールはすべての Windows ランタイム アプリで実行できます。また、エネルギー消費量ツールなど他の診断ツールからデータを収集して、特定の問題を診断することもできます。

このトピックでは、Windows ストア アプリの JavaScript コードを、Visual Studio IDE を使用してリモート コンピューター上でプロファイルする方法を説明します。

Visual Studio は、通常、デスクトップ コンピューターにインストールされます。 Windows ストア アプリは、さまざまな種類のデバイス、フォーム ファクター、およびプロセッサで実行されます。 リモート プロファイリングでは、ネットワークを介して Visual Studio コンピューターに接続されているデバイス、またはイーサネット ケーブルによって直接接続されているデバイスのパフォーマンス データを収集できます。 リモートでプロファイリングするときは、Visual Studio によってアプリの最新のビルドが配置されます。

注意

  • リモート デバイスでプロファイリングするには、デバイスの管理者である必要があります。

  • ユーザーとのやり取りをリモート デバイスで直接実行し、リモート デスクトップ接続は使用しないことをお勧めします。リモート デスクトップ接続は、アプリのパフォーマンスと収集されるパフォーマンス データを大幅に変更する可能性があります。

このトピックの内容

リモート デバイスのリモート プロファイリングを構成する

Visual Studio でリモート プロファイリングを構成する

  • その他のデバッグ プロパティ

アプリをプロファイリングする

  • プロファイリング実行全体でのパフォーマンス データの収集

  • 特定のシナリオでのパフォーマンス データの収集

リモート デバイスのリモート プロファイリングを構成する

リモート デバイスに開発者用ライセンスがインストールされている必要があります。リモート デバイスに Visual Studio リモート ツールがインストールされている必要があります。さらに、リモート デバイスでリモート デバッグ モニターが実行されている必要があります。

  • リモート デバイスに開発者用ライセンスをインストールするには、「Getting a developer license for Windows 8」を参照してください。

  • Visual Studio リモート ツールをインストールするには、「Remote Tools のインストール」を参照してください。

  • リモート デバッグ モニターを起動するには、スタート画面の [リモート デバッグ モニター] をクリックします。

Visual Studio でリモート プロファイリングを構成する

リモート デバイス上のアプリをプロファイリングするには、Visual Studio プロジェクトのデバッグ プロパティに、デバイスの名前または IP アドレスを指定します。 ローカル コンピューターの配置ターゲットを指定し、次に実行の全体または一部のプロファイルとデータ収集を開始してから停止します。 次に、Visual Studio は IDE のドキュメント ウィンドウに結果を表示します。

リモート デバイス上のアプリをプロファイリングするには:

  1. Visual Studio で、プロファイリングするプロジェクトを開きます。

  2. [デバッグ] メニューの [プロジェクトのプロパティ] をクリックします。

  3. [構成プロパティ] ノードの [デバッグ] をクリックします。

    JavaScript のデバッグ プロジェクト プロパティ

  4. [起動するデバッガー] の一覧の [リモート コンピューター] をクリックします。

  5. [コンピューター名] 行に、リモート デバイスの名前または IP アドレスを入力します。

    リモート デバイスが Visual Studio コンピューターと同じサブネット上にあるか、Visual Studio コンピューターに直接接続されている場合は、行の下向き矢印をクリックし、[<検索...>] をクリックした後、[リモート デバッガー接続] ダイアログ ボックスでデバイスを選択します。

  6. [デバッガーの種類] リストから、次のアプリのコンポーネントで JavaScript、Visual C++、Visual C#、Visual Basic のコードをプロファイルするかを選択します。

    • [スクリプトのみ] を選択して、JavaScript をプロファイルします。

    • その他の値を選択して、JavaScript アプリの C#/VB/C++ のコンポーネントをプロファイルします。

その他のデバッグ プロパティ

  1. [ネットワーク ループバックの許可] は、プロファイルに影響しません。

  2. [認証が必要] には常に [Yes] を設定する必要があります。 ネットワーク認証を不要にすると、悪意のあるユーザーによるネットワーク攻撃のリスクが非常に大きくなります。

アプリをプロファイリングする

実行全体でプロファイリング データを収集することも、特定のシナリオのみでデータを収集することもできます。

プロファイルの停止

プロファイリング実行全体でのパフォーマンス データの収集

アプリを最初から最後までプロファイリングするには、次を行います。

  1. プロファイラーを起動します。[パフォーマンス分析の開始] をクリックする (キーボードの場合:ALT + F2 キーを押す) と、アプリが開始してプロファイリングがすぐに始まります。 リモート デバッガ― モニター特権の昇格を受け入れる必要があります。

  2. **アプリを操作します。**プロファイリングするアプリの一部を実行します。 より正確な結果を取得するには、主要なシナリオを繰り返します。

  3. プロファイリングを停止します。プロファイリング ドキュメント ウィンドウで、[プロファイルの停止] をクリックします (キーボードの場合: CTRL + ALT + F2). プロファイラーはデータを分析して、プロファイリング データの [概要] ビューを表示します。

特定のシナリオでのパフォーマンス データの収集

アプリで特定のシナリオをプロファイリングするには、次を行います。

  1. プロファイラーを起動します。[一時停止したパフォーマンス分析の開始] をクリックする (キーボードの場合:CTRL + ALT + F2 キーを押す) と、プロファイリングが中断した状態でアプリが開始します。 リモート デバッガ― モニター特権の昇格を受け入れる必要があります。

  2. プロファイリングを再開および中断します。関心のあるシナリオを開始する前に、プロファイリング ドキュメント ウィンドウで [プロファイルを再開します。] をクリックします。 シナリオを実行した後、[プロファイルを一時停止します。] をクリックして、データの収集を中断します。 プロファイリングは任意の頻度で中断および再開できます。

  3. より正確な結果を取得するには、主要なシナリオを繰り返します。

  4. プロファイリングを停止します。プロファイリング ドキュメント ウィンドウで、[プロファイルの停止] をクリックします (キーボードの場合: CTRL + ALT + F2).

プロファイリングの実行を停止すると、プロファイラーによってデータが分析され、プロファイリング データの概要ビューが IDE のドキュメント ウィンドウに表示されます。 「ストア アプリにおける JavaScript 関数タイミング データの分析」を参照してください。

参照

概念

Visual Studio 診断ツールを使用した Windows ストア アプリのパフォーマンスの分析

ローカル コンピューターのストア アプリにおける JavaScript 関数タイミング データの収集

ストア アプリにおける JavaScript 関数タイミング データの分析