Windows 7
ハンズオン ラボ: インスツルメンテーションとパフォーマンス

更新日: 2009 年 10 月 23 日


ハンズオンラボ

ダウンロード

目次

  1. 演習: インスツルメンテーションとパフォーマンス
  2. 練習 1: パフォーマンス カウンターを使用したインスツルメンテーション
    タスク 1 – パフォーマンス カウンターを公開するクラスを追加する
    タスク 2 – 分析情報を公開する
  3. 練習 2: パフォーマンス分析

    タスク 1 - アプリケーションのインスツルメンテーションを行う

  4. まとめ

このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む) は、将来予告なしに変更することがあります。このドキュメントに記載された内容は情報提供のみを目的としており、明示または黙示に関わらず、これらの情報についてマイクロソフトはいかなる責任も負わないものとします。

お客様が本製品を運用した結果の影響については、お客様が負うものとします。お客様ご自身の責任において、適用されるすべての著作権関連法規に従ったご使用を願います。このドキュメントのいかなる部分も、米国 Microsoft Corporation の書面による許諾を受けることなく、その目的を問わず、どのような形態であっても、複製または譲渡することは禁じられています。ここでいう形態とは、複写や記録など、電子的な、または物理的なすべての手段を含みます。

マイクロソフトは、このドキュメントに記載されている内容に関し、特許、特許申請、商標、著作権、またはその他の無体財産権を有する場合があります。別途マイクロソフトのライセンス契約上に明示の規定のない限り、このドキュメントはこれらの特許、商標、著作権、またはその他の無体財産権に関する権利をお客様に許諾するものではありません。

別途記載されていない場合、このソフトウェアおよび関連するドキュメントで使用している会社、組織、製品、ドメイン名、電子メール アドレス、ロゴ、人物、出来事などの名称は架空のものです。実在する会社名、組織名、商品名、個人名などとは一切関係ありません。

© 2009 Microsoft Corporation. All rights reserved.

Microsoft、MS-DOS、Windows、Windows NT、MSDN、Active Directory、BizTalk、Windows Server、SQL Server、SharePoint、Outlook、PowerPoint、FrontPage、Visual Basic、Visual C++、Visual C#、Visual Studio は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。

記載されている会社名、製品名には、各社の商標のものもあります。

1. 演習: インスツルメンテーションとパフォーマンス

Windows 7 は、Windows Vista やそれ以前の Windows から提供された、アプリケーションの分析情報を取得するための、インスツルメンテーション プラットフォームの上に構築されています。次に挙げる各項を含む、様々なインスツルメンテーションや制御情報を公開するメカニズムがあります。

  • Event Tracing for Windows (ETW)
  • パフォーマンス カウンター
  • Windows Management Instrumentation (WMI)
  • イベント ログ

アプリケーションのパフォーマンスを分析したり、インスツルメンテーションの情報を使用したりすることは、現実世界のシナリオにおいてアプリケーションのトラブルシューティングを行う上で、重要なタスクです。Windows におけるインスツルメンテーションの仕組みと Windows Performance Toolkit は、分析作業を効率化する重要なツールとしての機能を提供しています。

前提知識

この演習のドキュメントでは、次に挙げる知識を既にお持ちであることを前提に解説しています。ただし、C# の言語文法等に自信のない方でも、この演習付属のサンプルの完成品をコンパイルし、実行することで、この演習で取り上げた機能を体感することができます。

  • Visual Studio 2008 (Visual C# 2008) における基本的な操作。たとえば、ソリューションを開く方法、エディターでの編集、ビルド (コンパイル) や実行の方法など。
  • C# の言語文法や、オブジェクト指向プログラミングに関する基本的な用語。

演習のシステム要件

この演習を行うには、あらかじめ以下の環境を用意する必要があります。

  • Windows 7 (日本語 32 ビット版)
  • Visual C# 2008 SP1 (Visual Studio 2008 SP1) 日本語版、Express Edition も可能
  • Windows SDK for Windows 7 and .NET Framework 3.5 SP 1 (英語版、x86 用) に含まれるWindows Performance Toolkit (練習 2 で使用)
  • この演習で使用する付属のソース プログラム (サンプル プログラム)

この後は、上記の各項について、留意点をいつくか補足します。予めご覧ください。

Windows 7 では Visual Studio 2008 及び Windows Performance Toolkit を動作させることが目的なので、特に Windows 7 のエディションは問いません。

Visual C# 2008 のエディションは問いません。Visual C# 2008 Express Edition も演習を行うことが可能です。ただし、SP1 をご利用ください。今回インストールする Windows SDK は、SP1 環境が前提になります。なお、Visual C# 2008 Express Editionは、Visual Studio 2008 Express Edition SP1 の一部として、以下の URL のダウンロード センターから無償で入手できます。(2009 年 9 月現在)

この演習では、Windows SDK for Windows 7 and .NET Framework 3.5 SP 1 (以降は Windows SDK と表記) に含まれる Windows Performance Toolkit を使用するので、Windows SDK もインストールします。Windows SDK は、MSDN サブスクリプション サイト、または、上記のサイトから入手できます (英語版なので、上記サイトで、検索する際には「Microsoft U.S. ダウンロード センターも検索する」オプションを付けて検索してください。なお、Windows Performance Toolkit のインストール方法は、後述の「Windows Performance Toolkit のインストール」の項を参照してください。

演習に使用する付属のソース プログラムの入手方法については、このドキュメントを入手されたサイト等でご確認ください。ソース プログラムの使用方法は、後述の「演習で使用する付属のソース プログラム (サンプル プログラム) のインストール方法」の項を参照してください。

Windows Performance Toolkit のインストール

Note: Windows Performance Toolkit (WPT) は、様々なバージョンがありますが、ここでは Windows SDK for Windows 7 and .NET Framework 3.5 SP1 に同梱されたものを使用します。そのため、まず Windows SDK をインストールしてください (既定オプションのインストールで可)。さらに、Windows SDK のインストール後、改めて次に示す手順で、Windows Performance Toolkit をインストールしてください。なお、Windows Performance Toolkit は練習 2 で使用するので、練習 1 だけを行うのであれば、インストールする必要はありません。

Windows SDK をインストールした後、次の操作を行います。

  1. エクスプローラーを開き、Windows SDK のインストール先である次のパスに移動します (ドライブ名は、Program Files の場所に依存します)。

    C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin

  2. このパスの中にある、次の名前の Windows Performance Toolkit の インストーラー パッケージ (MSI ファイル) を見つけ、これをダブルクリックして実行します。

    wpt_x86.msi

    Note: ここでは、32 ビット版 Windows 7 (x86 版) を使用しています。環境によって、ターゲットごとにインストールすべきパッケージが異なります。
  3. セットアップ ウィザードが起動するので、既定オプションのまま、ウィザードのページを進めて、インストールを行います。セットアップの種類 (Setup Type) では、「Typical」を選択すれば問題ありません。

    Choose Setup Type

  4. インストールが完了すると、スタート メニューの中の「すべてのプログラム」の一覧に、「Microsoft Windows Performance Toolkit」という項目が追加されることを確認します。

    Microsoft Windows Performance Toolkit

演習で使用する付属のソース プログラム (サンプル プログラム) のインストール方法

演習で使用するソース プログラムには、特別なインストール方法はありません。入手されたソース プログラムのフォルダー「HOLInstru」全体を、任意のパスにコピーしてください。たとえば、C:\ にコピーすれば、演習で作業を行うソース プログラムのパスは、次のようになります。

例 1. C:\HOLInstru

なお、演習の本文では、ソース プログラム等の位置を示す際、次のように、ソース プログラムのルート フォルダーに対する相対パスで表記しています。

例 2. Ex1_Starter\ Ex1_Starter.sln

この場合、ソース プログラムのフォルダーが例 1 の場所であるなら、絶対パスは次の意味になります。

例 3. C:\HOLInstru\Ex1_Starter\Ex1_Starter.sln

なお、演習作業の中で、ソース プログラムに書き込む場合もあるので、作業を行うユーザー アカウントには、ソース プログラムに対して、書き込み可能なアクセス許可を与えてください。

演習の目的

このハンズオンでは、次のことを学びます。

  • パフォーマンス カウンターを使用して、アプリケーションからインスツルメンテーションのための情報を公開する
  • Windows Performace Toolkit を使用して、アプリケーションのパフォーマンスを分析する方法を確認する
Note: この演習で取り上げた手法は、奨励される開発の実践方法を表しているわけではありません。実際のシナリオでは、アプリケーション専用のパフォーマンス カウンターを登録するために、管理者に昇格して実行 (またはインストール) することになるでしょう。さらに、1 つのマシン上で (ターミナル サービスや複数のセッションを使用した実行環境で)、複数のアプリケーション インスタンスを実行できるようにするために、パフォーマンス カウンターの複数のインスタンスを構成したくなるでしょう。そうしないと、ユーザーの簡易切り替えやターミナル サービスなどのマルチユーザー環境での使い勝手を、悪くすることになります。

ページのトップへ


2. 練習 1: パフォーマンス カウンターを使用したインスツルメンテーション

この練習では、Windows のパフォーマンス カウンターを使用して、既存のアプリケーションにインスツルメンテーションを追加します。このアプリケーションは、複写元のディレクトリから複写先のディレクトリへ、ディレクトリ内のファイル全部をコピーするものです。UI として、プログレス バーが視覚的にその進行状況を表示します。しかし、この進行状況を他のプログラムから把握したり、リモート マシンから把握したりするには、インスツルメンテーション情報として、これらの情報を Windows OS 上に公開する必要があります。

この練習を行うには、Visual Studio を管理者として実行する必要があります。または、単独でこのアプリケーションを実行するには、そのアプリケーションを管理者として実行しなければなりません。(たとえば、エクスプローラー上のアプリケーションの実行可能ファイルを右クリックして、[管理者として実行] をクリックします。) この操作は、パフォーマンス カウンターを登録する上で必要になります。

ページのトップへ


タスク 1 - パフォーマンス カウンターを公開するクラスを追加する

アプリケーションからインスツルメンテーション情報を公開するために、ファイルのコピー操作の進捗を表すパフォーマンス カウンターを公開するクラスを作ることにします。

  1. Visual Studio 2008 を管理者として実行した後、演習用フォルダー内の以下のパスにあるソリューション ファイルを開きます。

    Ex1_Starter\Ex1_Starter.sln

  2. ソリューション エクスプローラー上の Ex1_Starter プロジェクトを右クリックして、表示されたショートカット メニューにおいて、[追加]、[クラス] の順にクリックします。[新しい項目の追加] ダイアログ ボックスが表示されたら、テンプレートとして「クラス」が選択されていることを確認した後、ファイル名には「FileCopyPerformanceCounters.cs」と入力し、[追加] ボタンをクリックして、このクラスを追加します。このクラスのインスタンスは必要ないので、クラスの先頭には static 修飾子を付けて、静的クラスにしておいてください。(完成したソース コードは、この後に記載されています。)
  3. ファイルの先頭の他の using ディレクティブの次に、System.Diagnostics 名前空間を使用する using ディレクティブを追加します。
  4. このクラスに、Initialize という名前の、パブリックな静的メソッドを追加します。このあと、このメソッドには、Windows OS に対してパフォーマンス カウンターを公開するために、PerformanceCounterCategory オブジェクトと PerformanceCounter オブジェクトのインスタンスを初期化します。
  5. このメソッドの中で、CounterCreationDataCollection クラスのインスタンスを作成し、変数 counters で参照できるように定義します。(この後の手順は、同じメソッドの中に記述します。)
  6. CounterCreationData クラスのインスタンスを作成し、変数 counter で参照できるように定義します。その際、初期値としてコンストラクターの引数に、以下の値を渡します。
    1. カウンターの名前として "Total Files Copied"
    2. このカウンターの説明として、任意の説明文字列
    3. カウンターの型として、PerformanceCounterType.NumberOfItems32
  7. CounterCreationDataCollection オブジェクト (counters) の Add メソッドを呼び出して、CounterCreationData オブジェクト (counter) を追加します。
  8. もう 1 つ、CounterCreationData インスタンスを作成し、初期値としてコンストラクタの引数に、次の値を指定します。
    1. カウンターの名前として "% Files Copied"
    2. このカウンターの説明として、任意の説明文字列
    3. カウンターの型として、PerformanceCounterType.NumberOfItems32
  9. この 2 つ目の CounterCreationData オブジェクトについても、手順 7 と同様に追加します。
  10. PerformanceCounterCategory クラスの静的メソッドである Exists メソッドと Delete メソッドを呼び出して、パフォーマンス カウンターのカテゴリ「FileCopier」が存在していないか確認します。存在していた場合は、これを削除し、次の手順で新規作成できるようにします。
  11. PerformanceCounterCategory クラスの静的メソッド Create を呼び出す記述を追加します。(引数はこの後の手順を参照)
  12. 最初の引数であるカテゴリ名は "FileCopier" にします。
  13. また 2 番目の引数には、カテゴリの説明として、任意の説明文字列を 2 番目の引数に指定し、3 番目の引数には、PerformanceCounterCategoryType.SingleInstance を指定します。
  14. 4 番目の引数には、既に作成された CounterCreationDataCollection オブジェクト (counters) を指定します。
  15. このクラスに、PerformanceCounter 型の変数を、プライベートな静的変数として、2 つ定義します。名前はそれぞれ、_totalFilesCounter と _percentDoneCounter にします。
  16. Initialize メソッドの中の最後には、PerformanceCounter クラスの新しいインスタンスを 2 つ作成し、それぞれ、前述の 2 つのメンバ変数に参照を代入します。2 つのインスタンスを作成する際のコンストラクタの引数として、それぞれ、1 つ目の引数には同じカテゴリである "FileCopier" を指定します。また、2 つ目の引数には、既に定義したカウンターの名前をそれぞれ指定します ("Total Files Copied" または "% Files Copied")。3 つ目の引数には、false を指定します。ここまでのところで、FileCopyPerformanceCounters のコードは、次のようになります。

 

using System.Diagnostics;
namespace Ex1_Starter
{
    static class FileCopyPerformanceCounters
    {
        public static void Initialize()
        {
            CounterCreationDataCollection counters
                = new CounterCreationDataCollection();
            CounterCreationData counter = new CounterCreationData(
                "Total Files Copied",
                "Total number of files copied by the application.",
                PerformanceCounterType.NumberOfItems32);
            counters.Add(counter);
            counter = new CounterCreationData(
                "% Files Copied",
                "Percent of files copied in the current operation.",
                PerformanceCounterType.NumberOfItems32);
            counters.Add(counter);
            if (PerformanceCounterCategory.Exists("FileCopier"))
                PerformanceCounterCategory.Delete("FileCopier");
            PerformanceCounterCategory.Create("FileCopier",
                "Instrumentation of the FileCopier application.",
                PerformanceCounterCategoryType.SingleInstance,
                counters);
            _totalFilesCounter = new PerformanceCounter(
                "FileCopier", "Total Files Copied", false);
            _percentDoneCounter = new PerformanceCounter(
                "FileCopier", "% Files Copied", false);
        }
        private static PerformanceCounter _totalFilesCounter;
        private static PerformanceCounter _percentDoneCounter;
    }
}
  1. MainForm.cs ファイルをコード エディターで開き、コンストラクタを見つけて、前述の Initialize メソッドを呼び出す次のコードを追加します。
public MainForm()
{
    InitializeComponent();
    FileCopyPerformanceCounters.Initialize();
}
  1. アプリケーションを起動します。エラーが発生しないことを確認します。カウンターの登録に成功すれば、エラーが発生しないはずです。もし、エラーが発生した場合は、デバッグを行う前に、Visual Studio を管理者として起動してあるか確認してください。(また、単独でアプリケーションを起動した場合は、そのアプリケーションを管理者として起動したか確認してください。)
  2. アプリケーションが正常に起動したことを確認した後、このアプリケーションを終了しておきます。

ページのトップへ


タスク 2 - 分析情報を公開する

このタスクでは、前のタスクで作成したアプリケーションを使用し、複写元から複写先にファイルをコピーする際の進行状況に関する情報を、パフォーマンス カウンターを介して公開します。

  1. FileCopyPerformanceCounters クラスに、1 つの int 型の引数を持つ静的メソッドを、2 つ追加します。それぞれの名前は、UpdateTotalFiles メソッド、および UpdatePercentDone メソッドにします。(完成したコードは後述)
  2. それぞれのメソッドの本体には、PerformanceCounter オブジェクト (_totalFilescounter と _percentDoneCounter) の RawValue プロパティへ、メソッドの引数として渡された値を代入します。
public static void UpdateTotalFiles(int totalFiles)
{
    _totalFilesCounter.RawValue = totalFiles;
}
public static void UpdatePercentDone(int percentDone)
{
    _percentDoneCounter.RawValue = percentDone;
}
  1. MainForm.cs ファイルの中で、btnCopy_Click メソッドに移動し、_worker インスタンスの DoWork イベントに、イベント ハンドラを設定しているコードを見つけます。
    1. このイベント ハンドラ内で、ファイルをコピーする for ループ ブロック内の最後に、FileCopyPerformanceCounters.UpdateTotalFiles メソッドを呼び出し、引数にはコピーしたファイルの数を渡すよう記述します。(この後のコードを参照)
  2. さらに、_worker インスタンスの ProgressChanaged イベントに、イベント ハンドラを設定しているコードを見つけます。
    1. このイベント ハンドラの中で、さらに BeginInvoke メソッド呼び出しの引数として指定された、匿名メソッドのブロックの中で、FileCopyPerformanceCounters クラスの UpdatePercentDone メソッドを呼び出し、その引数には、イベント ハンドラの引数 e の ProgressPercentage プロパティを渡します。ここまでのコードは次のようになります。
_worker.DoWork += (o, e) =>
{
    string[] files = Directory.GetFiles(source);
    for (int i = 0; i < files.Length; ++i)
    {
        Thread.Sleep(1000);
        File.Copy(files[i], Path.Combine(dest,
            Path.GetFileName(files[i])));
        _worker.ReportProgress((int) ((100.0f * i) / files.Length));
        FileCopyPerformanceCounters.UpdateTotalFiles(i);
    }
};
_worker.WorkerReportsProgress = true;
_worker.ProgressChanged += (o, e) =>
{
    this.BeginInvoke((MethodInvoker)delegate
    {
        progressBar.Value = e.ProgressPercentage;
        FileCopyPerformanceCounters.UpdatePercentDone(
            e.ProgressPercentage);
    });
};
  1. ビルトを行って、アプリケーションを実行します。アプリケーション上の 2 つの [Browse] ボタンをそれぞれクリックして、Source directory (複写元)、Destination Directory (複写先) に、適当なフォルダーを指定します。まだ [Copy] ボタンを押さないでください。

    Note: このプログラムでは、複写元のファイルと同じ名前のファイルが、複写先に存在すると、上書きコピーを行いません。コピーを実行するには、複写先に同一名のファイルがない状態にする必要があります。
  2. パフォーマンス モニターを起動します。(スタート メニューの [プログラムとファイルの検索] ボックスに「perfmon」と入力すると、「perfmon.exe」がスタート メニューにリスト アップされます。)
  3. パフォーマンス モニターが起動したら、左ペインで [モニター ツール] ノードの配下にある [パフォーマンス モニター] ノードをクリックします。
  4. 右ペインの上部にある [追加] ボタン (緑色のプラス印のマーク) をクリックし、次図のように [カウンターの追加] ダイアログ ボックスを表示させ、「FileCopier」カテゴリ内の 2 つのカウンターを見つけ、それぞれ追加します。(それぞれカウンターを選択して、[追加] ボタンをクリックします。)

    カウンターの追加

  5. 追加が済んだら、[カウンターの追加] ダイアログ ボックスの [OK] ボタンをクリックして、このダイアログ ボックスを閉じます。
  6. アプリケーションの [Copy] ボタンをクリックして、コピーを開始します。パフォーマンス モニターで、2 つのパフォーマンス カウンターの値が増加することを確認します。
    パフォーマンス モニター
  7. 確認が済んだら、アプリケーションとパフォーマンス モニターを終了します。

この練習では、パフォーマンス カウンターを公開し、それをパフォーマンス モニターから使用することで、既存のアプリケーションにインスツルメンテーション機能を追加する方法を確認しました。この練習の完成品は、演習フォルダーの Ex1_Solution サブフォルダーの中にあります。

ページのトップへ


3. 練習 2: パフォーマンス分析

この練習では、練習 1 で作成したアプリケーションのパフォーマンスを分析するため、CPU や I/O の利用状況を調べます。アプリケーションのコードを書き変えず、サード パーティ製のプロファイラも使用しなくとも、Windows Performance Toolkit を使用すれば、パフォーマンスの分析を行うことができます。

この練習を行うには、Windows Performance Toolkit をインストールしておく必要があります。このツールには、32 ビット版と 64 ビット版があるので、その Windows OS にあったものをインストールする必要があります。

Note: Windows Performance Toolkit のインストール モジュールは、Windows SDK for Windows 7 and .NET Framework 3.5 SP1 をインストールした後、既定では以下のパスに見つけることができます。(この msi ファイルの名前は、32 ビット版の場合)

\Program Files\Microsoft SDKs\Windows\v7.0\bin\xperf_x86.msi

ページのトップへ


タスク 1 - アプリケーションのインスツルメンテーションを行う

アプリケーションのインスツルメンテーションを行うには、まず、プロファイルを収集する準備として、BASE オプションを付けて Xperf ツールを実行させることから始めます。

  1. 練習 1 で完成されたアプリケーションを管理者として実行します。(もし、練習 1 を完了していない場合は、演習フォルダー内の Ex1_Solution サブフォルダーにあるアプリケーションを実行してください。)
  2. ファイルをコピーするために、[Source directory] ボックスと [Destination directory] ボックスに、適当な複写元と複写先を指定します。まだ [Copy] ボタンを押さないでください。
  3. 管理者としてコマンド プロンプトを開きます。(スタート メニューの [プログラムとファイルの検索] ボックスに「cmd」と入力し、スタート メニューの一覧に表示された「CMD Shell」を右クリックして、[管理者として実行] をクリックします。)
  4. コマンド プロンプトが開いたら、CD コマンドを使用して、Windows Performance Toolkit のフォルダーに移動します。もし、既定構成でインストールしているのならば、次に示すコマンドで移動できます。

    CD \Program Files\Microsoft Windows Performance Toolkit

  5. 基本的なインスツルメンテーションのプロファイルの作成を有効にするため、以下のコマンドを実行します。

    xperf -on BASE

  6. 実行中のアプリケーション上の [Copy] ボタンをクリックして、ファイルをコピーします。
  7. コピーが終了したら、コマンド プロンプトに戻り、以下のコマンドを実行します。インスツルメンテーションの情報が result.etl に出力されます。

    xperf -d result.etl

  8. 今度は、管理者に昇格せずに、もう 1 つ別のコマンドプロンプトを開き、手順 4 と同様に以下のパスに移動します。

    CD \Program Files\Microsoft Windows Performance Toolkit

    Note: このあと、出力結果を表示する際に使用する xperfview は、セキュリティの都合上、管理者として昇格していない状態で実行するようにデザインされています。管理者に昇格した状態で実行すると警告が発生します。
  9. 出力結果を確認するため、以下のコマンドを実行します。

    xperf result.etl

  10. ウィンドウが表示され、[Windows Performance Analyzer] というタイトルのウィンドウ (xperfview) に結果がビジュアルに表示されます。ここで、左端中央のハンドルをクリックしてリストを展開し、「Disk Utilization by Process」と「CPU Sampling by Process」の 2 つのチェックボックスをチェックします。

    Windows Performance Analyzer

  11. ウィンドウ内の上下 2 つのペインの、それぞれ右端のコンボ ボックスを展開し、それぞれ 「Ex1_Start.exe」(練習 1 のアプリケーション) のみを選択します。

    「Ex1_Start.exe」(練習 1 のアプリケーション) のみを選択

  12. 上下のペインで、CPU とディスクの使用状況を確認します。
  13. 「Disk Utilization by Process」のペインで右クリックし、[Summary Table] をクリックして内容を確認します。
  14. 「Disk Utilization by Process」のペインで右クリックし、[Detail Graph] をクリックして内容を確認します。
  15. 確認が済んだら、Windows Performance Analyzer を閉じておきます。
  16. 管理者として起動したプロンプトに戻り、以下のコマンドを実行し、インスツルメンテーション情報のファイルを削除しておきます。

    DEL result.etl

  17. 2 つのコマンド プロンプトを閉じ、アプリケーションを終了します。

この練習では、Windows Performance Toolkit のコマンドライン ツールとGUI ツールを使用して、アプリケーションのコードには手を付けずに、アプリケーションのパフォーマンスの特徴を分析する方法を確認しました。

ページのトップへ


4. まとめ

この演習では、Windows のパフォーマンス カウンターを使用して、アプリケーションからインスツルメンテーションの情報を公開し、他のプログラムやリモート マシンから検証できるようにしました。また、Windows Performance Toolkit を使用して、検査対象のアプリケーションのソース コードを書き変えずに、そのアプリケーションのパフォーマンスを外部から分析する方法を確認しました。

ページのトップへ