Slowpoke vs SigNoz

SigNoz is the answer most people give when you ask for a self-hosted Datadog replacement, and it deserves it. It is also a place to put telemetry and ask questions of it. Slowpoke is the opposite shape: it asks the question for you and hands back a list.

The short answer

Which one you should pick

Both are free and self-hosted, so this is not about price. It is about whether you want a platform to build on or an answer to act on.

Choose SigNoz if

You want a telemetry platform you control

  • You are already emitting OpenTelemetry, or you are happy to instrument everything with it.
  • You want traces, logs and metrics correlated in one place, with a query builder over them.
  • You want to build your own dashboards and alerts, and you have someone to run ClickHouse.
  • You need distributed tracing across many services โ€” genuinely the thing Slowpoke does not do.

Choose Slowpoke if

You want the answer, not the data

  • You have not instrumented anything, and you would rather not start with a month of OpenTelemetry work.
  • You do not want to operate a ClickHouse cluster to find out why checkout is slow.
  • You need the file and line behind each query โ€” which OpenTelemetry auto-instrumentation does not give you.
  • You want the findings prioritised in business terms and turned into work that closes itself.
  • You have three VPSes and a managed MySQL, not a service mesh.

Side by side

Slowpoke and SigNoz, line by line

Written to be fair, including where SigNoz 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 SlowpokeSigNoz
What it isA priced, ordered backlog of performance workA telemetry store with an APM interface
Price€0€0 for the open source core
What it costs to runOne 21 MB binary, SQLite or PostgreSQLClickHouse, and the disk and memory it wants
Before the first answerOne command per machine, about 15 minutesInstrument your services with OpenTelemetry
Works with no instrumentationYes: access logs, slow logs, DB statistics, /procLittle to show without OTel
Maps what you inheritedReads sites, pools, databases, caches, apps and frameworksShows what you instrumented
Says what it cannot seeYes, with the lines that fix it
Prioritised for youSeconds of waiting per day, one listCharts and a query builder
Code origin of a queryFile and line, via framework packagesAuto-instrumentation points into vendor/ or sends nothing
Query plans with a fixReal EXPLAIN, twelve named diagnosesQuery spans, no plan
Work that verifies itselfMissions closed by measurement
Distributed tracingNot its jobFull trace waterfalls across services
Logs and metrics platformCustom metrics onlyLogs, metrics, traces, alerting

The instrumentation you have to do first

SigNoz is OpenTelemetry-native, which is its great strength and also the bill you pay up front. Until your services emit OTel, there is not much to look at, and instrumenting a real estate โ€” several languages, some of them old โ€” is not an afternoon.

Slowpoke starts from what your servers already write. Access logs, the php-fpm slow log, the MySQL slow log and performance_schema, pg_stat_statements, Redis, /proc. Zero lines of application code changed, and the first priced items appear within fifteen minutes. OpenTelemetry is supported โ€” the agent receives OTLP directly โ€” but it is an upgrade, not a prerequisite.

What we learned trying to get code origins out of OpenTelemetry

This is worth saying plainly, because it cost us a lot of time. OpenTelemetry auto-instrumentation does not give a usable query origin in any language we tested. In Laravel the spans point into vendor/. In Python, Node and Go, nothing usable comes through at all. SQLAlchemy with psycopg2 nests two spans per statement. otelhttp sends no http.route. Laravel's instrumentation sends routes without a leading slash.

So "the slow query is in your code somewhere" is where an OTel-only tool leaves you. Slowpoke ships its own framework packages to close that gap: the Laravel package gives the file and line of every query for 2.0 ยตs per query โ€” 0.10 ms on a request with fifty of them โ€” with no OpenTelemetry SDK and no PHP extension. You can reproduce the number with ./bin/bench.

A store answers questions. Slowpoke asks them for you.

SigNoz will faithfully answer any question you know how to ask. That is exactly right when you understand the system and are investigating something specific.

The person Slowpoke is built for does not know what to ask yet. They started three weeks ago, they have been told the app is slow, and they need to walk into a planning meeting with an ordered list and a price. So Slowpoke ships one opinion โ€” cost is duration multiplied by frequency, measured in seconds of waiting per day โ€” applies it to endpoints, queries, jobs and scheduled commands alike, deduplicates so nothing is counted twice, and sorts.

Then it does the part a store structurally cannot: it turns the top of that list into missions with an owner and a finish line, and closes them only when the measured cost has stayed down for three windows.

Can you run both?

Yes, and they do not overlap much in practice. If you already run SigNoz, keep it for tracing and logs and let Slowpoke do prioritisation and the database work โ€” the Slowpoke agent can receive the same OTLP you are already emitting, so you are not instrumenting twice. Slowpoke also reads Prometheus and StatsD.

FAQ

Slowpoke and SigNoz, asked plainly

Is Slowpoke an alternative to SigNoz?
Only partly, and they are more complementary than rival. SigNoz stores and queries telemetry; Slowpoke produces a prioritised list of performance debt with prices and fixes. If what you want is trace search and a query builder, use SigNoz.
Do I need OpenTelemetry to use Slowpoke?
No. Slowpoke reads access logs, slow logs, database statistics and the machine itself, so it works with no instrumentation at all. OTLP is supported and adds routes and queries per route, and framework packages add the file and line.
Does Slowpoke need ClickHouse?
No. SQLite or PostgreSQL, and SQLite is a real option for a small estate. The server image is 21 MB.
Does Slowpoke do distributed tracing?
No. There is no trace waterfall and no cross-service trace search. If you need to follow one request through eight services, that is what SigNoz is for.

Find out what you inherited

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