Skip to content

Custom profiler overdiv

Derek Jones edited this page Jul 5, 2012 · 11 revisions

Category:Core::Profiler

Custom profiler, similar in function to Kohana profiler, overdiv on top and hidden, activated by mouse click.

Uses jQuery.

Hope can be a base to make a better visual profiler.

Download: File:MY_Profiler.zip

Install:

Copy the file to your application/libraries directory Be sure your subclass_prefix config (in config.php), its MY_, else change the MY_Profiler.php name to your subclass_prefix name, also remember to modify class name in the MY_Profiler.php file.

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class MY_Profiler extends CI_Profiler
{
    function MY_profiler()
    {
        parent::CI_Profiler();
    }

    function run()
    {
        
// START JQueryLoad        
// Remove if you load Jquery else where 
            $output = '<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>';
// End JQueryLoad
            $i_currentDIV = rand(10,99).substr(md5($_SERVER["REQUEST_URI"]),0,6);
            $output .= "<div id='debugTrace".$i_currentDIV."X' style='position:absolute;top:0px;left:0px;width:20px;height:30px;border:#FFFFEB solid 2px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000,endColorstr=#10000000);background: rgba(135, 135, 135, 0.6);color:red;z-index:9999;'>";
            $output .= "<a href='[removed];'> <font color='red' size='5'>X</font> </a>";
            $output .= "</div>";
            $output .= "<div id='debugTrace".$i_currentDIV."' style='position:absolute;top:0px;left:20px;width:100%;border:#FFFFEB solid 2px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000,endColorstr=#10000000);background: rgba(135, 135, 135, 0.6);color:red;z-index:9999;'>";
            $output .= "<table align='center' border='0' width='98%'>";
            $output .= "<tr>";
            $output .= "<td align='left' width='10%'><a href='[removed];'> URI </a></td>";
            $output .= "<td align='left' width='10%'><a href='[removed];'> Controler </a></td>";
            $output .= "<td align='left' width='10%'><a href='[removed];'> Memory </a></td>";
            $output .= "<td align='left' width='10%'><a href='[removed];'> Benchmarks </a></td>";
            $output .= "<td align='left' width='10%'><a href='[removed];'> Variables </a></td>";
        $output .= "<td align='left' width='10%'><a href='[removed];'> SQL </a></td>";
        $output .= "<td align='right' width='80%'><a href='[removed];'> <strong>&lt;&lt;&lt;</strong> </a></td>";
        $output .= "</tr>";
        $output .= "<tr>";
        $output .= "<td colspan='99'>";
        $output .= "<div id='codeigniter_profiler_URI' class='codeigniter_profiler' style='position:relative;top:0px;padding:10px;width:90%;text-align:left;background-color:#fff;border:1px solid silver;z-index:9999;display:none;color:silver;'>";
            $output .= $this->_compile_uri_string();
            $output .= "</div>";
        $output .= "<div id='codeigniter_profiler_CTRL' class='codeigniter_profiler' style='position:relative;top:0px;padding:10px;width:90%;text-align:left;background-color:#fff;border:1px solid silver;z-index:9999;display:none;color:silver;'>";
            $output .= $this->_compile_controller_info();
            $output .= "</div>";
            $output .= "<div id='codeigniter_profiler_MEM' class='codeigniter_profiler' style='position:relative;top:0px;padding:10px;width:90%;text-align:left;background-color:#fff;border:1px solid silver;z-index:9999;display:none;color:silver;'>";
            $output .= $this->_compile_memory_usage();
            $output .= "</div>";
            $output .= "<div id='codeigniter_profiler_BENCH' class='codeigniter_profiler' style='position:relative;top:0px;padding:10px;width:90%;text-align:left;background-color:#fff;border:1px solid silver;z-index:9999;display:none;color:silver;'>";
            $output .= $this->_compile_benchmarks();
            $output .= "</div>";
            $output .= "<div id='codeigniter_profiler_VARS' class='codeigniter_profiler' style='position:relative;top:0px;padding:10px;width:90%;text-align:left;background-color:#fff;border:1px solid silver;z-index:9999;display:none;color:silver;'>";
            $output .= $this->_compile_get();
            $output .= $this->_compile_post();
            $output .= "</div>";
            $output .= "<div id='codeigniter_profiler_SQL' class='codeigniter_profiler' style='position:relative;top:0px;padding:10px;width:90%;text-align:left;background-color:#fff;border:1px solid silver;z-index:9999;display:none;color:silver;'>";
            $output .= $this->_compile_queries();
            $output .= "</div>";
            $output .= "</td>";
            $output .= "</tr>";
            $output .= "</table>";
            $output .= "</div>";
            return $output;
    }
}
Clone this wiki locally