Skip to content

Commit 0972a22

Browse files
docs: add real-world diagnosis example and limitations to README (#15)
- Real-World Diagnosis: anonymized production server (health=46/100) showing the cascade HDD → reclaim → tcp_prune → retransmits → VPN drops - Comparison table: manual debugging vs melisai - Limitations: honest about scope (not monitoring, no alerting, no history, system-level only, NVIDIA only) Co-authored-by: dmitriimaksimovdevelop <227611064+dmitriimaksimovdevelop@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 0b8c862 commit 0972a22

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,38 @@ $ sudo melisai collect --profile quick -o report.json
4949

5050
---
5151

52+
## Real-World Diagnosis
53+
54+
One command. 60 seconds. Here's what melisai found on a production Docker host (8 CPUs, 32 GB RAM, HDD RAID):
55+
56+
```
57+
Health Score: 46 / 100
58+
59+
Anomalies (6):
60+
[CRITICAL] tcp_retransmits 134/sec
61+
[WARNING] disk_utilization 80.5%
62+
[WARNING] cpu_psi_pressure 17.6%
63+
[WARNING] io_psi_pressure 12.8%
64+
[WARNING] disk_avg_latency 12.1ms
65+
[WARNING] tcp_close_wait 1 socket
66+
```
67+
68+
**What melisai found that manual debugging wouldn't:**
69+
70+
The root cause chain — HDD latency (p99=49ms) caused page reclaim pressure (`PruneCalled=105`), which made the kernel prune TCP buffers, triggering 31 retransmits/sec, and cascading into 226K dropped packets on the WireGuard tunnel. Four separate symptoms, one root cause.
71+
72+
| What | Manual | melisai |
73+
|------|--------|---------|
74+
| Find the cascade: HDD → reclaim → tcp prune → retransmits → VPN drops | Requires years of kernel experience | Automatic — 37 rules check it all |
75+
| Know to check `PruneCalled` in `/proc/net/netstat` | You have to know it exists | Collected and evaluated automatically |
76+
| Identify the process eating 245% CPU + 8.6 GB RAM | `top` shows it, but not in context | Correlated with health score and anomalies |
77+
| Collect 17,330 stack traces for flame graph | `perf record` + manual setup | Included in one `--profile deep` run |
78+
| Get copy-paste sysctl fixes with evidence | Google + trial and error | 7 recommendations with exact commands |
79+
80+
**The diagnosis:** server outgrew its hardware. SSD would fix 80% of the problems. The other 20% is workload sizing.
81+
82+
---
83+
5284
## Who Is This For?
5385

5486
- **SRE / DevOps** — "server is slow, find out why" in one command
@@ -382,6 +414,19 @@ Please open an issue first to discuss significant changes.
382414

383415
---
384416

417+
## Limitations
418+
419+
Being honest about what melisai is **not**:
420+
421+
- **Not a monitoring system.** It's a diagnostic tool — you run it when something is wrong (or to validate that everything is right). For continuous monitoring, use Prometheus/Grafana/Datadog alongside melisai.
422+
- **No historical trends.** melisai captures a point-in-time snapshot. It can't tell you "retransmits spiked yesterday at 3 PM."
423+
- **No alerting.** It doesn't run as a daemon or send notifications. Use it on-demand or via cron + MCP.
424+
- **BCC tools need kernel headers.** Some distros require `linux-headers-$(uname -r)` for Tier 2 tools. Tier 1 always works.
425+
- **System-level only.** melisai sees *that* a process uses 245% CPU, but not *why* inside the application. For app-level profiling, use pprof/async-profiler on the process melisai identified.
426+
- **NVIDIA GPUs only.** AMD ROCm support is on the roadmap but not implemented yet.
427+
428+
---
429+
385430
## License
386431

387432
[Apache License 2.0](LICENSE)

0 commit comments

Comments
 (0)