Класс расширенной отладки для InstantCMS 2.0 RC

1285
Мощный, но лёгкий класс для расширенной отладки. Позволяет легко, наглядно и управляемо получить информацию о времени выполнения и о других параметрах php-скриптов CMS и их частей.

Данная отладка будет полезна как при тестировании и оптимизации самой CMS, так и разработчикам компонентов. А так же для выявления проблем при размещении сайтов на реальных серверах, где невозможно использовать встроенную в IDE систему отладки.
Например, с её помощью можно увидеть «тяжёлые» или ошибочные запросы, повторяющиеся подключения файлов, «задумчивые» участки кода и т.д. Можно быстрее понять какой из добавленных на сайт компонентов тормозит генерацию страниц и почему. Администраторы прямо из админки увидят «тонкие места» сервера – что именно вызывает тормоза: процессор, диски или база данных. Программисты смогут точнее понять работу CMS, посмотрев на неё «изнутри».

Настраиваемые логи отладки выводятся прямо под подвалом страницы, не изменяя саму страницу. Во многих случаях их очень удобно использовать для анализа проблем у пользователей CMS и компонентов. Достаточно попросить админа сайта включить вывод нужных операций в лог на проблемной странице и потом прислать этот лог в поддержку или выложить на форум. Также можно попросить вписать в текст нужного скрипта контрольную точку с выводом интересующей инфы (например, состояние переменных) и получить ещё более точное понимание происходящего. Эти возможности будут полезны и разработчикам системы, и сторонним программистам при поддержке их компонентов.

Возможности более подробно:
Спойлер
Более полное описание функций и использования будет добавлено позже, если у вас будет интерес к этой отладке.

Что ещё полезного и интересного можно добавить:

• Обработка хуков. Вывод требуемой информации (о заданных переменных и другой полезной) на момент до хука и после. В админке можно сделать выбор, какой хук обрабатывать (можно даже список хуков).
Но поскольку я с хуками пока не работал, то и не знаю, как и какую информацию можно собирать и выводить. Если это Вам интересно и у Вас есть понимание хуков – пишите ваше видение этого, попробую реализовать.

• Ваши предложения…


Использование точек отладки (контрольных точек):
Спойлер
Скачать тут

Этот вариант отладки разработан для InstantCMS 2.0 RC.
Достаточно просто распаковать содержимое архива с заменой файлов в папку с уже установленной системой и включить отладку в новом разделе "Отладка" в "Настройках" админки.

Надеюсь, этот класс отладки поможет вам более глубоко понять и протестировать новый Инстант 2.0, а также быстрее и проще разработать для него новые компоненты.
SEO title для разделов и записей каталога | Класс расширенной отладки для InstantCMS 2.0.1 (v.5) - UPD 2014.05.20 10:27
Комментарии (10)
Роман 1 декабря 2013 в 05:17 +5
Полезная разработка. Спасибо!
А для первой ветки у вас аналогичное?
WebMan 1 декабря 2013 в 13:44 +3
Для первой ветки давно была сделана версия попроще. На тот момент и в том виде она не заинтересовала разработчиков Инстанта для встраивания в релизы. А отдельным компонентом такую глубокую функциональность сделать не получится. Поскольку мне под мои проекты больше подходит вторая ветка, то я решил версию для первой ветки не доделывать и не выкладывать, чтобы не морочиться с постоянным обновлением её при выходах новых релизов 1.10. Если эта отладка реально будет нужна пользователям первого Инстанта и разработчики решат её включить в следующий релиз, я сделаю код и для первой ветки.
Роман 1 декабря 2013 в 14:14 0
Будем ждать ответ разработчиков
Марат 1 декабря 2013 в 08:40 +4
Мощно!!! Жырный плюс.
Anonim 1 декабря 2013 в 12:39 +2
Не знаю, что это, зачем это. Но, если Марат говорит "ЖИР" то +1
sotastroy 1 декабря 2013 в 19:12 0
Зря минусуете. Я вот тоже не понимаю до конца что это, но раз это помогает разработчикам делать и отлаживать компоненты, и такие товарищи, как Марат(не в обиду остальным, просто других комментов на этот момент нет) плюсуют и одобряют - значит вещь стоящая и плюса однозначно заслуживает. За бесплатность отдельный респект.
lezginka.ru 1 декабря 2013 в 19:48 0
+
я даже знаю что это такое :))
хостер кричит у вас превышение лимитов....и т.д. и т.п. эта штука должна показать где/кто нагружает сайт,
WebMan я правильно понимаю политику партии функцию скрипта ?
WebMan 1 декабря 2013 в 20:18 +1
В итоговой таблице показывается время, затраченное на дисковые операции, работу с БД, кэш и чистое php-время. Также расчитывается процент этого всего от полного времени работы скрипта. Зная ваши обычные значения при хорошо работающем сайте, вы сразу увидите отклонения конкретного времени при тормозящем сайте и сможете понять, что стало работать дольше (что тормозит).
Естественно, эта отладка не заменит штатных средств операционной системы, установленной на хостинге. Но позволит оперативно и наглядно понять узкие/нагруженные места и будет дополнительным агрументом при общении с поддержкой хостера.
Крот 1 декабря 2013 в 21:57 +1
плюсану за старания)
я тоже раньше так примерно делал, пока не настроил свой отладчик phpdesigner с xdebug
теперь можно просто поставить жирну красную точку останова и открыть в хроме(мозилле) страницу сайта
и он встанет на нужной строке. Далее можно идти по шагам(строкам) и смотреть все переменные.

по поводу профилирования вот хорошая статья
WebMan 2 декабря 2013 в 00:11 +1
xdebug - штука хорошая. Но его не получится использовать на реальном хостинге и если проблемы именно на работающем сайте, он не поможет.
Эта отладка, конечно, не соревнуется с xdebug. Но свои плюсы она имеет. smile