Saturday, July 27, 2019

What is Application Profiling in Codeigniter?

When building a web application, we are very much concerned about the performance of the website in terms of how much time the controller took to execute and how much memory is used. Not only the performance, but we also need to see the insights of data like POST data, data of database queries, session data etc. for debugging purpose while developing some application. CodeIgniter has made this job easier for us by profiling an application.

Enable Profiling

To enable profiling of your application, simply execute the command given below in any of the method of your controller.
$this->output->enable_profiler(TRUE);
The report of the profiling can be seen at the bottom of the page after enabling it.

Disable Profiling

To disable profiling of your application, simply execute the command given below in any of the method of your controller.
$this->output->enable_profiler(FALSE);

Enable / Disable Profiler Section

Profiling can be done on section basis. You can enable or disable profiling of a section by setting a Boolean value TRUE or FALSE. If you want to set profiling on the application then you can do in a file located in application/config/profiler.php
For example, the following command will enable profiling queries for the whole application.
$config['queries'] = TRUE;
In the following table, the key is the parameter, which can be set in the config array to enable or disable a particular profile.
KeyDescriptionDefault
benchmarks
Elapsed time of Benchmark points and total execution timeTRUE
config
CodeIgniterConfig variablesTRUE
controller_info
The Controller class and method requestedTRUE
get
Any GET data passed in the requestTRUE
http_headers
The HTTP headers for the current requestTRUE
memory_usage
Amount of memory consumed by the current request, in bytesTRUE
post
Any POST data passed in the requestTRUE
queries
Listing of all database queries executed, including execution timeTRUE
uri_string
The URI of the current requestTRUE
session_data
Data stored in the current sessionTRUE
query_toggle_count
The number of queries after which the query block will default to hidden.25
The profiler set in the file in application/config/profiler.php can be overridden by using the set_profiler_sections() function in controllers as shown below.
$sections = array( 
   'config'  => TRUE, 
   'queries' => TRUE 
); 
 
$this->output->set_profiler_sections($sections);

No comments:

Post a Comment