---
title: "Use Adaptive Metrics to reduce cardinality | OpenTelemetry documentation"
description: "How to use Adaptive Metrics to reduce cardinality"
---

# Use Adaptive Metrics to reduce cardinality

[Adaptive Metrics](/docs/grafana-cloud/cost-management-and-billing/reduce-costs/metrics-costs/control-metrics-usage-via-adaptive-metrics/) helps you address increased cardinality and lower your Grafana Cloud costs.

[Set up the Adaptive Metrics HTTP API](/docs/grafana-cloud/cost-management-and-billing/reduce-costs/metrics-costs/control-metrics-usage-via-adaptive-metrics/adaptive-metrics-api/) and [upload](/docs/grafana-cloud/cost-management-and-billing/reduce-costs/metrics-costs/control-metrics-usage-via-adaptive-metrics/adaptive-metrics-api/#upload-new-aggregation-rules) the following aggregation rules to add the `collector_id` label to exported metrics:

JSON ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```json
{
  "rules": [
    {
      "metric": "traces_spanmetrics_latency_sum",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_spanmetrics_latency_count",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_spanmetrics_latency_bucket",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_spanmetrics_calls_total",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_spanmetrics_size_total",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_service_graph_request_total",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_service_graph_request_failed_total",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_service_graph_request_server_seconds_sum",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_service_graph_request_server_seconds_count",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_service_graph_request_server_seconds_bucket",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_service_graph_request_client_seconds_bucket",
      "drop_labels": ["collector_id", "namespace", "source"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_service_graph_request_client_seconds_sum",
      "drop_labels": ["collector_id", "namespace", "source"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "traces_service_graph_request_client_seconds_count",
      "drop_labels": ["collector_id", "namespace", "source"],
      "aggregations": ["sum:counter"]
    },
    {
      "metric": "target_info",
      "drop_labels": ["collector_id"],
      "aggregations": ["sum:counter"]
    }
  ]
}
```
