Невозможно просмотреть отчет о трассировке HTML, созданный инструментом Systrace в Android SDK

Я пытаюсь создать отчеты о трассировке с помощью инструмента Systrace в Android SDK, но не могу просмотреть отчет в браузере. Он пустой и не содержит никакой информации. Я прочитал на некоторых форумах, что мне нужно открыть отчет в браузере Chrome, я также открыл его в Chrome, но отчет пустой.

Я включил отладку по USB в параметрах разработчика, и устройство работает под управлением Android 4.2, и я использую инструмент DDMS из Android SDK для создания трассировок.

http://developer.android.com/tools/help/systrace.html


person Zohaib Hassan    schedule 20.05.2013    source источник
comment
Вы пробовали браузер Chrome? Кажется, это доступно только в нем.   -  person sandrstar    schedule 20.05.2013
comment
Привет, Sandrstar, я также открыл файл trace.html в браузере Chrome, но он пуст, и в отчете ничего нет.   -  person Zohaib Hassan    schedule 20.05.2013
comment
Какой размер у файла? Я столкнулся с некоторыми проблемами при открытии больших файлов.   -  person sandrstar    schedule 20.05.2013
comment
Я создал два отчета с разными --set-tags , один из них имеет размер 446 КБ, а другой - 2446 КБ. Они оба пусты.   -  person Zohaib Hassan    schedule 20.05.2013
comment
Привет, Sandrstar, я установил Android SDK на Ubuntu и сгенерировал там файл трассировки с помощью сценария systrace.py. Теперь я могу просматривать HTML-отчеты в Ubuntu, но не могу понять, почему отчет был пустым в Windows.   -  person Zohaib Hassan    schedule 20.05.2013
comment
у меня тоже пусто..   -  person yhpark    schedule 15.07.2013
comment
Этот ответ сработал для меня: stackoverflow.com/a/37475803/3853712   -  person Jim Andreas    schedule 03.06.2016


Ответы (12)


Во-первых, если кто-то использует Chrome v50.0+ на OS X или Windows, просто попробуйте это.

  1. откройте браузер Chrome и перейдите в «chrome://tracing»

  2. на странице трассировки нажмите «Загрузить» и выберите HTML-файл, сгенерированный системой systrace.

Во-вторых, я думаю, что это ошибка, подтвержденная Google.

Похоже, это связано с тем, что современные версии Chrome устарели с функцией Object.observe[1][2].

Для получения дополнительной информации см. это, https://code.google.com/p/android/issues/detail?id=57135

person Zhipeng.C    schedule 23.05.2016
comment
У меня версия 50.0.2661.102 (64-разрядная версия) для Mac. Оно работает. - person Charles Wu; 07.06.2016
comment
Это единственное решение, которое сработало для меня в Windows! - person prom85; 20.06.2016
comment
@prom85 спасибо за информацию. Я отредактирую свой ответ и надеюсь, что он поможет большему количеству людей. - person Zhipeng.C; 23.06.2016
comment
@ Zhipeng.C Спасибо за информацию, она была очень полезна. - person Mohamed Ibrahim; 25.06.2016
comment
Хороший обходной путь. Но я бы хотел, чтобы инструмент Systrace работал из коробки без этого хака. - person IgorGanapolsky; 05.07.2016
comment
Работает с 51.0.2704.106 Спасибо. - person hypd09; 18.07.2016
comment
Спасибо! Открытие html из chrome://tracking решило проблему. - person Guy; 25.07.2016
comment
Этот обходной путь, похоже, работает с любыми браузерами на основе хрома, я смог открыть отчет о трассировке как в Opera, так и в Chrome. - person agreeingly-ascyphous; 09.09.2016
comment
ты гений - person Summer Sun; 11.03.2021

У меня также есть эта проблема с запуском Chrome в Linux.

Кажется, у них есть ошибка в реализации javascript, отрисовывающего результаты.

Проверьте консоль JavaScript. Мой говорит.

Uncaught TypeError: undefined не является функцией

person Daber    schedule 19.07.2013
comment
developer.mozilla.org/en-US/docs/Web/ API/Document/ Chrome и Opera — единственные, которые поддерживают функцию, вызывающую эту ошибку в других браузерах. - person CrandellWS; 16.10.2018

В Windows я просто вижу результат, выполнив следующее:

  1. получить trace.html
  2. откройте trace.html в браузере Chrome и откройте инструменты разработчика Chrome, затем я узнаю, что в trace.html есть 3 ошибки отображается так
  3. перейдите к строке ошибки, затем прокомментируйте функцию ошибки подобно этому
  4. сохраните измененный html, затем обновите chrome, вы можете увидеть результат трассировки

Это просто не лучшее решение, но в любом случае мы можем увидеть результат.

person Lei.Siro    schedule 23.05.2016

У меня была такая же проблема при захвате через eclipse в Ubuntu 12.04.

Обойти это, запустив инструмент непосредственно из папки systrace (sdk/tools/systrace/)

./systrace.py -t 5 -o trace.html
person AndyA    schedule 12.08.2013

Обновите свой SDK с помощью диспетчера SDK, выберите инструменты и инструменты платформы для обновления. Следуйте обычной процедуре, и все. Chrome рекомендуется для просмотра результатов.

person user2121057    schedule 02.09.2013

Я решил эту проблему, просто обновив SDK, используя инструменты выбора менеджера SDK и инструменты платформы для обновления, и все готово. Скрипт Python не работает в Windows. Однако даже если trace.html сгенерирован и его можно увидеть, при переполнении данных невозможно увидеть нижнюю часть страницы. Это связано с тем, что навигации wasd недостаточно для использования полосы прокрутки.

Для этого вам необходимо:

  • Если вы работаете в Linux, измените сценарий Python и удалите overflow:hidden, где бы он ни находился.
  • Если вы используете SDK, отредактируйте trace.html и удалите overflow:hidden, где бы он ни находился.

Надеюсь, это поможет, будет приятно, если кто-то из Google сможет исправить это в источнике.

person user2121057    schedule 04.09.2013

Я только что обнаружил, что файл trace.html, который не удалось открыть в IE/Firefox/Chrome, отлично открылся в последней версии Opera (на моем ПК с Windows).

person Mick    schedule 14.07.2014

Для меня это не работало в Firefox v34, но работало в Chrome v37, а у меня Ubuntu 12.04.

person Wahib Ul Haq    schedule 22.02.2015

Я также столкнулся с подобными проблемами при попытке открыть сгенерированный Systrace HTML-файл (около 10 МБ) в Firefox 37.0.1. Однако тот же файл прекрасно работает на Chromium версии 37.0.2062.120 Ubuntu 12.04 (281580) (64-разрядная версия).

person Maneesh18187    schedule 08.04.2015

Я сделал следующее:

cd $ANDROID_HOME/platform-tools

git clone https://android.googlesource.com/platform/external/chromium-trace/

mv systrace old-systrace

ln -s chromium-trace/catapult/systrace/systrace/ systrace

это исправило мою проблему с systrace

отчет systrace работает по крайней мере в последней версии Chrome

person Sergey Dryganets    schedule 02.06.2016

Вы можете попробовать мой образец файла trace.html, чтобы проверить, подходит ли ваша версия Chrome. https://github.com/tngotran/systrace-android/blob/master/trace.html

Также здесь есть ссылка на официальный образец trace.html из Google https://source.android.com/devices/tech/debug/perf_traces.zip

Кстати, по моему опыту, командный инструмент python systrace.py может создать выходной файл trace.html без ошибок, но в результате получается пустой файл (даже если размер файла превышает 5 Мб и более).

Мы должны:

  1. Запустите команду adb root из своего терминала, чтобы перезапустить adbd от имени пользователя root.
  2. Запустите python systrace.py еще раз

Затем проверьте созданный файл отчета .html в Chrome :)

person tngotran    schedule 18.09.2018

Предложение: попробуйте отследить эмулятор (они предназначены для разработки)


Проблема может заключаться в настройке производителя для ОС Android, что делает проблему потенциально проблемой конфигурации устройства, вызванной производителем.

Здесь есть несколько ответов, которые могут быть полезны.

Ни один из них не работал у меня... но из-за ответа https://stackoverflow.com/a/52379567/1815624

Я обнаружил, что он будет загружать данные, используя связанные файлы трассировки:

Также здесь есть ссылка на официальный образец trace.html из Google https://source.android.com/devices/tech/debug/perf_traces.zip

Использование adb root не помогло.

На другом устройстве все работало без нареканий, как и при использовании эмулятора.

person CrandellWS    schedule 16.10.2018