Slowpoke vs Coroot

Coroot is the tool on this list that shares the most with Slowpoke: both believe you should not have to instrument anything to find out what you are running. Coroot gets there with eBPF and is shaped for Kubernetes. Slowpoke gets there by reading the machine, and is shaped for the three VPSes most companies actually have.

The short answer

Which one you should pick

Genuinely close tools with different centres of gravity. Pick by what your infrastructure looks like and by what you want to happen after the map exists.

Choose Coroot if

You run Kubernetes and want the map for free

  • Your workloads are in Kubernetes, which is where eBPF auto-discovery pays off most.
  • You want service-to-service latency and error rates derived at the kernel, with zero code changes.
  • You want continuous profiling and node-level analysis in the same product.
  • You are comparing costs at high telemetry volume, where Coroot stays flat.

Choose Slowpoke if

You have servers, not a cluster — and you want the fix, not just the map

  • Your estate is a few VMs running nginx, PHP-FPM and a managed database, not a mesh.
  • You want the slow query itself: the plan, the index to add, and the line of code that ran it.
  • You want everything priced in one unit so you can argue for a sprint with a number.
  • You want the expensive findings to become work that closes when the measurement says so.
  • You need it to run on a kernel and a distro you do not control, without privileged eBPF.

Side by side

Slowpoke and Coroot, line by line

Written to be fair, including where Coroot 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 SlowpokeCoroot
What it answersWhat it costs, and what to fix firstWhat talks to what, and where latency appears
Price€0 for the open source core€0 for the open source core
Discovery methodReads the machine: nginx, pools, databases, caches, appseBPF at the kernel
Natural habitatPlain VMs and bare metal, any distroKubernetes
Needs privileged kernel accessNoYes, eBPF
Service mapMachines, services, ports and the process behind each connectionAutomatic, from observed traffic
Slow query, with the planReal EXPLAIN, twelve named diagnoses
Code origin of a queryFile and line, via framework packages
Priced in business termsSeconds of waiting per dayLatency and error rates
Work that verifies itselfMissions closed by measurement
Report for non-engineersEffort, return per hour, budget, DORA
Continuous profilingNoYes
Says what it cannot seeYes, per source, with the lines that fix it

The same instinct, applied to different infrastructure

Coroot's premise is one we agree with completely: asking an already-overloaded team to instrument everything before they can see anything is a bad trade. Coroot solves it with eBPF, watching traffic at the kernel and deriving the service map from what actually moves.

That is elegant, and it is at its best in Kubernetes, where everything is uniform and the kernel is yours. The company Slowpoke is built for often has something less tidy: three or four VMs at a European host, nginx in front of PHP-FPM, a MySQL somebody set up in 2021, a Redis nobody remembers adding, and one Django service off to the side. Sometimes the kernel is old and eBPF is not on the table at all.

So Slowpoke discovers by reading, not by tracing. slowpoke-agent detect opens the nginx configuration, the PHP-FPM pool definitions, the database sockets and the application directories, and writes its own configuration from what it finds — including which framework each application uses. It needs no privileges beyond reading files.

A map is the beginning of the question, not the answer

Both tools will tell you that api-2 talks to db-1 and that the latency is bad. The useful next step is the one that decides your Thursday: which statement, how often, what does it cost, and what do I change.

Slowpoke answers all four. It identifies the statement, normalises and fingerprints it, counts every execution, multiplies by duration to get seconds of waiting per day, runs EXPLAIN next to the database in a read-only transaction, and reports in plain words: a full table scan on orders reading 1,204,338 rows to return 20, with the composite index that would make it 24.

Then it names the line of code. With a framework package, every query carries OrderController.php:42 — never a file inside vendor/.

And then somebody has to actually do it

Neither eBPF nor a service map has ever caused a pull request to be opened. Slowpoke's last act is to turn the top of the list into missions with an owner, an estimate and a finish line, and to refuse to close one until the measured cost has stayed down for three windows. A deploy that doubles a cost becomes a boss linked to that commit. The team gets a score that moves.

It is also readable by the assistant your team already uses: missions are exposed over MCP, so Claude Code, Cursor, Codex or Copilot can read the query, the plan, the file and the line and open the pull request.

Can you run both?

Yes, if you have both kinds of infrastructure — which many companies do. Coroot for the Kubernetes side, Slowpoke for the VMs, the databases and the priced backlog. They read different things and neither sits in your request path.

FAQ

Slowpoke and Coroot, asked plainly

Does Slowpoke use eBPF?
No. It reads files, database statistics and /proc, which means it needs no privileged kernel access and works on old kernels and managed hosts where eBPF is not available.
Does Slowpoke draw a service map like Coroot?
It draws one, built differently. Every machine is a box with the services inside it, each connection is traced back to the process that opened it, and an edge such as Cloudflare is drawn in front. It comes from reading the machines rather than from kernel tracing, and you can rename anything and rearrange it by hand.
Which one should I use on Kubernetes?
For the map and service-level latency in a cluster, Coroot is the better fit and we would say so. Slowpoke still adds the query plans, the code origins and the priced backlog on top.
Does Slowpoke do continuous profiling?
No. It reads the php-fpm slow log, which tells you where PHP workers stall down to the file and line, but there is no continuous CPU profiler.

Find out what you inherited

Fifteen minutes on one server, and the first number is yours — it costs nothing to find out.