---
title: "What you're billed for | Grafana Labs"
description: "Cardinality, time series, active series, and how metrics billing works"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

## What’s cardinality?

**Cardinality** is the number of distinct values an attribute can have. In observability, it determines how many unique series and streams your labels create, and that number can significantly impact your cost and performance.

## What you’re actually billed for

A common misconception is that metrics billing is per metric name. It isn’t. A **time series** is a metric name plus one unique combination of label key-value pairs, and each series that receives data within the last 20 minutes counts as an **active series**. Grafana Cloud bills metrics on the 95th percentile of your active series count over the billing period, so one metric name with many label combinations can cost far more than dozens of well labeled metrics. The 95th percentile means the top 5% of your usage measurements are excluded before billing, so a brief spike doesn’t set your bill, but a level you sustain does. For example, if you normally run 6,000 active series but spike to 30,000 for 24 hours, you’re still billed close to the 6,000-series rate, because the 24 hour spike is within the forgiven top 5% of the month.

Logs work the same way structurally, though cost attribution is different because it’s purely based on the volume of data processed and ingested. The logs that share one unique label combination form a **log stream**.

[Anatomy of a time series and a log stream, showing that each unique combination of label values creates one series or stream](series-anatomy.svg "Anatomy of a time series and a log stream, showing that each unique combination of label values creates one series or stream")
