laravel/pulse
Laravel Pulse is a real-time performance monitoring tool and dashboard for Laravel. Track requests, slow queries, jobs, cache usage, and other application metrics to spot issues quickly and keep your app healthy in production.
Laravel Pulse is a native fit for Laravel-based applications, leveraging Laravel’s ecosystem (e.g., queues, caching, Livewire) to provide real-time performance monitoring. Its modular design allows integration with existing Laravel components (e.g., queues, jobs, HTTP requests) without requiring invasive architectural changes. The package aligns with Laravel’s observability-first philosophy, complementing tools like Telescope but focusing on real-time operational metrics rather than debugging.
Key strengths:
Potential conflicts:
Pulse integrates seamlessly with Laravel’s core systems:
Feasibility score: 9/10 (Minimal friction for Laravel apps; edge cases for non-standard setups).
Prerequisites:
| Risk Area | Severity | Mitigation |
|---|---|---|
| Queue Latency | Medium | Monitor pulse:work queue separately; adjust PULSE_QUEUE_CONNECTION. |
| Livewire Compatibility | Low | Test with Livewire v3/4; patch if needed (e.g., RequireLivewireHeaders). |
| Storage Growth | Medium | Configure PULSE_RETENTION_DAYS (default: 14) and prune old data. |
| Redis Serialization | Low | Use PULSE_REDIS_SERIALIZER (e.g., php) if custom serialization is needed. |
| Custom Cards | Medium | Validate third-party card compatibility; test in staging. |
| Telescope Conflict | Low | Disable Telescope’s queue listeners if both are used (Pulse handles monitoring). |
Critical dependencies:
pulse:work command must run to process metrics. Failure here silences monitoring.Observability Goals:
Architecture Constraints:
PULSE_SAMPLE_RATE).Data Retention:
PULSE_RETENTION_DAYS.Customization Needs:
Deployment:
pulse:reload command for UI updates.Alerting:
PULSE_THRESHOLDS in config/pulse.php.Performance Impact:
pulse:work queue backlog during traffic spikes.Pulse is optimized for the Laravel stack and integrates natively with:
Non-Laravel dependencies:
Compatibility Matrix:
| Component | Compatibility |
|---|---|
| Laravel 10+ | ✅ Fully supported (v13+ recommended). |
| PHP 8.1+ | ✅ Supported (8.5+ for full features). |
| Livewire 3/4 | ✅ Required for dashboard. |
| Redis | ✅ Preferred (supports Relay, custom serializers). |
| Database (SQLite) | ⚠️ Supported but not recommended for production (no indexing). |
| Horizon | ✅ Optional (enhances queue monitoring). |
| Telescope | ⚠️ Avoid running both (conflicting queue listeners). |
config/pulse.php (e.g., retention, thresholds, storage).composer require laravel/pulse
php artisan pulse:install
PULSE_RETENTION_DAYS (e.g., 7 for pilot).PULSE_THRESHOLDS for errors/latency (e.g., 500ms for slow requests)./admin) via PULSE_IGNORE_ROUTES.php artisan vendor:publish --tag=pulse-assets
/pulse route (e.g., middleware, IP whitelisting).Pulse::record('revenue', $amount)).pulse:work queue backlog.How can I help you explore Laravel packages today?