High-cardinality labels (e.g., userId) explode metric series. Avoid them in metrics, use aggregation or bucketing, and move per-entity details to logs or traces.
Cardinality drives storage cost and query performance:
Bad vs good labels:
Bad: user_id=123456, request_id=... (explodes series)
Good: status=500, region=eu-west, route=/checkout