0/ When large eng orgs rely on metrics for both monitoring *and* observability, they struggle with cardinality.
This is a thread about “the two drivers of cardinality.” And which one of those we should kill. :)
🧵👇
1/ Okay, first off: “what is cardinality, anyway?” And why is it such a big deal for metrics?
“Cardinality” is a mathematical term: it’s *the number of elements in a set*... boring! So why tf does anybody care??
Well, because people think they need it, then suddenly, "$$$$$$$."
2/ When a developer inserts a (custom) metric to their code, they might think they’re just adding, well, *one metric*. …
3/ … But when they add “tags” to that metric – like
, , or (shiver) – they are actually creating a *set* of metric time series, with the *cardinality* of that set being the total number of unique combinations of those tags.
4/ The problem is that some of those tags have many distinct values.
E.g., when I was working on Monarch at Google, there was a single gmail metric that became over 300,000,000 (!!!) distinct time series. In a TSDB, that cardinality is the unit of cost.
So again, “$$$$$$$.”