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.rst104
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