Запустите Winscope локально или получите к нему доступ с веб-сервера.
Вы можете записывать трассировки с помощью Winscope для локальной разработки и отладки. Winscope использует adb , который поддерживает подключение устройств через USB или Wi-Fi.
При запуске Winscope отображается экран сбора трассировок .
Подключение устройства
Вы можете подключать устройства в Winscope с помощью Winscope Proxy или Web Device Proxy . По умолчанию на домашней странице Winscope отображается интерфейс настройки подключения Winscope Proxy .
Чтобы начать сбор трассировок, выберите один из следующих механизмов подключения устройств.
Настройка прокси-сервера Winscope
Чтобы настроить Winscope Proxy, выполните следующие действия:
В разделе «Собрать трассировки» на главной странице выберите «Winscope Proxy» в раскрывающемся списке «Выбрать тип подключения» :
Рисунок 1. Захват трассировок с помощью Winscope Proxy.
Запустите прокси-сервер Winscope ADB Connect для сбора трассировок непосредственно из браузера, выполнив следующую команду:
python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
Обратите внимание на прокси-токен Winscope, отображаемый на терминале после выполнения.
После запуска прокси-сервера Winscope ADB Connect экран изменится следующим образом. Чтобы установить первоначальное подключение к прокси-серверу, введите токен прокси-сервера Winscope из шага 3 и нажмите « Подключиться» .
Рисунок 2. Подключение к Winscope Proxy.
Настройка прокси-сервера веб-устройства
Чтобы настроить прокси-сервер веб-устройства, выполните следующие действия:
В разделе «Собрать трассировки» на главной странице выберите «Прокси-сервер веб-устройства» в раскрывающемся списке «Выбрать тип подключения» :
Рисунок 3. Захват трассировок с помощью Web Device Proxy.
Если на вашем компьютере нет демона Web Device Proxy, нажмите «Установить» или запустите установщик .
Подтвердите исходный доступ к прокси-серверу веб-устройства через диалоговое окно.
Рисунок 4. Авторизация источника.
Разрешите доступ для каждого нового устройства при первом подключении. Если диалоговое окно не открывается автоматически, нажмите на значок
lock_open
рядом с устройством:Рисунок 5. Авторизация устройства.
Следы
Для сбора следов выполните следующие действия:
После подключения выберите целевые устройства и настройте параметры, чтобы начать процесс захвата. Затем нажмите «Начать трассировку» , чтобы начать захват:
Рисунок 6. Сбор трассировок в Winscope.
Чтобы остановить захват, нажмите кнопку «Завершить трассировку» :
Рисунок 7. Конец трассировки в Winscope.
Параметры трассировки
В этом разделе описываются параметры для каждого типа трассировки.
Запись экрана
С помощью Winscope вы можете записывать экраны нескольких дисплеев. Выберите нужный дисплей в меню для записи. Если вы не сделаете выбор, Winscope по умолчанию записывает активный дисплей.
SurfaceFlinger
Размер буфера: регулирует размер кольцевого буфера в памяти для трассировки SurfaceFlinger. Буфер большего размера позволяет собирать больше данных, но увеличивает использование памяти.
Входные данные: если поверхность содержит входные данные, отслеживает особенности входного окна.
Композиция: отслеживает тип композиции и видимую область.
Метаданные: отслеживает дополнительные метаданные поверхности, включая внеэкранные слои.
HWC: отслеживает дополнительные неструктурированные метаданные аппаратного композитора.
Трассировка буферов: настраивает SurfaceFlinger на отслеживание всех изменений буфера на поверхности. По умолчанию SurfaceFlinger отслеживает новое состояние только при изменении геометрии.
Виртуальные дисплеи: Включает в трассировку слои виртуального дисплея.
Менеджер окон
- Размер буфера: регулирует размер кольцевого буфера в памяти для трассировки WindowManager. Буфер большего размера позволяет собирать больше данных, но увеличивает использование памяти.
Тип трассировки: определяет параметры частоты сбора состояний:
- Кадр: В этом режиме WindowManager выводит одно состояние на кадр, гарантируя, что будут зафиксированы только допустимые состояния WindowManager. Этот режим обеспечивает минимальное снижение производительности.
- транзакция: этот режим записывает состояние WindowManager при каждой фиксации транзакции. В одном кадре можно фиксировать несколько транзакций, что позволяет отлаживать промежуточные состояния WindowManager в течение кадра. Однако этот режим имеет более высокие накладные расходы на производительность по сравнению с кадровым режимом.
Уровень трассировки: определяет уровень детализации трассировок WindowManager:
- Подробный: включает все окна и информацию о конфигурации для каждого окна. Этот режим потребляет наибольшее количество памяти и производительности.
- отладка: включает информацию обо всех окнах, но регистрирует только конфигурацию окна, если она содержит запрошенную конфигурацию переопределения.
- Критический: включает ту же информацию, что и режим отладки, но только видимые окна. Этот режим потребляет меньше всего памяти и производительности.
Свалки
Чтобы сделать дамп состояния с помощью Winscope, в разделе «Собрать трассировки» на главной странице выберите вкладку «Дамп» , а затем щелкните «Скопировать состояние» :
Рисунок 8. Состояние дампа в Winscope.
Конфигурация скриншота
Winscope позволяет делать снимки экрана нескольких дисплеев. Выберите дисплей в меню для создания скриншота. Если выбор не сделан, снимок экрана будет сделан для активного дисплея.