CodeIgniter User Guide Version 2.0.0


Профилирование вашего приложения

Класс 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