Я посмотрю на xhprof . Не имеет значения, запущен ли он в кли или через другой sapi (например, fpm или fcgi или даже модуль Apache).
Лучшая часть xhprof состоит в том, что она даже достаточно подходит для запуска в производстве , Что-то, что не работает с xdebug (последний раз я проверил). xdebug влияет на производительность и xhprof (я бы не сказал, что их нет) управляет намного лучше.
Мы часто используем xhprof для сбора образцов с реальным трафиком, а затем анализируем код оттуда.
На самом деле это не показатель производительности, который дает вам время и все такое, хотя оно и делает это. Это просто упрощает анализ производственного трафика, а затем разворачивается до уровня функции php в собранном callgraph.
После того, как расширение скомпилировано и загружено, вы начинаете профилирование в коде с помощью:
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
Чтобы остановить:
$xhprof_data = xhprof_disable();
Затем сохраните данные в файле или базе данных - независимо от того, что плавает на вашем уровне, и не прерывает обычное время выполнения. Мы асинхронно нажимаем это на S3 для централизации данных (чтобы видеть все прогоны со всех наших серверов).
Код в github содержит папку xhprof_html, которую вы выгружаете
HTH!
Общая команда сценариев для работы со ссылками - git for-each-ref
.
Ссылки на ветви живут в refs/heads/
части пространства имен, поэтому используйте git for-each-ref refs/heads
, чтобы получить их все.
По умолчанию git for-each-ref
печатает три элемента: '%(objectname) %(objecttype) %(refname)'
, используйте другой --format
, чтобы изменить это. В этом случае вы, вероятно, захотите:
git for-each-ref --format='%(refname:short)' refs/heads
, но см. документацию для всех доступных директив форматирования. (Обратите внимание также, что git for-each-ref
получил довольно пристальное внимание в git 2.6 и 2.7: --contains
, --merged
, --no-merged
и --points-at
являются новыми. В более старых версиях git первые три доступны только через git branch
.)
Вывод git show-ref --heads
является машиной.
$ git show-ref --heads
a419c3625028324901ce09533de6377740c9b551 refs/heads/branch_foo
38760602162a7e7aa7c75f1797342f3b65262999 refs/heads/some/branch_bar
Если вам просто нужны имена ветвей, что-то вроде этого будет делать следующее:
$ git show-ref --heads | cut -d/ -f3-
branch_foo
some/branch_bar
Следующая команда будет помогать.
git branch -a | sed -e 's/\(^\* \|^ \)//g' | cut -d " " -f 1
git for-each-ref --format="%(refname)" refs/heads/
работает для меня. Примечание. Это добавляет лишнееrefs/heads/
перед именем ветки, что может или не может быть хорошей вещью в зависимости от варианта использования. – antak 16 March 2016 в 06:30