Bimodality: why there is no middle
Why is there no gradual middle between healthy and broken, and what should you monitor instead?
The absence of a gradual middle is not an observation. It is a requirement of the structure. Three fixed points (states that stay as they are) exist:
- Healthy: stable.
- Broken: stable.
- A threshold between them, which is an unstable fixed point, a repellor. A system nudged off it accelerates away in whichever direction it was nudged. You cannot rest there, so you never observe it. (Picture a ball balanced on top of a hill between two valleys.)
The jump is supplied by thresholds. A timeout either trips or does not. A retry either fires or does not. A queue's delay either exceeds T or does not. A connection pool is either exhausted or not. Each of these makes k a step function of latency instead of a smooth function, and step functions inside a feedback path are what produce bistability.
What this means for monitoring
Latency-based alerting has zero lead time on a bistable failure. There is no ramp to detect. The system is green, then it is broken, and the transit time is the loop delay. Tighter latency thresholds cannot fix this, because the healthy state is genuinely healthy right up to the transition. That is what "stable" means.
What does carry lead time is k itself, because k rises before the transition and can be measured while the system is healthy. Good measures of k:
- the retry rate as a fraction of all requests,
- the cache hit ratio,
- queue depth relative to λ × D_target,
- goodput as a fraction of throughput,
- connection pool wait time.
These tell you how wide your vulnerable band is now. Monitor the amplification, not the symptom. The price is that these are leading indicators with poor precision. They will be elevated during periods that never lead to a transition, and you will be paged for a vulnerability, not for an outage.