CodeIgniter Application Profiling

Application profiling in CodeIgniter is a debugging and performance analysis tool.

It helps developers see benchmarking results, database queries, memory usage, POST/GET data, and more.

The profiler is very useful when you want to:

  • Check how long each part of your code takes.
  • Debug SQL queries.
  • Monitor memory consumption.
  • Optimize slow applications.

🔹 Enabling the Profiler

To enable the profiler for a controller method:

class Welcome extends CI_Controller {

    public function index()
    {
        $this->output->enable_profiler(TRUE);

        $this->load->view('welcome_message');
    }
}

✅ Now, when you load the page, you’ll see profiling information at the bottom of the page.

🔹 Disabling the Profiler

You can disable it by passing FALSE:

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

🔹 Enable Profiler for the Whole Application

If you want profiler data on all pages, set it in the controller’s constructor:

class MY_Controller extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->output->enable_profiler(TRUE);
    }
}

🔹 What Does the Profiler Show?

The profiler outputs:

  • Benchmarks → Time taken to execute different parts of your code.
  • Queries → All SQL queries run with execution time.
  • POST Data → Data submitted via forms.
  • GET Data → Data passed in URL.
  • URI String → Current URI details.
  • Memory Usage → Amount of memory consumed.
  • Config Variables → Loaded config values.
  • Session Data → Current session variables (if session library is enabled).

🔹 Selectively Display Profiler Sections

You can choose which profiler sections to show or hide:

$sections = array(
    'benchmarks' => TRUE,
    'queries'    => TRUE,
    'memory_usage' => TRUE,
    'post'       => FALSE,
    'config'     => FALSE
);

$this->output->set_profiler_sections($sections);
$this->output->enable_profiler(TRUE);

✅ This will only show benchmarks, queries, and memory usage, while hiding others.

🔹 Example

class Products extends CI_Controller {

    public function index()
    {
        $this->output->enable_profiler(TRUE);

        $data['products'] = $this->db->get('products')->result();
        $this->load->view('product_list', $data);
    }
}

👉 Now, when you load the Products page, you’ll see all executed queries and page performance details at the bottom.


Whereisstuff is simple learing platform for beginer to advance level to improve there skills in technologies.we will provide all material free of cost.you can write a code in runkit workspace and we provide some extrac features also, you agree to have read and accepted our terms of use, cookie and privacy policy.
© Copyright 2024 www.whereisstuff.com. All rights reserved. Developed by whereisstuff Tech.