Используйте профилировщик Magento 2 в интерфейсе командной строки
В Magento 2 профилировщик можно легко включить с помощью переменной среды
SetEnv MAGE_PROFILER [output]
С [выводом] одного из "html", "firebug" или "csv-файла"
Теперь, если я хочу профилировать сценарий командной строки, то есть команду bin/magento
, это не сработает. Конечно, выходные форматы "firebug" и "html" не имеют особого смысла, но "csvfile" имеет, который записывает результат профиля в var/log/profiler.csv
.
Я пытался
MAGE_PROFILER=csvfile bin/magento
Безрезультатно.
Я нашел этот код в app/bootstrap.php
это проверяет переменную среды MAGE_PROFILER:
if (!empty($_SERVER['MAGE_PROFILER'])
&& isset($_SERVER['HTTP_ACCEPT'])
&& strpos($_SERVER['HTTP_ACCEPT'], 'text/html') !== false
) {
\Magento\Framework\Profiler::applyConfig(
$_SERVER['MAGE_PROFILER'],
BP,
!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'
);
}
И, по-видимому, он активирует профилировщик только для HTTP-запросов (исключая запрос AJAX)
Это работает:
HTTP_ACCEPT="text/html" MAGE_PROFILER=csvfile bin/magento
Но это всего лишь обходной путь. Существует ли другой, более стандартный способ профилирования вызовов командной строки?
1 answers
Существует ли другой, более стандартный способ профилирования вызовов командной строки?
По-видимому, нет, поэтому я добавлю свой обходной путь в качестве ответа:
HTTP_ACCEPT="text/html" MAGE_PROFILER=csvfile bin/magento