Вывод времени выполнения, количества обращений и расхода ресурсов в MODX Revolution
В прошлом году мы рассматривали вопрос вывода системной информации о работе Modx Evolution. Помимо стандартных времени выполнения, количестве обращении и времени на обращения к базе данных, общего времени генерации страницы мною было еще добавлено количество памяти выделяемое для выполнения скрипта. Наконец дошли руки и до MODX Revolution.
В MODX Revolution так же присутствуют теги для отображения интересующей нас информации. Стоит отметить, что в отличие от большинства тегов, формат которых поменялся с переходом от Evolution к Revolution, формат данных тэгов не поменялся. Поэтому мы воспользуемся старыми тегами, за информацией по тегам можно обратиться к старой статье.
Что же касается отображения количества памяти, выделяемой процессу, то нам снова необходимо вносить изменения в код. Лично мне данная информация интересна, поэтому приведу пример того, что и как надо изменить.
В отличие от Evolution, в Revolution полностью переработана модель дерева папок и файлов. Основные системные файлы теперь находятся в папке /core. Теги производительности теперь расположены в файле /core/model/modx/modresponse.class.php.
Для текущей версии 2.3.2 в данном файле в районе 112 строки добавляем:
$phpTime= $totalTime - $queryTime;
$phpTime= sprintf("%2.4f s", $phpTime);
$phpMemory= round(memory_get_peak_usage(true)/1048576,2) . " MB";
, а в районе 118 строки добавляем:
$this->modx->resource->_output= str_replace("[^t^]", $totalTime, $this->modx->resource->_output);
$this->modx->resource->_output= str_replace("[^m^]", $phpMemory, $this->modx->resource->_output);
Все, после внесенных изменений в случае указания тега [^m^] в шаблоне мы будем получать максимальное количество выделенной процессу памяти в момент выполнения скрипта. Данная информация не является абсолютно точной, впрочем как и информация из остальных тегов производительности, но какое-то представление о выделении памяти все таки дает.
И не забываем вносить данные изменения после каждого обновления системы.
UPDATE: для упрощения процесса выложил патч файл.
Комментарии (0)