Metric Cardinality
মেট্রিক কার্ডিনালিটি
একটা metric-এর label set যতগুলো distinct value-combination নিতে পারে তার সংখ্যা — প্রতিটা combination Prometheus-এ একটা আলাদা time series।
also: cardinality explosion, label cardinality, high-cardinality label
metric_name{label1=v1, label2=v2, ...} -- এক combination = এক time series
cardinality = |values(label1)| x |values(label2)| x ...
- বিপদ metric-সংখ্যায় না, একটা label-এর distinct value-সংখ্যায় —
pod_name-এর মতো unbounded label একাই কয়েক লক্ষ series তৈরি করতে পারে - Kubernetes-এ Pod disposable (নতুন rolling deploy/autoscale মানেই নতুন নাম) — তাই raw
pod_namelabel-এ রাখলে সময়ের সাথে cardinality কার্যত unbounded - নিরাপদ বিকল্প:
deployment_name/namespace-এর মতো স্থিতিশীল identity — সমষ্টিগত health-এর জন্য যথেষ্ট, series-বিস্ফোরণ ছাড়াই - Prometheus-এর
sample_limitআর backend-এর cardinality-analysis টুল (যেমন Mimir) deploy-এর আগেই এই সমস্যা ধরতে সাহায্য করে