Laws of Software Engineering · Principle
Principle
Observability
You cannot run, fix, or improve what you cannot see. Build systems that explain themselves.
How to use it. For every important behaviour, ask "how would I know this is happening". If the answer is "I would not", add logs, metrics, or traces. Treat observability as a feature and build it in from the start.
How it gets misused. Confused with monitoring. Monitoring tells you when known things go wrong. Observability lets you ask new questions of the system after the fact, including ones you did not think to ask in advance.
Related
- Principle Feedback Loops Every system improves at the rate of its slowest feedback loop. Shorten the loops between action and outcome.
-
Principle Blameless Retrospectives When something goes wrong, look at the system that allowed it, not the person who triggered it.