How It Works
In monitoring systems, a metric consists of a name and a set of key-value pairs known as labels. Each unique combination of these labels creates a distinct time series. For example, if a metric for "http_requests" has labels for "method" (GET, POST) and "status" (200, 404), it can produce multiple combinations: "GET/200," "GET/404," "POST/200," and "POST/404." As the number of labels and their possible values increase, so does the cardinality, leading to a larger number of time series.
High cardinality can significantly impact performance. Storing and querying vast amounts of time series data demands more resources, which can lead to slower responses in monitoring and alerting systems. When dashboards use high-cardinality metrics, users may experience delays in retrieving data and insights. As a result, it is essential to strike a balance between the granularity of monitoring and the performance implications of managing many unique series.
Why It Matters
In an operational context, managing metrics cardinality effectively helps organizations control costs and improve system performance. High storage costs can strain budgets, while degraded query performance can hinder timely decision-making. By understanding and optimizing metrics cardinality, teams can ensure their observability tools remain responsive and useful, ultimately improving incident response and system reliability.
Key Takeaway
Balancing metrics cardinality is essential for optimizing performance and controlling costs in observability systems.