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

Существует множество причин, по которым производительность azure Удаленная отрисовка может быть не так хороша, как и нужно. Помимо чистой производительности рендеринга на облачном сервере, качество сетевого подключения особенно оказывает значительное влияние на восприятие. Чтобы профилировать производительность сервера, обратитесь к главе Запросы производительности на стороне сервера.

В этой главе основное внимание уделяется выявлению потенциальных узких мест на стороне клиента через performance traces.

Начало работы

Если вы не знакомы с функциональностью Windowsperformance tracing, в этом разделе упоминание наиболее фундаментальные термины и приложения для начала работы.

Установка

Приложения, используемые для трассировки с помощью Azure Удаленная отрисовка (ARR), — это средства общего назначения, которые можно использовать для всей разработки Windows. Они предоставляются с помощью набор средств производительности Windows. Чтобы получить этот набор инструментов, загрузите комплект для развертывания и оценки Windows.

Терминология

Диапазон терминов важен при обсуждении трассировок производительности. Наиболее важные из них:

  • Event Tгонок для Windows (ETW)
    ETW — это полное имя эффективного средства трассировки на уровне ядра, встроенного в Windows. Приложения, поддерживающие ETW, выдают события для действий журнала, которые могут помочь отслеживать проблемы с производительностью, таким образом трассировку событий имен. По умолчанию операционная система уже генерирует события для таких вещей, как доступ к диску, переключение задач и тому подобное. Такие приложения, как ARR, дополнительно генерируют настраиваемые события, например о пропущенных кадрах, задержке сети и т. д.

  • Event Tгонка Logging (ETL)
    ETL описывает собранную (зарегистрированную) трассировку и поэтому обычно используется в качестве расширения файла для файлов, которые хранят данные трассировки. Таким образом, при выполнении трассировки обычно у вас есть файл *.etl после этого.

  • Windows Performance Recorder (WPR)
    WPR — это имя приложения, которое запускает и останавливает запись трассировок событий. WPR принимает файл профиля (*.wprp), который настраивает точные события для журнала. Такой файл wprp предоставляется вместе с ARR SDK. При выполнении трассировок на настольном компьютере можно запустить WPR напрямую. Выполняя трассировку на HoloLens, вы обычно используете веб-интерфейс.

  • Windows Performance Analyzer (WPA)
    WPA — это имя приложения ГРАФИЧЕСКОго интерфейса, которое используется для открытия *.etl-файлов и просеивать данные для выявления проблем с производительностью. WPA позволяет сортировать данные по различным критериям, отображать данные несколькими способами, углубляться в детали и сопоставлять информацию.

  • Perfetto
    Perfetto — это средство профилирования системы и трассировки приложений для Android и Linux, которое доступно с Android 9 Pie. Perfetto также включен на устройствах Meta Quest и Quest 2 (если включен режим разработчика), начиная с версии 27 ОС. Пользовательский интерфейс средства просмотра трассировки Perfetto можно использовать для открытия и анализа результирующей трассировки Perfetto.

Хотя трассировки ETL можно создавать на любом устройстве Windows (локальном компьютере, HoloLens, облачном сервере и т. д.), они обычно сохраняются на диске и анализируются с помощью WPA на классическом компьютере. Файлы ETL можно отправить другим разработчикам, чтобы они посмотрели их. Трассировки ETL могут включать конфиденциальную информацию, например пути к файлам и IP-адресам. Вы можете использовать трассировку событий Windows двумя способами: для записи трассировок или для анализа трассировок. Запись трассировок проста и требует минимальной настройки. Анализ трассировок с другой стороны требует достойного понимания как инструмента WPA, так и проблемы, которую вы исследуете. Общие материалы по обучению WPA приведены позже и рекомендации по интерпретации трассировок, относящихся к ARR.

Запись трассировки на локальный ПК

Используйте трассировки на компьютере, чтобы ознакомиться с инструментами или у вас возникла проблема, из-за которой ограничения оборудования HoloLens не актуальны. В противном случае можно перейти к записи трассировки в разделе HoloLens . Особенно проблемы с производительностью ARR должны отслеживаться непосредственно в HoloLens.

Конфигурация WPR

  1. Запустите Windows Performance Recorder из начального меню.
  2. Разверните дополнительные параметры.
  3. Выберите " Добавить профили...".
  4. Выберите файл AzureRemoteRenderingNetworkProfiling.wprp. Вы можете найти этот файл в ARR SDK в разделе Tools/ETLProfiles. Профиль указан в WPR в разделе "Пользовательские измерения". Убедитесь, что это единственный включенный профиль.
  5. Разверните триаж первого уровня.
    • Если все, что вы хотите сделать, это быстро отследить сетевые события ARR, отключите эту опцию.
    • Если вам нужно соотнести сетевые события ARR с другими характеристиками системы, такими как использование ЦП или памяти, включите эту опцию.
    • Трассировки с включенным параметром чаще всего имеют размер нескольких гигабайтов и могут занять много времени для сохранения и открытия в WPA.

После этого ваша конфигурация WPR должна выглядеть так:

Screenshot of the Windows Performance Recorder with a selected AzureRemoteRenderingNetworkProfiling profile.

Запись

Нажмите кнопку "Пуск ", чтобы начать запись трассировки. Вы можете запускать и останавливать запись в любое время; Прежде чем это сделать, вам не нужно закрывать приложение. Как видите, вам не нужно указывать, какое приложение следует трассировать, так как etw записывает трассировку для всей системы. В файле wprp указываются типы событий для записи.

Нажмите кнопку "Сохранить", чтобы остановить запись и указать место хранения файла ETL.

Теперь у вас есть файл ETL, который можно открыть в WPA.

Запись трассировки на HoloLens

Чтобы записать трассировку на HoloLens, загрузите устройство и введите его IP-адрес в браузер, чтобы открыть Портал устройств.

Screenshot of the Performance Tracing webpage in the HoloLens Device Portal.

  1. Слева перейдите к трассировке производительности производительности>.
  2. Выберите настраиваемые профили.
  3. Выберите Browse....
  4. Выберите файл AzureRemoteRenderingNetworkProfiling.wprp. Вы можете найти этот файл в ARR SDK в разделе Tools/ETLProfiles.
  5. Нажмите кнопку "Пуск трассировки".
  6. HoloLens теперь записывает след. Обязательно активируйте проблемы с производительностью, которые вы хотите исследовать. Затем нажмите кнопку "Остановить трассировку".
  7. Затем трассировка отображается в нижней части веб-страницы. Чтобы скачать ETL-файл, щелкните значок диска в правой части.

Теперь у вас есть файл ETL, который можно открыть в WPA.

Запись трассировки на устройстве Meta Quest

Чтобы записать трассировку в Quest, необходимо средство командной строки adb.

  1. Убедитесь, что режим разработчика включен в quest.
  2. Убедитесь, что adb авторизован для доступа к устройству, выполнив adb devices и убедившись, что устройство указано.
  3. Найдите файл конфигурации трассировки AzureRemoteRenderingPerfetto.txt из пакета SDK ARR в разделе Tools/ETLProfiles.
    • По умолчанию конфигурация трассировки настроена на 30 секунд. Эту конфигурацию можно изменить, изменив duration_ms: 30000 значение в файле AzureRemoteRenderingPerfetto.txt .
  4. В PowerShell выполните команду $config = cat "AzureRemoteRenderingPerfetto.txt" | adb shell perfetto -c - $config --txt --o "/data/misc/perfetto-traces/trace".
  5. Вы должны увидеть выходные данные, аналогичные этой строке.
    [522.149] perfetto_cmd.cc:825     Connected to the Perfetto traced service, TTL: 30s
    
  6. Устройство Quest теперь записывает трассировку. Запустите приложение и активируйте проблему, которую вы хотите исследовать.
  7. После завершения записи трассировки вы увидите выходные данные, аналогичные этой строке.
    [552.637] perfetto_cmd.cc:946     Trace written into the output file
    
  8. Наконец, можно извлечь файл с устройства, выполнив команду adb pull "/data/misc/perfetto-traces/trace" "outputTrace.pftrace".

Теперь у вас есть файл трассировки Perfetto, который можно открыть в пользовательском интерфейсе средства просмотра трассировки Perfetto.

Анализ трассировки с помощью WPA

Основы WPA

Анализатор производительности Windows — это стандартный инструмент для открытия файлов ETL и проверки трассировок. Объяснение того, как работает WPA, выходит за рамки данной статьи. Для начала ознакомьтесь с этими ресурсами:

  • Посмотрите вводные видеоролики, чтобы получить первый обзор.
  • Просмотрите вкладку "Приступая к работе " в самом WPA, которая объясняет распространенные шаги. Ознакомьтесь с доступными статьями. В частности, в разделе "Просмотр данных" вы получите краткое описание того, как создавать графики для определенных данных.
  • Посмотрите отличную информацию на этом сайте, однако, не все это актуально для начинающих.

Графические данные

Чтобы начать работу с трассировкой ARR, полезно знать следующие моменты.

Screenshot of an example graph in the Windows Performance Analyzer tool.

На изображении показана таблица данных трассировки и представление графа одинаковых данных.

В таблице внизу обратите внимание на желтую (золотую) полосу и синюю полосу. Вы можете перетащить эти полосы и разместить их в любом месте.

Все столбцы слева от желтой полосы интерпретируются как ключи. Ключи используются для структурирования дерева в верхнем левом окне. Здесь у нас есть два ключевых столбца: "Имя поставщика" и "Имя задачи". Поэтому структура дерева в левом верхнем окне — это два уровня глубины. Если вы измените порядок столбцов или добавите или удалите столбцы из ключевой области, структура в древовидном представлении изменится.

Столбцы справа от синей полосы используются для отображения графика в правом верхнем окне. В большинстве случаев используется только первый столбец, но для некоторых режимов графиков требуется несколько столбцов данных. Чтобы линейные графики работали, в этом столбце должен быть установлен режим агрегирования. Используйте "Avg" или "Max". Режим агрегации используется для определения значения графика в заданном пикселе, когда пиксель покрывает диапазон с несколькими событиями. Это свойство можно наблюдать, задав агрегирование в значение Sum, а затем увеличить и выключить.

Столбцы посередине не имеют особого значения.

Screenshot of the Generic Events View Editor in the Windows Performance Analyzer tool.

В редакторе представления общих событий вы можете настроить все отображаемые столбцы, режим агрегирования, сортировку и то, какие столбцы используются в качестве ключей или для построения графиков. В примере изображения включено поле 2 и поле 3 – 6 отключены. Поле 2 обычно является первым полем настраиваемых данныхсобытия ETW и, следовательно, для событий ARR "FrameStatistics", которые представляют некоторое значение сетевой задержки. Включите другие столбцы "Поле", чтобы увидеть дальнейшие значения этого события.

Предустановки

Чтобы правильно проанализировать трассировку, необходимо выяснить собственный рабочий процесс и предпочтительнее отображение данных. Однако, чтобы иметь возможность получить быстрый обзор событий, связанных с ARR, мы включили профиль платформы защиты программного обеспечения Windows и файлы предустановок в папку Tools/ETLProfiles. Чтобы загрузить полный профиль, выберите "Профили > применить" в строке меню WPA или откройте панель "Мои предустановки " (окно > "Мои предустановки") и выберите " Импорт". Бывший настраивает полную конфигурацию WPA, как на рисунке ниже этого абзаца. Последний делает только предустановки для различных конфигураций представления и позволяет быстро открыть представление для просмотра определенной части данных событий ARR.

Screenshot of the Windows Performance Analyzer tool with the ARR presets applied.

На изображении показаны представления различных событий ARR, а также представление общего использования ЦП.

Следующие шаги