方法 : パフォーマンスの統計情報を生成する

更新 : 2007 年 11 月

.NET Compact Framework には、アプリケーションのパフォーマンスに関する統計レポートを作成するためのパフォーマンス カウンタが含まれています。カウンタは、オブジェクト割り当て、ガベージ コレクション、コレクション、およびその他の機能やプロセスを計測します。レジストリ設定のオンとオフを切り替えて、アプリケーションに関するレポートを生成できます。

パフォーマンス カウンタの詳細については、「.NET Compact Framework のパフォーマンス カウンタ」を参照してください。

パフォーマンスの統計情報を生成するには

  1. 次のレジストリ サブキーの値を 1 に設定します。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\PerfMonitor

    レジストリ値を設定する例については、この手順の後に記載されているコードを参照してください。

  2. パフォーマンスを分析するアプリケーションを実行します。他の .NET Compact Framework アプリケーションを同時に実行しないでください。

  3. 生成した統計ファイルをデバイスのルートで分析します。このファイルは、現在実行中の .NET Compact Framework アプリケーションと同じ名前になり、.stat という拡張子が付けられます。

    データは、テキスト エディタまたは Microsoft Excel にインポートできます。Excel にインポートする場合は、テキスト ファイル ウィザードで [スペースによって右または左に揃えられた固定長フィールドのデータ] を選択します。

  4. レジストリ サブキーの値を 0 に設定して、パフォーマンス カウンタをオフにします。

使用例

次のメソッドは、ブール型の perfOn パラメータの値に従ってレジストリ サブキーを設定し、パフォーマンス カウンタのオンとオフを切り替えます。

' Call this method with True to 
' turn on the peformance counters, 
' or with False to turn them off.
Private Sub SetPerfCounters(perfOn As Boolean)

    ' Specify values for setting the registry.
    Dim userRoot As String = "HKEY_LOCAL_MACHINE"
    Dim subKey As String = "SOFTWARE\\Microsoft\\.NETCompactFramework\\PerfMonitor"
    Dim keyName As String = userRoot & "\" & subKey

    Dim PCset As Integer

    If perfOn = True Then
        PCset = 1
    Else
        PCset = 0
    End If

    ' Set the registry value.       
    Try
        Registry.SetValue(keyName, "Counters", PCset)
        If perfOn = True Then
            MessageBox.Show("Performance Counters On")
        Else
            MessageBox.Show("Performance Counters Off")
        End If
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
// Call this method with True to 
// turn on the peformance counters, 
// or with False to turn them off.
private void SetPerfCounters(bool perfOn)
{
    // Specify values for setting the registry.
    string userRoot = "HKEY_LOCAL_MACHINE";
    string subkey = "SOFTWARE\\Microsoft\\.NETCompactFramework\\PerfMonitor";
    string keyName = userRoot + "\\" + subkey;

    int PCset;
    if(perfOn == true)
        PCset = 1;
    else
        PCset = 0;

    // Set the the registry value.
    try
    {
        Registry.SetValue(keyName, "Counters", PCset);
        if(perfOn == true)
            MessageBox.Show("Performance Counters On");
        else
            MessageBox.Show("Performance Counters Off");
    }
    catch(System.Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

コードのコンパイル方法

この例では、次の名前空間への参照が必要です。

参照

概念

.NET Compact Framework のパフォーマンス カウンタ