diff options
Diffstat (limited to 'user_guide_src/source/general/profiling.rst')
-rw-r--r-- | user_guide_src/source/general/profiling.rst | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/user_guide_src/source/general/profiling.rst b/user_guide_src/source/general/profiling.rst new file mode 100644 index 000000000..28c1dd7b8 --- /dev/null +++ b/user_guide_src/source/general/profiling.rst @@ -0,0 +1,104 @@ +########################## +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 :doc:`Output Class <../libraries/output>` if + profiling is enabled as shown below. + +Enabling the Profiler +===================== + +To enable the profiler place the following function anywhere within your +:doc:`Controller <controllers>` functions:: + + $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 :doc:`Benchmark +Class <../libraries/benchmark>` 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. + +:: + + $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 :doc:`Output +class <../libraries/output>`:: + + $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. + +Key +Description +Default +**benchmarks** +Elapsed time of Benchmark points and total execution time +TRUE +**config** +CodeIgniter Config variables +TRUE +**controller_info** +The Controller class and method requested +TRUE +**get** +Any GET data passed in the request +TRUE +**http_headers** +The HTTP headers for the current request +TRUE +**memory_usage** +Amount of memory consumed by the current request, in bytes +TRUE +**post** +Any POST data passed in the request +TRUE +**queries** +Listing of all database queries executed, including execution time +TRUE +**uri_string** +The URI of the current request +TRUE +**session_data** +Data stored in the current session +TRUE +**query_toggle_count** +The number of queries after which the query block will default to +hidden. +25 |