Está en: » Artículos »

Depuración y rendimiento de una aplicación en php (y por supuesto codeIgniter)

Depuración y rendimiento de una aplicación en php (y por supuesto codeIgniter)

PHP quick profiler

PHP quick profiler

PHP quick profiler es una librería para php5 que nos permite tener una consola extra donde poder revisar la ejecución de nuestra aplicación.

Es una gran librería que nos revela información variada como datos recibidos, clases iniciadas, el lugar donde las mismas se inician, número de consultas a la sql, consultas a la sql, tiempo de carga, memoria consumida por la aplicación, archivos incluidos y un largo etcétera.

Podéis hecharle un vistazo en http://particletree.com/examples/pqp/ aunque os dejo algunas capturas de sus distintos paneles:

PHP quick profiler :: captura (console)PHP quick profiler :: captura (load time)PHP quick profiler :: captura (queries)PHP quick profiler :: captura (memory used)PHP quick profiler :: captura (files)

La instalación y funcionamiento de dicha librería para una aplicación en php5 está muy explicada en la página del autor, por lo que no entraré en detalles

Hay un proyecto que consiste en integrar esta librería dentro del framework codeIgniter (PHP quick profiler for codeigniter).

Para descargar dicha librería, por comodidad, haremos uso de git. Para aquellos que no lo tengan instalado en openSuse, bastará con hacer un:

su -c 'zypper install git'

Procedemos a extraer una copia del código del repositorio git:

git clone git://github.com/danmorin/php-quick-profiler-for-codeigniter.git

Si accedemos a la carpeta descargada (php-quick-profiler-for-codeigniter), veremos 3 carpetas y un archivo readme. Para instalar la librería en codeIgniter deberemos copiar:

  • Contenido de la carpeta app_config a application/config/ (si no utilizas los hooks de codeIgniter, sobre escribe el archivo sin pensarlo).
  • Contenido de la carpeta app_libraries a application/libraries/
  • Contenido de la carpeta app_plugins a application/plugins/ (si no dispone de esta carpeta, créela).

Sólo nos queda habilitar los hooks en el archivo application/config/config.php:

$config['enable_hooks'] = TRUE;

y especificar la línea:

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

en la función/es que deseemos para lanzar dicha consola.

Por comodidad, lo podemos incluir en el constructor de una clase y así se lanzará para todas sus funciones. Pero, ¿y si lo tengo en el constructor de varias clases y quiero que no se lance? En mi caso, he definido la variable $config[‘php-quick-profiler’] en application/config/config.php y en los constructores:

if( $this->config->item('php-quick-profiler') )
$this->output->enable_profiler(TRUE);

De esta forma, sólo bastaría con cambiar esta variable dentro del config para que se muestre la consola en aquellas clases que la especificamos.

Realmente es muy práctico para depurar una aplicación ya que localizamos rápidamente dónde se encuentra el problema.

Comentarios

  1. Ismel dice:

    Hola Miguel, sabes si esta libreria puede ser instalada para depurar bajo un sistema mac osx?

  2. Ismael dice:

    Si ya revise la documentacion crei que era una aplicacion que se añadia como extension al binario PHP.

    Gracias

  3. galax dice:

    Gracias por el aporte , super interesante medir el tiempo de respuesta del aplicativo y con esto podremos mejorar o optimizar la aplicación !! xD

Deje su comentario

Previsualización de comentario
  1. Anónimo dice:





Pings para esta entrada