Qu’est-ce que Laravel Pulse
Laravel Pulse est un tableau de bord qui donne une vue d’ensemble des performances et de l’usage de votre application. Identifiez les jobs lents ou les endpoints qui saturent, ou repérez vos utilisateurs les plus actifs.Différence entre Telescope et Pulse
| Caractéristique | Laravel Pulse | Laravel Telescope |
|---|---|---|
| Objectif | Tendances et métriques agrégées | Débogage détaillé par requête/événement |
| Données | Métriques agrégées | Log d’événements individuels |
| Usage | Supervision de production | Débogage en dev/staging |
Pour le débogage détaillé, utilisez Laravel Telescope.
Flux de données
Installation
Après migration, accédez au dashboard sur/pulse.
Publier la configuration seule
Accès au dashboard
Configuration d’accès
Par défaut, seullocal accède. En production, personnalisez la gate viewPulse.
boot de app/Providers/AppServiceProvider.php.
Personnalisation du dashboard
Publiez la vue pour personnaliser cartes et layout.resources/views/vendor/pulse/dashboard.blade.php.
Le dashboard tourne sur Livewire : aucun build JavaScript n’est requis.
cols et rows.
Recorders
Les recorders capturent les événements et les stockent dans les tables Pulse. Configurés dans la sectionrecorders de config/pulse.php.
Requests / Slow Requests
Requests capture les infos des requêtes.
Seuil pour route lente (1000 ms par défaut), taux d’échantillonnage, chemins ignorés.
Slow Jobs
Capture les jobs dépassant le seuil (1000 ms par défaut). Seuil personnalisable par job.Exceptions
Capture les exceptions à rapporter. Regroupées par classe et lieu.Cache
CacheInteractions capture hits et misses. Regroupement par regex des clés similaires.
Queues
Débit des jobs (enfilés, en cours, terminés, released, failed).Servers
CPU, mémoire, stockage des serveurs. Requiertpulse:check en permanence.
gethostname() par défaut ; personnalisable via variable.
Users
UserRequests et UserJobs capturent les utilisateurs pour la carte « Application Usage ».
Redis Ingest
Pour un trafic élevé, envoyez d’abord vers un flux Redis puis persistez.pulse:work pour lire le flux.
Échantillonnage
À fort trafic, tout capturer produit des millions de lignes. L’échantillonnage n’enregistre qu’une fraction et affiche des approximations.~.
Plus le volume est grand, plus vous pouvez baisser le taux sans perdre en précision.
Variables d’environnement
Principaux réglages via variables :| Variable | Description | Défaut |
|---|---|---|
PULSE_ENABLED | Activation de Pulse | true |
PULSE_DB_CONNECTION | Connexion DB Pulse | Défaut app |
PULSE_INGEST_DRIVER | Driver d’ingestion (redis…) | storage |
PULSE_SERVER_NAME | Nom du serveur | gethostname() |
PULSE_SLOW_REQUESTS_THRESHOLD | Seuil requête lente (ms) | 1000 |
PULSE_SLOW_JOBS_THRESHOLD | Seuil job lent (ms) | 1000 |
PULSE_SLOW_QUERIES_THRESHOLD | Seuil requête SQL lente (ms) | 1000 |
Cartes personnalisées
Créez vos propres cartes en Livewire.Pulse::record.
Récapitulatif
| Objectif | Méthode |
|---|---|
| Installer Pulse | composer require laravel/pulse |
| Accéder au dashboard | Route /pulse |
| Contrôle d’accès en prod | Définir la gate viewPulse |
| Supervision serveur | Lancer php artisan pulse:check en continu |
| Échantillonnage | Régler sample_rate |
Prochaines étapes
Gestion des erreurs
Traitement des exceptions et rapports.
Journalisation
Configuration et utilisation du système de logs.