Prometheus中Cardinality(基数)概念及标签关联场景计算疑问
Prometheus指标基数(Cardinality)的计算逻辑
Prometheus中的基数指的是某个指标下存在的唯一时间序列总数,时间序列的唯一性由「指标名+所有标签的组合」共同决定,所以基数的核心计算依据是实际存在的唯一标签组合数量,而非单个标签唯一值数量的理论乘积。
针对你提到的场景,分情况说明:
- 若
label_a的26个值和label_b的26个值完全独立,所有可能的标签组合(比如label_a=1对应label_b=a/b/.../z,以此类推)都存在,此时基数为26*26=676; - 若
label_a和label_b严格一一对应(比如label_a=1仅对应label_b=a,label_a=2仅对应label_b=b,直到26对应z),实际存在的唯一标签组合只有26个,此时基数就是26; - 其他中间情况:比如部分组合存在、部分不存在,基数就等于实际生成的唯一标签组合的具体数量。
简言之,基数不是标签值数量的理论乘积,而是实际运行中真实存在的唯一标签组合数。
内容的提问来源于stack exchange,提问作者BeeOnRope
相关产品推荐
相关产品推荐

