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, “$$$$$$$.”
5/ Okay, so that’s why people care about metrics cardinality. Now, what are the two *drivers* of that cardinality?

A) Monitoring: more detailed *health measurements*
B) Observability: more detailed *explanations of changes*

Let’s take these one at a time…
6/ First, “More Detailed Health Measurements” (monitoring):

Consider an RPC metric that counts errors. You need to independently monitor the error rate for different methods. And so – voila – someone adds a “method” tag, and now there’s 10x the cardinality for that metric.
7/ … And also 10x the cost. But that’s justifiable, as there’s a business case for independently monitoring the reliability of distinct RPC methods.

Put another way, you might rightly have different error budgets for different RPC methods, so their statistics must be separable.
8/ Bottom line: When it comes to “measuring health,” we often *need* cardinality in order to hone in on the signals we actually care about. Increasing cardinality to *proactively* monitor the signals we care most about is usually a worthwhile tradeoff.
9/ Now what about using cardinality for “More Detailed Explanations of Changes?”

This is the real culprit! And, frankly, should be abolished. :) Metrics cardinality is the wrong way to do observability – to explain changes.

More on that…
10/ Say your monitoring tells you that there’s a problem with a critical symptom – e.g., you’re suddenly burning through an SLO error budget at an unsustainable clip.
11/ After a painful outage, say you realize a single customer DOSed your service. So someone adds a `customer` tag “for next time.”

But this is unsustainable: each incident reveals a new failure mode, devs keep adding tags, and before long your metrics bill is out of control.
12/ The problem, in a nutshell:

Distributed systems can fail for a staggeringly large number of reasons. *You can't use metrics cardinality to isolate each one.*
13/ How *should* we explain changes to production systems?

Understanding change is the central problem of observability. Effective workflows might *start* with metrics, but they must pivot towards a multi-telemetry, multi-service guided analysis.
14/ So, to sum up: spend your limited cardinality budget on *monitoring*, and then look for observability that (a) naturally explains changes and (b) relies on transactional data sources that do not penalize you for high/unbounded cardinality.
15/ PS: For more on how to distinguish monitoring and observability, see this thread: https://t.co/2RHs36Nknc

PPS: If you’d like to discuss/debate/request-more-detail any of the above, reply to this thread or DM me!

More from Society

A long thread on how an obsessive & violent antisemite & Holocaust denier has been embraced by the international “community of the good.”

Sarah Wilkinson has a history of Holocaust denial & anti-Jewish hatred dating back (in documented examples) to around 2015.


She is a self-proclaimed British activist for “Palestinian rights” but is more accurately a far Left neo-Nazi. Her son shares the same characteristics of violence, racism & Holocaust denial.

I first documented Sarah Wilkinson’s Holocaust denial back in July 2016. I believe I was the 1st person to do so.

Since then she has produced a long trail of written hate and abuse. See here for a good summary.


Wilkinson has recently been publicly celebrated by @XRebellionUK over her latest violent action against a Jewish owned business. Despite many people calling XR’s attention to her history, XR have chosen to remain in alliance with this neo-Nazi.

Former Labour Shadow Chancellor John McDonnell MP is among those who also chose to stand with Wilkinson via a tweet.

But McDonnell is not alone.

Neo-Nazi Sarah Wilkinson is supported and encouraged by thousands of those on the Left who consider themselves “anti-racists”.
Imagine if Christians actually had to live according to their Bibles.


Imagine if Christians actually sacrificed themselves for the good of those they considered their enemies, with no thought of any recompense or reward, but only to honor the essential humanity of all people.

Imagine if Christians sold all their possessions and gave it to the poor.

Imagine if they relentlessly stood up for the widow, the orphan, and the foreigner.

Imagine if they worshipped a God whose response to political power was to reject it.

Or cancelled all debt owed them?

Imagine if the primary orientation of Christians was what others needed, not what they deserved.

Imagine Christians with no interest in protecting what they had.

Imagine Christians who made room for other beliefs, and honored the truths they found there.

Imagine Christians who saved their forgiveness and mercy for others, rather than saving it for themselves.

Whose empathy went first to the abused, not the abuser.

Who didn't see tax as theft; who didn't need to control distribution of public good to the deserving.
@Suman68082748 @thetwinkwolff @x_karran_x @Sunil9130 Lets stop the criticism guys. The lad is good. Losses happen. Losses to unranked players happen too. As do wins vs top 10ers. Let's accept both. Remember Sumit and the likes of him are the best we have. See the bigger picture please.

@thetwinkwolff @x_karran_x @Sunil9130 When the Europeans or South Americans were getting quality practice and tourneys week in week out at reasonable costs, our kids were playing on dung courts or learning outdated serve and volley on grass. Appreciate the fact that the last 10 years have been a hell lot better than

@thetwinkwolff @x_karran_x @Sunil9130 the 10 before that. Real change can't come in a day or even in 10 years. So let's grit our teeth and bide our time till we have an organic self sustaining system in place.

@siyer30 @SportaSmile @Cric_Writer @RomilShukla @amanthejourno

@thetwinkwolff @x_karran_x @Sunil9130 @siyer30 @SportaSmile @Cric_Writer @RomilShukla @amanthejourno Tennis is my favourite sport in the universe. Has always been. Will always be. I was in love with Steffi and Pete a lot before I fell for Sachin. And while I would love every toddler in my family to play sports professionally, I won't encourage them to pursue my favourite sport.

@thetwinkwolff @x_karran_x @Sunil9130 @siyer30 @SportaSmile @Cric_Writer @RomilShukla @amanthejourno It will be career suicide. In other sports, I can actually plan for my ward to be the next Lin Dan or the next Tiger Woods or the next Schumacher even from a base in India. With tennis, in 2020 I can't do that realistically. Just doesn't adds up. Even for total freaks of nature.

You May Also Like

12 TRADING SETUPS which experts are using.

These setups I found from the following 4 accounts:

1. @Pathik_Trader
2. @sourabhsiso19
3. @ITRADE191
4. @DillikiBiili

Share for the benefit of everyone.

Here are the setups from @Pathik_Trader Sir first.

1. Open Drive (Intraday Setup explained)


Bactesting results of Open Drive


2. Two Price Action setups to get good long side trade for intraday.

1. PDC Acts as Support
2. PDH Acts as


Example of PDC/PDH Setup given