DEV Community

Stop staring at dashboards: Let your Go API diagnose itself

Evidence-backed Diagnosis

mAPI-ng doesn’t just show graphs; it interprets them. It correlates RED metrics (Rate, Errors, Duration) with Go runtime signals, instance health, and downstream IO. When an endpoint fails, it ranks the most likely causes:

  • “Memory / GC pressure (High confidence)”
  • “Downstream IO bottleneck (Medium confidence)”
  • “Goroutine leak detected”

Every diagnosis comes with a “Rules this out” line. If the evidence doesn’t fit, it tells you, avoiding the “AI hallucinations” of black-box tools.

Zero-Config (Almost)

I’m a “Code Alchemist” at heart-I like things that work out of the box. To instrument your app:

  • Two imports.
  • One middleware.
  • One environment variable.

No YAML hell. No Prometheus to manage. It uses ClickHouse for high-performance, compact storage.

Self-hostable & MIT

I believe observability should be a right, not a luxury. The entire stack is MIT licensed and self-hostable with a simple make up. If you prefer the “easy mode”, there’s a hosted version at mapi-ng.com (with a forever-free tier), but you’ll never be locked in.

Try it in 30 seconds

If you have Docker installed, you can see it in action with a sample “leaky” API:

git clone https://github.com/arhuman/maping
cd maping
make local
make generate-traffic

Open localhost:8080 and watch the diagnosis engine work.

I’m looking for feedback from fellow Gophers! Does this approach to “evidence-backed diagnosis” make sense for your workflow? What’s the one thing that always kills your on-call nights? 👇 Let’s talk in the comments!

GitHub: arhuman/maping

Comments

No comments yet. Start the discussion.