Slowpoke vs the Grafana stack

Nobody was ever fired for choosing Grafana, and you can build almost anything on it. The cost is that you have to. Slowpoke ships one opinion instead of a canvas, and is useful before lunch.

The short answer

Which one you should pick

This is a choice between a toolkit and a tool. Both are free; what differs is how much of the work is already done, and who has to do the rest.

Choose the Grafana stack if

You want a platform you can shape

  • You already run Prometheus, and Grafana is where your team looks by habit.
  • You need one place for infrastructure metrics, logs and traces across a large estate.
  • You have specific dashboards and alerts in mind, and someone with time to build them.
  • You want alerting with routing, silences and escalation, which Slowpoke does not have.

Choose Slowpoke if

You want an answer this afternoon

  • You have just arrived, and building a dashboard assumes knowledge you do not have yet.
  • You want slowness priced in one unit rather than spread across four data sources.
  • You want EXPLAIN plans and the line of code, which no exporter provides.
  • You want the findings to become work with an owner and a finish line.
  • You would rather run one binary than four services and a storage plan.

Side by side

Slowpoke and the Grafana stack, line by line

Written to be fair, including where the Grafana stack 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 Slowpokethe Grafana stack
What it isAn opinionated answerA toolkit you assemble
Price€0€0 self-hosted
Services to runOne, plus a databaseGrafana, Prometheus, Loki, Tempo and their storage
Before the first answerAbout 15 minutesExporters, scrape configs, dashboards, instrumentation
Discovers the estate for youReads sites, pools, databases, caches, apps and frameworksYou configure every target
Prioritised for youOne list, in seconds of waiting per dayWhatever you chose to plot
Query plans with a fixReal EXPLAIN, twelve named diagnoses
Code origin of a queryFile and line, via framework packages
Report for non-engineersEffort, return per hour, budget, DORAA dashboard you design
Work that verifies itselfMissions closed by measurement
FlexibilityOne opinion, deliberatelyEssentially unlimited
Alerting and routingDigests and deploy verdicts onlyAlertmanager, routing, silences
Logs at scaleNeverLoki

Assembly is the real price of a free stack

The Grafana stack costs nothing to license and a great deal to put together. Exporters on every host, scrape configuration, retention and storage decisions, a tracing backend if you want traces, instrumentation in the applications to feed it, then the dashboards — and dashboards encode what you already believe matters.

That is a fine investment for a platform team with a long horizon. It is the wrong investment for someone in month one who has been asked, this week, why the checkout is slow and what it would cost to fix. Slowpoke is a single command per machine and a list fifteen minutes later.

A dashboard shows you a shape. It does not rank anything.

Suppose Grafana is up and the graphs are good. You now have request rate and latency per endpoint from one exporter, query statistics from another, PHP-FPM pool metrics from a third, and queue depth from a fourth — four panels, four different units, no way to say which of them is the expensive one.

Slowpoke's whole design starts from that problem. Everything it observes is converted to seconds of waiting per day: duration multiplied by how often the thing actually happens, divided by the period genuinely observed rather than a fixed week. Then it deduplicates — one request seen by nginx and by OpenTelemetry is one request, one statement reported by an ORM and by its driver is one statement — and sorts. What comes out is a ranking, not a wall.

The things exporters structurally cannot give you

No Prometheus exporter will hand you a query plan. Slowpoke runs real EXPLAIN next to the database, in a read-only transaction, only on statements already seen on that machine, and reports twelve named diagnoses in plain words with the fix: the composite index to add, the varchar column being compared with an integer so the index cannot be used, the OFFSET 48,000 that wants a keyset cursor.

No exporter will tell you the file and line either. Slowpoke's framework packages do, at 2.0 µs per query in Laravel.

Can you run both?

Yes, and it is easy: Slowpoke reads Prometheus and StatsD, so your existing counters, gauges and timers land in the same list as everything else, on the same scale. Keep Grafana for infrastructure and alerting; let Slowpoke own the performance backlog.

FAQ

Slowpoke and Grafana, asked plainly

Can Slowpoke replace Grafana?
No, and it does not try. Grafana is a visualisation and alerting platform over any data source. Slowpoke answers one question about performance debt. If you need dashboards over arbitrary metrics, keep Grafana.
Can Slowpoke read my Prometheus metrics?
Yes. It reads Prometheus and StatsD, so your own counters, gauges and timers appear next to endpoints, queries and jobs on the same scale.
Does Slowpoke need Prometheus?
No. It reads access logs, slow logs, database statistics and /proc directly. Prometheus is an optional extra source.
Does Slowpoke have alerting?
Not in the Alertmanager sense. It sends a weekly digest and a verdict on each deploy to Slack, Discord, Teams, Telegram or a webhook. For routing, silences and escalation, keep what you have.

Find out what you inherited

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