Поделиться через


Практическое руководство. Создание статистики производительности

Обновлен: Ноябрь 2007

.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. Чтобы выключить счетчики производительности, установите для раздела реестра нулевое значение.

Пример

Следующий метод включает или выключает счетчики производительности путем установки для соответствующего раздела реестра значения логического параметра 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