mAPI-ng
Incident diagnosis for Go APIs
- The system
- An API slows down in production. The observability stack in place shows everything and explains nothing: on every incident the team spends its time reading graphs instead of fixing things.
- The clarification
- The real question is not “what do the metrics show?” but “what is the most likely cause, and what would rule it out?”. A diagnosis with no refutation criterion is just a well-presented opinion.
- The solution
- Classify causes into eight families, and never propose one without the evidence supporting it and the line stating what would prove it wrong. When nothing explains the anomaly, say so: “cause not attributed”, rather than invent a reassuring story.
- The tool
- Only then the tooling: in-process DDSketch aggregation, compact summaries in ClickHouse, one environment variable to instrument. The architecture follows from the reasoning, not from a stack preference.
