2009-01-30 7 views
10

Mi equipo ágil agregará nuevas características a un sitio web de bienes raíces existente. A medida que agreguemos las funciones, queremos tener un mejor manejo del rendimiento general del sitio, así como del rendimiento de páginas particulares.¿Cómo puedo consumir los datos del panel de red de Firebug programáticamente?

Me gustaría automatizar la recopilación de métricas de rendimiento en una base de solicitud/respuesta para cada página (por ejemplo, qué subencargos son enviados por el navegador, cuántos hay, cuántos datos se transfieren y cómo Cuánto tardaba cada solicitud en cumplir).

Firebug actualmente captura esta información en su panel de red, sin embargo, no he encontrado ninguna forma de sacar esta información mediante programación.

¿Alguien sabe de una manera de tirar de esta información después de una página se ha cargado?

Actualmente estamos ejecutando nuestras pruebas de aceptación de usuario con selenio y yo hemos considerado la adición de esta característica a la interfaz de selenio para que nuestras pruebas podrían correr y recoger los datos sin necesidad de iniciar cualquier otro servicio.

Todas las sugerencias son bienvenidas, incluidas las que aprovechan otras herramientas/métodos para recopilar las métricas de rendimiento.

Gracias.

Respuesta

4

Ene Odvarko ha escrito un Tutorial sobre cómo utilizar la nueva funcionalidad oyente dentro de Firebug para registrar los resultados de las caras de red:

"Desde Firebug 1.4a13 el panel Net presenta, entre otras cosas, varios eventos nuevos que permiten recopile fácilmente todas las solicitudes de red y también información relacionada recopilada y calculada por Firebug.

Esta funcionalidad debe ser útil también en casos donde las extensiones Firebug desean almacenar información de actividad de red en una base de datos local o enviarla al servidor para su posterior análisis (Estoy pensando en estadísticas de rendimiento aquí) ".

+0

Muy bueno. Gracias por el enlace. –

0

De acuerdo, admito que esta no es una respuesta directa, pero ¿qué tal ir directamente a la fuente? Corta FireBug y ve al servidor web. ¿Puede el servidor registrar eventos con suficiente granularidad para permitir el cálculo de la información que necesita? Analizar el archivo de registro en datos útiles no debería ser particularmente difícil y tiene la ventaja de ser independiente de la plataforma del usuario y tiene el potencial de registrar un conjunto de datos mayor que el ofrecido por FireBug (Awesome tool btw).

+0

Eso definitivamente es una opción, sin embargo, dada nuestra configuración actual del servidor, no estamos capturando esa información. Gracias por la sugerencia. –

1

Hay una forma de utilizar ySlow para enviar datos de rendimiento a una URL de su elección. No está bien documentada, la única información que encontré fue aquí:

http://tech.groups.yahoo.com/group/exceptional-performance/messages/490?threaded=1&m=e&var=1&tidx=1

Aparte de eso me gustaría ver en escribir un plugin Firebug, creo que se puede acceder a las propiedades más Firebug. Aquí hay un tutorial: http://www.firephp.org/Reference/Developers/ExtendingFirebug.htm

+0

Muy interesante. Eso es casi exactamente el tipo de cosa que estaba buscando. He estado leyendo sobre los plugins Firebug y FF tratando de hacer eso mismo. Gracias por el enlace de YSlow. –

2

Si bien no es directamente una solución de Firebug, ¿quizás algo como Jiffy podría ayudar?

Jiffy funciona prácticamente como una versión basada en servidor de las herramientas de medición de Firebug. Todavía no lo he usado con ira, pero puede hacer lo que estás buscando.

http://code.google.com/p/jiffy-web/

Jiffy permite a los desarrolladores:

  • medir piezas individuales de la renderización de páginas (carga escritura, ejecución AJAX, carga de la página, etc.) En cada cliente
  • informe de esas mediciones y otros metadatos a un servidor web
  • registros del servidor web se agregan en una base de datos
  • generan informes
+0

Mi única preocupación con una solución Jiffy es que parece requerir que el Jiffy .js y el código de señalización se inyecten en las páginas de la aplicación. Dada la complejidad existente de muchas de nuestras páginas y el tipo de datos de interacción que estamos buscando, puede que esto no sea factible. Buena sugerencia, sin embargo. –

1

Ben, que he hecho esto extendida ProxyHandler de Selenium RC para poner en cola las URL que se ven y luego permitirle desplegarlas a través de otra API. Requiere que proxy todo, que no es el comportamiento predeterminado de Selenium. Lo bueno es que Selenium termina siendo el lugar para impulsar la automatización y recoger los resultados vistos.

Probablemente esta sea una característica que pronto agregaremos a Selenium RC justo después de obtener 1.0 por la puerta (estamos muy cerca).

+0

Muy bueno. Justo hoy estaba hablando con un compañero de trabajo sobre la extensión de una API proxy que había escrito para hacer algo similar ... nuestra única preocupación era la integración con Selenium o cualquier otra herramienta de prueba web. Gracias por el consejo. –

+0

Ben - no hay problema. No dude en enviarme un correo electrónico a patrick a browsermob.com si necesita un código de muestra para comenzar. –

4

Eche un vistazo a la extensión NetExport para FireBug.

Pasos:

  1. permitir Autoexport en las preferencias (se puede automatizar éste a su vez)
  2. elegir la carpeta en la que los datos se va a añadir
  3. Lea el archivo
+0

Bien, esto es genial. El archivo se puede leer mediante programación, pero para eso la página web debe abrirse en FF. ¿Entonces esto significa que tenemos que automatizar eso? – SilentAssassin

Cuestiones relacionadas