Я использую XDebug для профилирования большого приложения MVC, и было бы намного проще профилировать отдельные запросы по их URI, а не по имени файла (.php), так как несколько запросов выполняются через внутренние функции, что приводит к нескольким файлам измельчения для обновления одной страницы.
Я видел% p = идентификатор процесса,% t = метка времени и% s = имя скрипта (var_path_to_example.php)
Было бы намного проще, если бы файл можно было назвать более похожим на grind. {Domain} {path}.% P
Это возможно? Я не смог найти никаких других заменителей форматирования строки, которые могут делать то, что я после.
При обновлении одной страницы в настоящее время создаются четыре файла измельчения (три для индекса, один для основного запроса, два других для мультимедийных компрессоров) и один для img.php, который представляет собой средство переписывания и изменения размера пути мультимедиа.
Все это, объединенное в один www.example.com/path/to/controller.grind, было бы предпочтительным для этой ситуации.
Ответ должен был использовать %Р — Я нашел список замен строк здесь Настройки Xdebug в разделе trace_output_name. Похоже, что те же заменители могут быть использованы и для выходных имен профилировщика.
Назовите ваши файлы, например, в php.ini — «cachegrind.out.% R», чтобы получить URI в названии с косой чертой, замененной подчеркиванием.
Теперь мои файлы шлифовки выглядят как cachegrind.out._page_minify_css и cachegrind.out._ (который будет корнем домена — именно то, что я искал, чтобы привязать профили к запросам)
Короткий список это
% c = crc32 от CWD
% p = PID
% r = случайное число
% s = имя скрипта (только для вывода профиля)
% t = отметка времени (секунды)
% u = отметка времени (микросекунды)
% H = имя хоста
% R = URI запроса (тот, который был после меня)
% U = уникальный идентификатор / 9 только с версии 2.2)
% S = идентификатор сессии
Других решений пока нет …