StartMeasure: различия между версиями
Материал из MajorDoMo инфо
Mixman (обсуждение | вклад) (Новая страница: «Насчёт позитивного русла -- если есть желание, то можно заняться комплексной аналитикой...») |
Mixman (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[Category:Встроенные функции]] | |||
==Описание== | |||
Насчёт позитивного русла -- если есть желание, то можно заняться комплексной аналитикой производительности. Есть в системе функции | Насчёт позитивного русла -- если есть желание, то можно заняться комплексной аналитикой производительности. Есть в системе функции | ||
startMeasure('метка'); | |||
С помощью них можно ставить временные метки выполнения отдельных частей кода и выводить отчёт. Если посмотреть сорс любой страницы админки, то внизу будет отчёт о выполнении с временем генерации и по отдельным меткам. Собственно, с помощью такой штуки можно исследовать всю цепочку реакции системы на тот или иной запрос (расставляя startMeasure/endMeasure в исходный код) и искать узкие места. | |||
==Код== | |||
<pre>startMeasure('метка'); | |||
endMeasure('метка'); | endMeasure('метка'); | ||
performanceReport(); </pre> | |||
==Примеры запросов== | |||
<pre> | <pre> | ||
startMeasure('statusUpdatedLinkedDevices'); | startMeasure('statusUpdatedLinkedDevices'); |
Версия от 11:07, 7 мая 2020
Описание
Насчёт позитивного русла -- если есть желание, то можно заняться комплексной аналитикой производительности. Есть в системе функции
С помощью них можно ставить временные метки выполнения отдельных частей кода и выводить отчёт. Если посмотреть сорс любой страницы админки, то внизу будет отчёт о выполнении с временем генерации и по отдельным меткам. Собственно, с помощью такой штуки можно исследовать всю цепочку реакции системы на тот или иной запрос (расставляя startMeasure/endMeasure в исходный код) и искать узкие места.
Код
startMeasure('метка'); endMeasure('метка'); performanceReport();
Примеры запросов
startMeasure('statusUpdatedLinkedDevices'); // какой-то код endMeasure('statusUpdatedLinkedDevices');