(while reminding myself that it's a measure of success for people to take the things you arrived at through blood sweat and tears and consider them "things everybody knows and says")
* metrics are trivially derived from it
* logs are a sloppy version of it
* traces are a visualization of it
or you can just store it in arbitrarily-wide structured data blobs at the origin, and store it once. ob$ervability.
thought viruses are powerful tho i guess
* context is everything; the blob knits values together into a single event
* context lets you reason about your systems in ways that decoupled metrics never can
* observability demands flexible read-time computation, not string searches
* structuring your data allows you to run computations across events
* which rules out the metrics data type (ints with tags), or even any strict indexed schemas
this means you must be able to perform read-time computations across raw structured events. you *cannot* get that shit from metrics and/or logs and/or traces.
OR you buy the "observability is about unknown-unknowns" definition, the one grounded in control theory.
they are actually quite incompatible.
(fuck the three pillars ✊)
peace ✌️