Foros del Web » Programando para Internet » PHP » Zend »

Calcular tiempo de ejecucion en Zend Framework

Estas en el tema de Calcular tiempo de ejecucion en Zend Framework en el foro de Zend en Foros del Web. Hola chicos, tengo la siguiente duda, quiero implementar en mi sitio, un script que mide el tiempo que tarda en ejecutar la pagina. En php ...
  #1 (permalink)  
Antiguo 11/09/2008, 05:52
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 18 años, 11 meses
Puntos: 1
Exclamación Calcular tiempo de ejecucion en Zend Framework

Hola chicos, tengo la siguiente duda, quiero implementar en mi sitio, un script que mide el tiempo que tarda en ejecutar la pagina.
En php 4, lo que hacia era lo siguiente, ponia esta lineas al principio

Código PHP:
$tiempo microtime(); 
$tiempo explode(" ",$tiempo); 
$tiempo $tiempo[1] + $tiempo[0]; 
$tiempoInicio $tiempo

y estas lineas al final:
Código PHP:
$tiempo microtime(); 
$tiempo explode(" ",$tiempo); 
$tiempo $tiempo[1] + $tiempo[0]; 
$tiempoFin $tiempo
$tiempoReal = ($tiempoFin $tiempoInicio); 
echo 
$tiempoReal

En el caso del framework, las pimeras lineas tendrian que ir en el Bootstrap no??y las ultimas lineas, donde las tengo que colocar?, lo que quiero hacer es que muestre en el footer de mi layout, una leyenda que diga por ejemplo,

"Pagina Generada en X segundos".

Nose si este script este mejorado utilizando funciones de php 5. Si es asi, me pueden decir como seria el script en php 5?


Desde ya Muchas Gracias.
  #2 (permalink)  
Antiguo 11/09/2008, 08:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Calcular tiempo de ejecucion en Zend Framework

Hola gabyrsh,

Creo lo más correcto seria que crearas un plugin para el frontController, para al iniciar el script iniciar el contador y al final del script obtener el tiempo de ejecución.

Revisa el Manual de Zend, viene muy bien explicado como crear un plugin.

Saludos.
  #3 (permalink)  
Antiguo 11/09/2008, 09:29
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: Calcular tiempo de ejecucion en Zend Framework

Gracias, estoy leyendo acerca de los plugins.

Encontré una clase que hace lo que necesito, en teoria es la siguiente (seguramente me falta corregirle ya que es una clase de php 4):

Código PHP:
 class pageLoad{
   protected 
$start;
   protected 
$end;
   
   function 
pageLoad(){
     
$this->start();
   }
   
   function 
start(){
    
$this->start $this->getTime();
   }
   
   function 
end(){
     
$this->end $this->getTime();
   }
   
   function 
getLoadTime($format '%01.2f'){
     if (empty(
$this->end) )$this->end();
     return 
sprintf($format, ($this->end $this->start));
   }
   
   function 
getTime(){
    
$time microtime();
$time explode(' '$time);
return 
$time[1] + $time[0]; 
   }
 } 

Entendí como armar un plugin, es mas ya creé uno que realiza otras funciones.
Lo que no entiendo es, tengo que configurar algun metodo en dispatchLoopStartup verdad? en este caso tendria que modificar
Código PHP:
 $this->start $this->getTime(); 
de mi clase, para que funcione en dispatchLoopStartup del plugin.

Ademas tendria que Crear un metodo, que se funcione, despues del dispatch, este seria el getLoadTime de mi clase, para poder obtener el tiempo.


Estoy mas o menos encaminado?

Un abrazo
  #4 (permalink)  
Antiguo 11/09/2008, 11:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Calcular tiempo de ejecucion en Zend Framework

Exactamente, necesitas en el predispatch yo creo, o en el dispatch para obtener el tiempo de carga, y despues al renderear el view, puedes obtener el plugin y obtener el tiempo.

Saludos.
  #5 (permalink)  
Antiguo 11/09/2008, 12:26
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: Calcular tiempo de ejecucion en Zend Framework

esta noche me pongo a meter mano, y te comento como me fue. seguramente esto les va a servir a mas de uno.
  #6 (permalink)  
Antiguo 11/09/2008, 13:11
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: Calcular tiempo de ejecucion en Zend Framework

Hola. chicos, terminé el script, Quiero saber, que les parece y si lo hice bien.


La idea es esta, en mi plugin lo configure asi:

Código PHP:

class MyLibs_Plugin_LoadView extends Zend_Controller_Plugin_Abstract {
    
    protected 
$_tiempoInicio;
    
public function 
dispatchLoopStartup(Zend_Controller_Request_Abstract $request)  {

$this->tiempoInicio $this->tiempo();

 }



public function 
postDispatch() {        
        
$tiempoFin $this->tiempo();
        
$tiempoReal = ($tiempoFin $this->tiempoInicio);
        
                 echo 
"Pagina Generada en: ".$tiempoReal." segundos.";
        }
    
    public function 
tiempo()
    {
        
$tiempo microtime ();
        
$tiempo explode " "$tiempo );
        
$tiempo $tiempo [1] + $tiempo [0];
        
        return 
$tiempo;
        
    }





Obviamente, falta ponerle que lo renderize y que no me lo imprima con un echo, pero es la idea.

Que opinan?


Un abrazo
  #7 (permalink)  
Antiguo 11/09/2008, 14:05
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Calcular tiempo de ejecucion en Zend Framework

Tengo una herramienta para "depurar" PHP mucho más eficiente: http://www.xdebug.org/

Ya había hablado de esa extensión, pero ningún moderador la puso en el hilo de Aportes :/

Salu2
__________________
Blog | Tecnosquad
  #8 (permalink)  
Antiguo 11/09/2008, 14:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: Calcular tiempo de ejecucion en Zend Framework

Cita:
Iniciado por ArrauKano Ver Mensaje
Tengo una herramienta para "depurar" PHP mucho más eficiente: http://www.xdebug.org/

Ya había hablado de esa extensión, pero ningún moderador la puso en el hilo de Aportes :/

Salu2
Hola, disculpa mi ignorancia, nunca lo he utilizado, le di un vistazo, pero en este caso para que me serviria?
  #9 (permalink)  
Antiguo 11/09/2008, 17:49
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Calcular tiempo de ejecucion en Zend Framework

esa extensión añade funcionalidades extra a PHP, para hacer depuración.

Puedes ver el consumo de memoria, tiempo de ejecución y varias otras cosas "internas", ya sea de un trozo de código, de una función aislada, etc...
__________________
Blog | Tecnosquad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:40.