Захватить профиль фрагмента программы JavaScript - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть фрагмент кода, который требует сумасшедших затрат времени (редуктор, который выполняет хардкорное клонирование объектов и т. Д.).

Есть ли способ запустить / остановить с помощью профилирования JavaScript в Chrome или сделать несколькоотмечает, чтобы я мог легко определить, где интересующий меня код находится внутри данных длинного профилировщика?

Например

// start profiling here e.g. Profiler.startProfiler()
callHardcoreFunction();
// end profiling here e.g. Profiler.startProfiler()

1 Ответ

0 голосов
/ 27 сентября 2018

Есть ли способ ... сделать несколько отметок , чтобы я мог легко определить, где интересующий меня код находится внутри данных длинного профилировщика?

Как насчет User Timing API ?

Добавьте отметку в свой код, чтобы обозначить начало интересующей вас части работы:

window.performance.mark('start');

И отметка для обозначения конца:

window.performance.mark('end');

А затем вычислите продолжительность:

window.performance.measure('duration', 'start', 'end');

И вы можете просмотреть эту продолжительность в Пользовательская синхронизация раздел вашей записи исполнения:

User Timing

В примере со скриншотом я назвал продолжительность form_interaction.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...