Профилирование вашего приложения
Класс Profiler отображает результаты тестирования, запущенные запросы, и данные $_POST в нижней части страниц. Эта информация может быть полезной при разработке, она помогает при отладке и оптимизации.
Примечание переводчика. "Несанкционированный" вывод профайлера может стать проблемой при отладке асинхронного приложения. Это не означает, что не следует использовать эту функцию — достаточно просто помнить об этом. Также замечу, что это не создаст сложностей, если при разработке асинхронного приложения следовать традиционной методике — сперва получить обычную версию, полностью отладить ее, и только лишь затем приступать к внедрению асинхронного интерфейса.Инициализация класса
Важно: Этот класс НЕ нуждается в инициализации. Он загружается автоматически классом Output, если включено профилирование, как показано ниже.
Включение профайлера
Чтобы включить профайлер, поместите следующую функцию в любом месте вашего контроллера:
$this->output->enable_profiler(TRUE);
Если профайлер включен, отчет будет сгенерирован и вставлен в нижнюю часть ваших страниц.
Чтобы выключить профайлер, используйте:
$this->output->enable_profiler(FALSE);
Установка точек контроля производительности
Для того, чтобы профайлер собирал и отображал данные о производительности, вы должны установить контрольные точки, используя соответствующий синтаксис.
Пожалуйста, прочтите информацию по установке контрольных точек на странице класс Benchmark.
Включение и выключение разделов профайлера
Каждый раздел данных профайлера может быть включен или выключен установкой соответствующей переменной конфигурации в TRUE или в FALSE. Это может быть выполнено одним из двух способов. Во-первых, вы можете установить значения по умолчанию в конфигурационном файле application/config/profiler.php .
$config['config'] = FALSE;
$config['queries'] = FALSE;
В ваших контроллерах вы можете переписать значения по умолчанию, вызвав метод set_profiler_sections() класса Output:
$sections = array(
'config' => TRUE,
'queries' => TRUE
);
$this->output->set_profiler_sections($sections);
Доступные разделы и ключи массива для доступа к ним описаны в этой таблице.
Ключ | Описание | По умолчанию |
---|---|---|
benchmarks | Затраченное время между точками тестирования производительности и время общего выполнения | TRUE |
config | Конфигурационные переменные CodeIgniter | TRUE |
controller_info | Класс и запрошенный метод контроллера | TRUE |
get | Любые данные GET, переданные в запросе | TRUE |
http_headers | Заголовки HTTP для текущего запроса | TRUE |
memory_usage | Количество потребленной памяти, в байтах | TRUE |
post | Любые данные POST, переданные в запросе | TRUE |
queries | Списки всех запросов в БД, включая время их выполнения | TRUE |
uri_string | URI текущего запроса | TRUE |