Slowpoke vs Laravel Pulse

Pulse is free, first-party, and takes about five minutes to add. Everybody with a Laravel app should probably have it. It is also a live wall for a single application, and it will not give you a backlog to plan from.

The short answer

Which one you should pick

These are not really rivals, and both are free. Each one does a different job, and most teams want both.

Choose Laravel Pulse if

You want a live view, in five minutes, for free

  • You want to glance at what is slow right now inside one Laravel app.
  • You want slow queries, slow jobs, slow outgoing requests and server load on one local route.
  • You do not want to run any extra infrastructure at all.
  • You are happy writing custom Pulse cards for anything else you need.

Choose Slowpoke if

You need history, priority and something that closes

  • You need to know whether last month was better than this one, not only what is happening now.
  • You need one ordered list across the app, the database server, the machines and the queues.
  • You want EXPLAIN plans with the index to add, not just the slow statement.
  • You need a page you can send to a CEO, with effort, return per hour and delivery health.
  • You need the fix to be verified by the measurement rather than by someone ticking a box.

Side by side

Slowpoke and Laravel Pulse, line by line

Written to be fair, including where Laravel Pulse is the better tool. If a row here is wrong or out of date, that is a bug: open an issue and it gets corrected.

Aspect SlowpokeLaravel Pulse
Price€0, self-hosted€0, first party
Effort to installOne command per machine, about 15 minutesA composer install
What it showsHistory, trends and an ordered backlogA live wall of the recent window
ScopeApp, database server, machines, caches, queues, schedulesOne Laravel application
Prioritised by costSeconds of waiting per day, deduplicatedSlowest first, per card
Query plans with a fixReal EXPLAIN, twelve named diagnosesNo
Code origin of a queryFile and lineAvailable for some cards
Multiple applicationsAny number, any language, one scaleOne app per dashboard
Deploy verdicts and regressionsEvery deploy judged; bosses from regressionsNo
Report for non-engineersEffort, return per hour, budget, DORANo
Work that verifies itselfMissions closed by measurementNo
Storage cost in your app's databaseNone: a separate serverWrites to your database

A wall tells you about now. A backlog tells you about the quarter.

Pulse is designed to be glanced at. It samples recent activity and shows you the slowest queries, jobs and requests in the current window, which is genuinely useful when something is happening.

The question a new technical lead has to answer is a different one: over the last thirty days, where has the time actually gone, is it getting better or worse, and what is the single change with the best return? That needs retained history, a stable fingerprint for each statement, and a cost model: duration multiplied by frequency, divided by the period genuinely observed. That is what Slowpoke keeps, on a separate server, so it does not write to the database it is watching.

Everything, not just the application

Pulse lives inside your Laravel app, so its view stops where the app stops. Slowpoke's agent sits on the machine and reads the access log, the php-fpm slow log, the MySQL or PostgreSQL statistics with real plans, Redis, /proc, queued jobs and scheduled commands. It does the same on the database server and the queue box.

It also draws what is there. slowpoke-agent detect reads the machine and reports the nginx server blocks, the PHP-FPM pools, the databases and the applications with their framework, then says which of them it cannot read yet and gives you the lines that fix it. For someone who did not build the system, that is often worth more than the metrics.

Then somebody has to do the work

Both tools can tell you a query is slow. Neither of them gets a pull request opened.

Slowpoke turns the expensive items into missions with an owner, an effort estimate and a finish line, and will not close one until the measured cost has stayed down for three windows. A deploy that makes something twice as slow becomes a boss linked to that commit, with a deadline. The team gets a speed index out of 100 that moves when they fix things. And the mission is readable over MCP, so Claude Code, Cursor or Copilot can pick it up with the query, the plan, the file and the line already in hand.

Can you run both?

Yes, and it is a good combination that costs nothing. Keep Pulse as the live wall on the app, and let Slowpoke keep the history, the priority and the work. They read different things and neither sits in your request path.

FAQ

Slowpoke and Pulse, asked plainly

Should I use Pulse or Slowpoke?
Both, most likely. They are both free and they answer different questions: Pulse shows what is happening now inside one app, Slowpoke shows what the last month cost across everything and what to fix first.
What about Laravel Telescope?
Telescope is a development tool and most teams should not leave it enabled in production. Slowpoke is built for production: the agent is read-only, capped at one core and 64 MB, and never sits in the request path.
Does Slowpoke write to my application's database?
No. The agent sends to your own Slowpoke server, which has its own SQLite or PostgreSQL. The only statements it ever runs against your database are EXPLAIN, in a read-only transaction, on statements it has already seen there.
Do I need the Laravel package to use Slowpoke?
No. Access logs and database statistics already give you endpoints and queries. The package adds the file and line of each query, queued jobs and scheduled commands, for 2.0 µs per query.

Find out what you inherited

Give it fifteen minutes on one server and the first number is yours. Finding out costs nothing.