Clockwork est un outil de développement pour PHP disponible directement dans votre navigateur. Clockwork vous donne un aperçu de l'exécution de votre application - y compris les données de requête, les mesures de performances, les entrées de journal, les requêtes de base de données, les requêtes de cache, les commandes Redis, les événements distribués, les tâches en file d'attente, les vues rendues et bien plus encore - pour les requêtes HTTP, les commandes, les tâches et les tests en file d'attente. .
Ce référentiel contient le composant côté serveur de Clockwork.
Consultez le site Web de Clockwork pour plus de détails.
Installez la bibliothèque Clockwork via Composer.
composer require itsgoingd/clockwork
Félicitations, vous avez terminé ! Pour activer davantage de fonctionnalités telles que le profilage des commandes ou des tâches en file d'attente, publiez le fichier de configuration via la commande vendor:publish
Artisan.
Remarque : Si vous utilisez le cache de route Laravel, vous devrez l'actualiser à l'aide de la commande route:cache Artisan.
Lisez les instructions d’installation complètes sur le site Web Clockwork.
Le composant côté serveur Clockwork collecte et stocke des données sur votre application.
Clockwork n'est actif que lorsque votre application est en mode débogage par défaut. Vous pouvez choisir d'activer ou de désactiver explicitement Clockwork, ou même de configurer Clockwork pour qu'il collecte toujours des données sans les exposer pour une analyse plus approfondie.
Nous collectons tout un tas de données utiles par défaut, mais vous pouvez activer plus de fonctionnalités ou désactiver les fonctionnalités dont vous n'avez pas besoin dans le fichier de configuration.
Certaines fonctionnalités peuvent permettre des options avancées, par exemple. pour les requêtes de base de données, vous pouvez définir un seuil de requête lente ou activer la détection des requêtes en double (N+1). Consultez le fichier de configuration pour voir tout ce que Clockwork peut faire.
Il existe plusieurs options qui vous permettent de choisir pour quelles requêtes Clockwork est actif.
Le mode à la demande collectera des données uniquement lorsque l'application Clockwork est ouverte. Vous pouvez même spécifier un secret à définir dans les paramètres de l'application pour collecter la demande. Les erreurs uniquement enregistreront uniquement les demandes se terminant par des réponses 4xx et 5xx. Slow only collectera uniquement les requêtes dont les réponses sont supérieures au seuil de lenteur défini. Vous pouvez également filtrer les demandes collectées et enregistrées par une clôture personnalisée. Les demandes de pré-vol CORS ne seront pas collectées par défaut.
Nouveau dans Clockwork 4.1, les commandes artisanales, les tâches de file d'attente et les tests peuvent désormais également être collectés, vous devez l'activer dans le fichier de configuration.
Clockwork collecte également des traces de pile pour des données telles que des messages de journal ou des requêtes de base de données. Les 10 dernières images de la trace sont collectées par défaut. Vous pouvez modifier la limite de frames ou désactiver cette fonctionnalité dans le fichier de configuration.
Visitez /clockwork
route pour afficher et interagir avec les données collectées.
L'application affichera toutes les requêtes exécutées, ce qui est utile lorsque la requête n'est pas effectuée par un navigateur, mais par exemple par une application mobile pour laquelle vous développez une API.
Une extension d'outils de développement de navigateur est également disponible pour Chrome et Firefox :
Clockwork vous offre désormais la possibilité d'afficher les informations de base sur les demandes sous la forme d'une barre d'outils dans votre application.
La barre d'outils est entièrement rendue côté client et nécessite l'installation d'une petite bibliothèque javascript.
Apprenez-en davantage sur le site Web de Clockwork.
Vous pouvez enregistrer n'importe quelle variable via l'assistant clock(), d'une simple chaîne à un tableau ou un objet, même plusieurs valeurs :
clock (User:: first (), auth ()-> user (), $ username )
La fonction d'assistance clock()
renvoie son premier argument, vous pouvez donc facilement ajouter des instructions de débogage en ligne à votre code :
User:: create ( clock ( $ request -> all ()))
Si vous souhaitez spécifier un niveau de journalisation, vous pouvez utiliser l'appel long :
clock ()-> info ( " User { $ username } logged in! " )
Timeline vous donne une représentation visuelle du runtime de votre application.
Pour ajouter un événement à la chronologie, démarrez-le avec une description, exécutez le code suivi et terminez l'événement. Une API fluide est disponible pour configurer davantage l'événement.
// using timeline api with begin / end and fluent configuration
clock ()-> event ( ' Importing tweets ' )-> color ( ' purple ' )-> begin ();
. . .
clock ()-> event ( ' Importing tweets ' )-> end ();
Vous pouvez également exécuter le bloc de code suivi comme fermeture. Vous pouvez également choisir d'utiliser une configuration basée sur un tableau au lieu de l'API fluide.
// using timeline api with run and array - based configuration
clock ()-> event ( ' Updating cache ' , [ ' color ' => ' green ' ])-> run ( function () {
. . .
});
En savoir plus sur les fonctionnalités disponibles sur le site Web Clockwork.