Files
nexus/sreweekly/markdown/271/05-what-is-observability.md
2026-09-12 17:23:01 +08:00

43 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# What is Observability
- **期号**: SRE Weekly Issue #271(2021-05-23)
- **作者**: Brendan Gregg
- **链接**: http://www.brendangregg.com/blog/2021-05-23/what-is-observability.html
## 简介
A new spin: this one makes the distinction between “experimental tools” that affect the state of the system, and “observability tools” that are read-only.
## 正文
It's a made-up computer word that my word processor decorates with a wiggly red you-can't-spell line. At least it did until I clicked "Add to Dictionary" (it got too annoying as I was writing a book on computer observability). Some people abbreviate it as o11y.
Observability: The *ability* to *observe*.
Observe-ability. Observability.
In computer engineering we use it to describe the tools, data sources, and methods for understanding (observing!) how a technology is operating. We don't use the *real* word "observable" since that implies the wrong thing. Imagine "observable metrics": Are there metrics that *aren't* observable?
Using observability in sentences:
- What observability tools are installed? (Means: What tools exist that only read state?)
- What observability does that database have? (Means: What metrics and logs does it have?)
- How do you do observability? (Means: What products do you use for metrics, tracing, etc.?)
- Let me try some observability first. (Means: Let me look at the system without changing it.)
Wait, aren't all performance tools observability tools? No. *Experimental* tools change the state of the system to understand it. For example, benchmarks.
As an analogy, a car's dashboard is a collection of observability tools that let you understand how the car is operating (speed, rpm, temperature). A car's 0-60 mph time is an *experiment*.
When I was a performance consultant I'd show up to random companies who wanted me to fix their computer performance issues. If they trusted me with a login to their production servers, I could help them a lot quicker. To get that trust I knew which tools looked but didn't touch: Which were observability tools and which were experimental tools. "I'll start with observability tools only" is something I'd say at the start of every engagement.
Note that observability tools aren't completely harmless: Their execution consumes resources, usually negligible, but in some cases it's enough to perturb the target of study. This is the "observer effect."
Another use of the term observability is as a reminder to switch between tool types, and not to get stuck on one. A colleague (Roch Bourbonnais from memory) once told me:
"You have two hands. Observability and experimentation."
It stuck with me as it also makes the point that when you're only using one type to solve a performance problem **you're working one-handed**.
Click here for Disqus comments (ad supported).