+ +
+

Profiling Your Application

+

The Profiler Class will display benchmark results, queries you have run, +and $_POST data at the bottom of your pages. This information can be +useful during development in order to help with debugging and +optimization.

+
+

Initializing the Class

+
+

Important

+

This class does NOT need to be initialized. It is loaded +automatically by the Output Library +if profiling is enabled as shown below.

+
+
+
+

Enabling the Profiler

+

To enable the profiler place the following line anywhere within your +Controller methods:

+
$this->output->enable_profiler(TRUE);
+
+
+

When enabled a report will be generated and inserted at the bottom of +your pages.

+

To disable the profiler you will use:

+
$this->output->enable_profiler(FALSE);
+
+
+
+
+

Setting Benchmark Points

+

In order for the Profiler to compile and display your benchmark data you +must name your mark points using specific syntax.

+

Please read the information on setting Benchmark points in the +Benchmark Library page.

+
+
+

Enabling and Disabling Profiler Sections

+

Each section of Profiler data can be enabled or disabled by setting a +corresponding config variable to TRUE or FALSE. This can be done one of +two ways. First, you can set application wide defaults with the +application/config/profiler.php config file.

+

Example:

+
$config['config']          = FALSE;
+$config['queries']         = FALSE;
+
+
+

In your controllers, you can override the defaults and config file +values by calling the set_profiler_sections() method of the +Output Library:

+
$sections = array(
+        'config'  => TRUE,
+        'queries' => TRUE
+);
+
+$this->output->set_profiler_sections($sections);
+
+
+

Available sections and the array key used to access them are described +in the table below.

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyDescriptionDefault
benchmarksElapsed time of Benchmark points and total execution timeTRUE
configCodeIgniter Config variablesTRUE
controller_infoThe Controller class and method requestedTRUE
getAny GET data passed in the requestTRUE
http_headersThe HTTP headers for the current requestTRUE
memory_usageAmount of memory consumed by the current request, in bytesTRUE
postAny POST data passed in the requestTRUE
queriesListing of all database queries executed, including execution timeTRUE
uri_stringThe URI of the current requestTRUE
session_dataData stored in the current sessionTRUE
query_toggle_countThe number of queries after which the query block will default to +hidden.25
+
+

Note

+

Disabling the save_queries setting in +your database configuration will also effectively disable profiling for +database queries and render the ‘queries’ setting above useless. You can +optionally override this setting with $this->db->save_queries = TRUE;. +Without this setting you won’t be able to view the queries or the +last_query <database/helpers>.

+
+
+
+ + +