Laravel Pulse
Real-time application performance monitoring dashboard for Laravel — tracks server metrics, slow queries, slow jobs, exceptions, HTTP requests, and cache hits with minimal configuration. Pulse features: /pulse dashboard with configurable cards, server monitoring (CPU, memory, disk via pulse:check command), slow query detection (DB::listen threshold), failed/slow job tracking, exception aggregation, cache interaction stats, user activity timeline, custom recorders, and database-backed metric storage. Ships as laravel/pulse package with Livewire dashboard component. Requires no external services — all data stored in your app's database (pulse_* tables). Complements Laravel Telescope for development with production-grade metric aggregation.
Score Breakdown
⚙ Agent Friendliness
🔒 Security
Pulse dashboard exposes sensitive operational data — slow query SQL, exception messages with stack traces, user activity; restrict /pulse access with strong gate authorization. Exception messages may contain agent user data or sensitive parameters; audit what Pulse captures before production deployment. Server metrics reveal infrastructure details.
⚡ Reliability
Best When
You want zero-configuration production visibility into your Laravel agent app's performance — Pulse installs in minutes and provides a dashboard without external services or per-month costs.
Avoid When
You need distributed tracing across microservices, long-term metric retention beyond Pulse's pruning window, or code-level profiling for deep agent performance optimization.
Use Cases
- • Agent service health dashboard — /pulse shows real-time CPU/memory, slow agent API requests (>1000ms), failed agent background jobs, and exception rates; ops team sees agent service health at a glance without external monitoring services
- • Slow query detection in agent workflows — Pulse slow query recorder captures queries exceeding threshold_ms with calling stack trace; identifies N+1 queries in agent data loading without manual query logging
- • Agent job queue monitoring — failed job tracking in Pulse dashboard shows failed agent task jobs with exception message and queue name; supplements Horizon (Redis) with database-backed job failure history for agents using database queue driver
- • Exception rate monitoring — Pulse exception recorder aggregates exception class, message, and count; agent exception spikes visible in dashboard before Sentry alerts trigger; useful for catching agent retry storms and error cascades
- • Custom agent metric cards — Pulse::record('agent_tasks_completed', count: $n)->count() records custom agent business metrics; custom card displayed in /pulse dashboard with configurable period and grouping
Not For
- • Distributed tracing — Pulse tracks metrics for single Laravel app; for distributed agent microservice tracing use OpenTelemetry or Jaeger
- • Long-term metric retention — Pulse prunes old data (configurable retention); for long-term trend analysis use Prometheus + Grafana ingesting from Pulse or app metrics
- • Production APM replacement — Pulse is lightweight monitoring; for full APM with code-level profiling of agent code paths use Blackfire, Datadog APM, or New Relic
Interface
Authentication
Pulse dashboard at /pulse is restricted by gate check (App\Providers\PulseServiceProvider viewPulse gate). Production access requires authentication — add user check in gate definition. Open by default in local environment.
Pricing
Laravel Pulse is MIT licensed, maintained by the Laravel team. Free for all use.
Agent Metadata
Known Gotchas
- ⚠ pulse:work queue worker required for high-traffic apps — by default Pulse writes metrics synchronously during request; on high-traffic agent APIs this adds DB write overhead per request; configure PULSE_INGEST_DRIVER=redis and run php artisan pulse:work to process metrics asynchronously; missing queue worker causes metric backlog in cache
- ⚠ Server monitoring requires pulse:check on every server — php artisan pulse:check runs CPU/memory monitoring; must execute on each server in fleet via supervisor/cron; agent multi-server deployments only see metrics from servers running pulse:check; missing check causes empty server cards without error
- ⚠ /pulse route requires Livewire — Pulse dashboard uses Livewire for real-time updates; Livewire must be installed (laravel/livewire package); missing Livewire dependency causes dashboard route 500 error; agent apps without Livewire must install it for Pulse dashboard
- ⚠ Pulse data stored in app database — pulse_* tables in your application DB accumulate data; high-traffic agent apps generate substantial Pulse table rows; configure 'pulse' database connection to use separate DB to prevent agent query/Pulse query interference and enable separate backup strategy
- ⚠ Gate authorization controls dashboard access — viewPulse gate defaults to false in production (only local env allows open access); agent deployments with empty gate definition show 403 for all users; add Auth::user()->isAdmin() check in PulseServiceProvider::boot() to allow agent ops team access
- ⚠ Custom recorders must be registered in pulse.php — Pulse::record() calls work without registration but custom Card and Recorder classes must be listed in config/pulse.php recorders array; agent custom metric cards missing from config don't appear in dashboard without error message
Alternatives
Full Evaluation Report
Comprehensive deep-dive: security analysis, reliability audit, agent experience review, cost modeling, competitive positioning, and improvement roadmap for Laravel Pulse.
AI-powered analysis · PDF + markdown · Delivered within 30 minutes
Package Brief
Quick verdict, integration guide, cost projections, gotchas with workarounds, and alternatives comparison.
Delivered within 10 minutes
Score Monitoring
Get alerted when this package's AF, security, or reliability scores change significantly. Stay ahead of regressions.
Continuous monitoring
Scores are editorial opinions as of 2026-03-06.