방법: 성능 통계 생성
업데이트: 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);
}
}
코드 컴파일
이 예제에는 다음과 같은 네임스페이스에 대한 참조가 필요합니다.