¿Qué es Laravel Pulse?
Laravel Pulse es un dashboard de monitorización que muestra de un vistazo el rendimiento y el uso de la aplicación. Permite localizar cuellos de botella (jobs y endpoints lentos) o consultar quiénes son los usuarios más activos.Diferencia entre Telescope y Pulse
Para depuración detallada de eventos individuales, usa Laravel Telescope.
Diagrama del flujo de datos
Instalación
1
Instalación del paquete
Instala Pulse con Composer.
2
Publicar configuración y migraciones
Publica los archivos con Artisan.
3
Ejecutar migraciones
Crea las tablas para los datos de Pulse.
/pulse.
Publicar el archivo de configuración
También puedes publicar solo el archivo de configuración para personalizarlo.Acceso al dashboard
Configuración de autenticación
Por defecto, solo se accede al dashboard en el entornolocal.
En producción, personaliza la puerta de autorización viewPulse para controlar el acceso.
boot de app/Providers/AppServiceProvider.php.
Personalización del dashboard
Publica la vista del dashboard para personalizar cards y layout.resources/views/vendor/pulse/dashboard.blade.php.
Como el dashboard funciona con Livewire, puedes personalizarlo sin compilar JavaScript.
cols y rows para ajustar tamaño y posición.
Recorders
Los recorders capturan eventos de la aplicación y los registran en la BD de Pulse. La configuración vive en la secciónrecorders de config/pulse.php.
Requests / Slow Requests
Requests captura información de las solicitudes.
Puedes configurar el umbral de rutas lentas (1000 ms por defecto), la tasa de muestreo y las rutas a ignorar.
Slow Jobs
SlowJobs captura jobs que superan el umbral (1000 ms por defecto).
Puedes configurar umbrales distintos por job.
Exceptions
Exceptions captura las excepciones reportables. Se agrupan por clase y ubicación.
Cache
CacheInteractions captura hits y misses de caché.
Puedes agrupar claves parecidas con una regex.
Queues
Queues captura el throughput de los jobs en cola (encolados, procesando, completados, liberados y fallidos).
Servers
Servers captura el uso de CPU, memoria y almacenamiento de los servidores que ejecutan la app.
Para usarlo, mantén activo pulse:check en cada servidor monitorizado.
gethostname(). Personalízalo con una variable de entorno.
Users
UserRequests y UserJobs capturan el usuario que originó solicitudes o jobs y lo muestran en la card “Application Usage”.
Ingesta con Redis
En entornos de alto tráfico, puedes enviar las entradas a un stream de Redis y luego ingestarlas a la BD.pulse:work para procesar el stream.
Muestreo
En entornos de alto tráfico, capturar todos los eventos puede generar millones de filas. Con el muestreo registras solo una parte y el dashboard muestra un valor aproximado.~.
Cuanto más grande sea el volumen de entradas, más se puede bajar la tasa manteniendo precisión.
Variables de entorno
Los principales ajustes se controlan por variables de entorno.Cards personalizadas
Puedes crear tus propias cards de Pulse para mostrar datos específicos. Se implementan como componentes de Livewire.Pulse::record.
Resumen
Próximos pasos
Manejo de errores
Aprende el manejo y reporte de excepciones de la aplicación.
Logging
Configuración y uso del sistema de logs de Laravel.