Страница 1 из 1

XDebug настройки по-умолчанию. прошу изменить

Добавлено: 22 фев 2012, 22:55
molottt
бардак с логами профайлинга и трассировки. щас создается какая-то хрень:
xdebug.profiler_output_name = "cachegrind.out.%t.%p"
xdebug.trace_output_name = "trace.%c"

по названию лога непонятно ничерта. посему сделать по-людски:
xdebug.profiler_output_name = "cachegrind.out.%H"
xdebug.trace_output_name = "trace.%H"

для хоста http://test:
trace.test.xt
cachegrind.out.test

Re: xDebug настройки по-умолчанию. прошу изменить

Добавлено: 22 фев 2012, 23:19
Максим
Дело в том, что эта, как вы выразились, хрень, создаётся для встроенного в Open Server инструмента Webgrind - удобного web интерфейса для анализа производительности (profiling) PHP скриптов. Создаётся конечно же в формате который требует Webgrind. Если вы планируете использовать другой инструмент для анализа логов, то настройте пожалуйста PHP так, как вам нравится, что вы в общем-то и сделали. Формат по умолчанию изменять я не буду.

Re: xDebug настройки по-умолчанию. прошу изменить

Добавлено: 23 фев 2012, 11:12
molottt
я знаю для чего эта хрень создается. поэтому и говорю. и советую более удобный формат. попробую разжевать:

1. По-умолчанию лог профайлера и трассировки перезаписывается. Т.е. страничку в браузере обновили - лог записался в тот же файл. не добавил логи в конец файла, а перезаписал.
2. Но с форматом указанным у тебя:
xdebug.profiler_output_name = "cachegrind.out.%t.%p"
имена логов профайлинга множатся и выглядят так:
cachegrind.out.123456789.4407
cachegrind.out.456789123.4407
cachegrind.out.789456123.4407
ибо:
- параметр %t генерирует случайное число.
- параметр %p пишет id процесса.

Когда в работе 5-10 хостов, и постоянно идет отладка - в папке логов ровно через 3 минуты образуется жуткая помойка из логов, по имени которых ничего нельзя определить (какой файл к какому хосту относится, какой файл является последним).

Мой формат наводит порядок. т.е.
-на 1 хост - 1 файл логов профайлера.
-он перезаписывается, а не множится
-по имени файла лога можно понять к какому хосту он относится.
Вообщем проще попробовать, тогда поймешь о чем речь.

А так проблем нет. Максим спасибо за продукт. Донате сделали :)

Re: xDebug настройки по-умолчанию. прошу изменить

Добавлено: 23 фев 2012, 11:49
Максим
Вы наверное меня не до конца поняли. Тот формат, с которым создаются файлы сейчас - это формат встроенного в Open Server инструмента Webgrind. Если настроить другой формат имён файлов, то Webgrind попросту не будет видеть эти файлы. Да, вот такой упрямый инструмент. Если вы знаете как это побороть, то напишите пожалуйста.

Чтобы не создавалась куча мусора, использует профайлинг по ссылке, т.е. только для тех запросов где он нужен: http://localhost/samplepage.php?XDEBUG_PROFILE

для этого в php.ini делается
xdebug.profiler_enable_trigger = 1

Re: xDebug настройки по-умолчанию. прошу изменить

Добавлено: 23 фев 2012, 13:01
Максим
:P Нашел изящное решение:

xdebug.profiler_output_name = "cachegrind.out.%H%R"

Так создаётся файл с именем хоста + запрошенным URI, и Webgrind все файлы показывает, и мусора не создаётся.

Проблема была в том, что Webgrind не показывает файлы с одинаковым именем, если одно из них совпадает с именем профайлинг-лога самого Webgrind. Ваше решение, molottt, как раз создавало такую проблему.

Re: xDebug настройки по-умолчанию. прошу изменить

Добавлено: 23 фев 2012, 13:04
Максим
Ну и кому надо, для справки:

%c – CRC рабочего каталога
%p – идентификатор процесса
%r – случайное число
%u – текущее время с микросекундами
%H – значение $_SERVER['HTTP_HOST']
%R – значение $_SERVER['REQUEST_URI']
%s – имя, включающее полный путь, слеши конвертируются в знаки подчеркивания

Re: xDebug настройки по-умолчанию. прошу изменить

Добавлено: 24 фев 2012, 14:46
papdjonn
Оу, спасибо Максим, за хорошее решение, а то и правда куча мусора создавалась. Прям лопатой выгребай :D

Re: xDebug настройки по-умолчанию. прошу изменить

Добавлено: 25 фев 2012, 19:17
molottt
Максим писал(а)::P Нашел изящное решение:
xdebug.profiler_output_name = "cachegrind.out.%H%R"
ну или так, да. спасибо что услышал ;)