Clase Profiler

La clase **Profiler** nos mostrará, en la parte inferior de la página, resultados de los benchmark globales (tiempo de carga del núcleo de CodeIgniter y del controlador) y propios (benchmark propios definidos en cualquier punto), valores del array superglobal $_POST y todas las consultas que se hayan ejecutado. Esta información nos puede resultar útil durante el desarrollo para depurar y optimizar nuestra aplicación.

Esta clase no necesita ser inicializada ya que la carga automáticamente la clase Output. Si activamos la clase Profiler, los resultados se mostrarán a continuación del resultado de la clase Output.

Para activar el "Profiler" usaremos el método **enable_profiler**() de la clase **Output** pasando como parámetro un valor booleano. En nuestro caso TRUE.

Veamos un ejemplo:

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

Podemos colocar esta línea de código en cualquier parte de nuestra aplicación para que se active el profiler. Para desactivarlo haremos el proceso contrario (se sobreentiende que si borramos dicha línea, el profiler no se mostrará):

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

Lo normal es activar el Profiler en una acción propia de un controlador o directamente activar dicho Profiler para todo el controlador colocando el código de activación en el constructor.

Ejemplo para activar el Profiler en la acción **loginform** del controlador **usuarios**:

...
/**
* Accion para cargar el formulario de login de usuario
*
* */
public function loginform()
{
   $this->output->enable_profiler(TRUE);
   $data = array();
   $this->benchmark->mark('LOGIN_FORM_start');
   ...
   $this->benchmark->mark('LOGIN_FORM_end');

Como vemos en la imagen siguiente:

Profiler activado para la acción loginform del controlador usuarios

Si ahora accedemos a otra acción del controlador **usuarios**, por ejemplo **addform**, no se visualizará el profiler.

Ejemplo para activar el Profiler en todas las acciones del controlador **usuarios**:

class Usuarios extends CI_Controller {
   function __construct() {
      parent::__construct();
      $this->output->enable_profiler(TRUE);
      $this->load->model('Usuarios_model');
   }
...

Respecto a los benchmark propios, se mostrarán de junto con los globales. En la siguiente imagen, se muestra un benchmark propio introducido en la acción loginform:

$this->benchmark->mark('LOGIN_FORM_start');

y al final de la acción el punto de parada:

$this->benchmark->mark('LOGIN_FORM_end');

Ejemplo del benchmark propio LOGIN FORM dentro del Profiler

En definitiva, la acción de activar el profiler en el constructor es la opción recomendada, ya que, lo activa para todas las acciones del controlador, y como hemos comentado anteriormente, toda esta información junto con los benchmark propios, nos puede resultar muy interesante durante el desarrollo para depurar y optimizar nuestra aplicación.

results matching ""

    No results matching ""