Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 019 328 раз!

Форум

Добро пожаловать, Гость!

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

Советы и рекомендации, полезные инструкции, обмен опытом
molottt
Сообщения: 17
C нами: 4 года 9 мес

Непрочитанное сообщение molottt » 22 фев 2012, 22:55

бардак с логами профайлинга и трассировки. щас создается какая-то хрень:
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

Аватара пользователя
Максим
Сообщения: 4872
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 22 фев 2012, 23:19

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

molottt
Сообщения: 17
C нами: 4 года 9 мес

Непрочитанное сообщение molottt » 23 фев 2012, 11:12

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

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 файл логов профайлера.
-он перезаписывается, а не множится
-по имени файла лога можно понять к какому хосту он относится.
Вообщем проще попробовать, тогда поймешь о чем речь.

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

Аватара пользователя
Максим
Сообщения: 4872
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 23 фев 2012, 11:49

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

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

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

Аватара пользователя
Максим
Сообщения: 4872
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 23 фев 2012, 13:01

:P Нашел изящное решение:

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

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

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

Аватара пользователя
Максим
Сообщения: 4872
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 23 фев 2012, 13:04

Ну и кому надо, для справки:

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

papdjonn
Сообщения: 39
C нами: 4 года 9 мес

Непрочитанное сообщение papdjonn » 24 фев 2012, 14:46

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

molottt
Сообщения: 17
C нами: 4 года 9 мес

Непрочитанное сообщение molottt » 25 фев 2012, 19:17

Максим писал(а)::P Нашел изящное решение:
xdebug.profiler_output_name = "cachegrind.out.%H%R"

ну или так, да. спасибо что услышал ;)


Вернуться в «Полезные советы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость