方法 : パフォーマンスの統計情報を生成する
更新 : 2007 年 11 月
.NET Compact Framework には、アプリケーションのパフォーマンスに関する統計レポートを作成するためのパフォーマンス カウンタが含まれています。カウンタは、オブジェクト割り当て、ガベージ コレクション、コレクション、およびその他の機能やプロセスを計測します。レジストリ設定のオンとオフを切り替えて、アプリケーションに関するレポートを生成できます。
パフォーマンス カウンタの詳細については、「.NET Compact Framework のパフォーマンス カウンタ」を参照してください。
パフォーマンスの統計情報を生成するには
次のレジストリ サブキーの値を 1 に設定します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\PerfMonitor
レジストリ値を設定する例については、この手順の後に記載されているコードを参照してください。
パフォーマンスを分析するアプリケーションを実行します。他の .NET Compact Framework アプリケーションを同時に実行しないでください。
生成した統計ファイルをデバイスのルートで分析します。このファイルは、現在実行中の .NET Compact Framework アプリケーションと同じ名前になり、.stat という拡張子が付けられます。
データは、テキスト エディタまたは Microsoft Excel にインポートできます。Excel にインポートする場合は、テキスト ファイル ウィザードで [スペースによって右または左に揃えられた固定長フィールドのデータ] を選択します。
レジストリ サブキーの値を 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);
}
}
コードのコンパイル方法
この例では、次の名前空間への参照が必要です。