Clockwork es una herramienta de desarrollo para PHP disponible directamente en su navegador. Clockwork le brinda información sobre el tiempo de ejecución de su aplicación, incluidos datos de solicitudes, métricas de rendimiento, entradas de registro, consultas de bases de datos, consultas de caché, comandos de Redis, eventos enviados, trabajos en cola, vistas renderizadas y más, para solicitudes HTTP, comandos, trabajos en cola y pruebas. .
Este repositorio contiene el componente del lado del servidor de Clockwork.
Consulte el sitio web de Clockwork para obtener más detalles.
Instale la biblioteca Clockwork a través de Composer.
composer require itsgoingd/clockwork
¡Felicitaciones, ya terminaste! Para habilitar más funciones como comandos o creación de perfiles de trabajos en cola, publique el archivo de configuración mediante el comando vendor:publish
Artisan.
Nota: Si está utilizando el caché de ruta de Laravel, deberá actualizarlo usando el comando route:cache Artisan.
Lea las instrucciones de instalación completas en el sitio web de Clockwork.
El componente del lado del servidor Clockwork recopila y almacena datos sobre su aplicación.
Clockwork solo está activo cuando su aplicación está en modo de depuración de forma predeterminada. Puede optar por habilitar o deshabilitar explícitamente Clockwork, o incluso configurar Clockwork para que siempre recopile datos sin exponerlos para análisis posteriores.
Recopilamos una gran cantidad de datos útiles de forma predeterminada, pero puede habilitar más funciones o deshabilitar funciones que no necesita en el archivo de configuración.
Algunas características pueden permitir opciones avanzadas, por ejemplo. para consultas de bases de datos, puede establecer un umbral de consulta lento o habilitar la detección de consultas duplicadas (N+1). Consulte el archivo de configuración para ver todo lo que Clockwork puede hacer.
Hay varias opciones que le permiten elegir para qué solicitudes Clockwork está activo.
El modo bajo demanda recopilará datos solo cuando la aplicación Clockwork esté abierta. Incluso puede especificar un secreto que se establecerá en la configuración de la aplicación para recopilar la solicitud. Solo errores registrará solo las solicitudes que terminen con respuestas 4xx y 5xx. Solo lento recopilará solo solicitudes con respuestas por encima del umbral de lentitud establecido. También puede filtrar las solicitudes recopiladas y registradas mediante un cierre personalizado. Las solicitudes CORS previas al vuelo no se recopilarán de forma predeterminada.
Como novedad en Clockwork 4.1, ahora también se pueden recopilar comandos artesanales, trabajos en cola y pruebas; debe habilitar esto en el archivo de configuración.
Clockwork también recopila seguimientos de pila para datos como mensajes de registro o consultas de bases de datos. De forma predeterminada, se recopilan los últimos 10 fotogramas del seguimiento. Puede cambiar el límite de fotogramas o desactivar esta función en el archivo de configuración.
Visite /clockwork
para ver e interactuar con los datos recopilados.
La aplicación mostrará todas las solicitudes ejecutadas, lo cual es útil cuando la solicitud no la realiza el navegador, sino, por ejemplo, una aplicación móvil para la que está desarrollando una API.
También está disponible una extensión de herramientas de desarrollo del navegador para Chrome y Firefox:
Clockwork ahora le ofrece la opción de mostrar información básica de la solicitud en forma de barra de herramientas en su aplicación.
La barra de herramientas está completamente representada en el lado del cliente y requiere la instalación de una pequeña biblioteca de JavaScript.
Obtenga más información en el sitio web de Clockwork.
Puede registrar cualquier variable a través del asistente clock(), desde una simple cadena hasta una matriz u objeto, incluso múltiples valores:
clock (User:: first (), auth ()-> user (), $ username )
La función auxiliar clock()
devuelve su primer argumento, por lo que puedes agregar fácilmente declaraciones de depuración en línea a tu código:
User:: create ( clock ( $ request -> all ()))
Si desea especificar un nivel de registro, puede utilizar la llamada de formato largo:
clock ()-> info ( " User { $ username } logged in! " )
La línea de tiempo le brinda una representación visual del tiempo de ejecución de su aplicación.
Para agregar un evento a la línea de tiempo, comience con una descripción, ejecute el código rastreado y finalice el evento. Hay una API fluida disponible para configurar aún más el evento.
// using timeline api with begin / end and fluent configuration
clock ()-> event ( ' Importing tweets ' )-> color ( ' purple ' )-> begin ();
. . .
clock ()-> event ( ' Importing tweets ' )-> end ();
Alternativamente, puede ejecutar el bloque de código rastreado como cierre. También puede optar por utilizar una configuración basada en matrices en lugar de la API fluida.
// using timeline api with run and array - based configuration
clock ()-> event ( ' Updating cache ' , [ ' color ' => ' green ' ])-> run ( function () {
. . .
});
Lea más sobre las funciones disponibles en el sitio web de Clockwork.