summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/general/profiling.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/general/profiling.rst')
-rw-r--r--user_guide_src/source/general/profiling.rst83
1 files changed, 83 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..437635289
--- /dev/null
+++ b/user_guide_src/source/general/profiling.rst
@@ -0,0 +1,83 @@
+##########################
+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 25
+ hidden.
+======================= =================================================================== ======== \ No newline at end of file