The River Gauge and the Unseen Stone
I remember the summer I spent as a kid, visiting my grandfather’s house by the river. It was a slow, amber-colored season, marked by the steady, hypnotic flow of water over the weir just downstream from his garden. My grandfather wasn’t a tech guy; he was a retired civil engineer who measured the world in cubic feet per second and the patience of stone. And he had a ritual.
Every morning, after breakfast, he would walk down the mossy path to the riverbank and look at the gauge—a simple, weathered ruler mounted on a piling, its numbers fading into the green-stained wood. He’d squint, note the height in a small leather-bound book, and then do something that baffled me. He wouldn’t just look at the gauge. He would watch the water itself. He’d stare at the pattern of the current as it broke over a particular, large stone just below the surface, a stone I could only see on the clearest, driest days.
One morning, the gauge read exactly what it had read the day before. By the numbers, the river was unchanged. “It’s low,” my grandfather said, without looking up from the water. I protested, pointing to the identical reading. He shook his head. “The gauge says it’s the same height. But watch the stone. See how the water parts around it? The V is sharper today. The pull is weaker. The river is tired. Something’s changed upstream.”
That moment has stuck with me for decades, and it surfaces every time I’m staring at a dashboard full of green checkmarks. The gauge was our uptime monitor. It answered the binary question: “Is the river present?” with a reliable yes. But my grandfather was practicing observability. He was interpreting the internal state of the system—the river—based on its external outputs—the behavior of the water. The gauge gave him a single data point; the stone gave him the context.
The Deception of the Steady State
Our services are like that river. A /health endpoint can return a 200 OK, ticking the box for uptime, while the currents within are subtly shifting. A cache might be slowly poisoning itself with stale data. A downstream dependency might be responding, but with a latency tremor that’s the equivalent of a ‘sharper V’ in the water—a sign of growing pressure. The system is officially “up,” but it is no longer well.
We build these elaborate gauges—synthetic transactions, pings, heartbeats—and we trust their singular, binary verdict. But they are, by their nature, simplistic. They are designed to measure one thing, and they do it well. The danger is in mistaking that one thing for the whole truth. My grandfather knew the river wasn’t just its height; it was its speed, its temperature, the silt it carried, the sound it made. To him, the gauge was a convenience, but the stone was the truth.
I think the art of running reliable services isn’t just in installing more gauges. It’s in learning to watch the stones. It’s in developing that intuitive sense for the system, cultivated by observing the nuanced symptoms: the slightly different error message buried in the logs, the percentile latency that creeps when the median holds steady, the cache-hit ratio that dips just a fraction. These are the sharpened V’s in our own systems. They are the signs that the river is tired, that something has changed upstream, long before the gauge finally, catastrophically, drops to zero.
My grandfather’s lesson was that true reliability isn’t just about preventing the river from drying up. It’s about understanding its flow so deeply that you can feel the drought coming. You stop just checking if it’s there, and you start knowing how it’s feeling. And that requires looking past the gauge, into the moving water.
Notes & further reading
A few pages I came back to while writing this:
- Elk Grove, CA
- The Hum of the Icebox: A Quiet Meditation on Ambient Reliability
- Fontana, CA
- The Baker's Windowpane Test and the Truth of Elastic Sockets
- Fremont, CA
- The Gardener's Refrain: Why We Prune Away Perfectly Healthy Branches
- Fresno, CA
- Fullerton, CA
- Garden Grove, CA
- Glendale, CA
- Hayward, CA
- Huntington Beach, CA
- Irvine, CA