{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/",
        "slug": "budget-prometheus-label-values-before-adding-high-cardinality-dimensions",
        "url": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/"
        },
        "title": "Budget Prometheus label values before adding high-cardinality dimensions",
        "summary": "Every distinct label set creates another time series with real operating cost.",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "info",
            "name": "Information"
        },
        "featured": false,
        "image": {
            "theme": "network-infrastructure",
            "label": "Networks & infrastructure",
            "alt": "Resilient network core with engineered blue and gold data paths.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "it",
                "name": "IT",
                "url": "https://update.dsesecurity.com/topic/it/"
            },
            {
                "slug": "networks-infrastructure",
                "name": "Networks & Infrastructure",
                "url": "https://update.dsesecurity.com/topic/networks-infrastructure/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-10-20T18:15:43+00:00",
        "modified_at": "2026-10-20T18:34:33+00:00",
        "reviewed_on": "2026-10-20",
        "reading_minutes": 2,
        "word_count": 245,
        "potentially_affected": "Review labelset cardinality and instrumentation cost using Prometheus's general design guidance.",
        "dse_recommendation": "DSE recommends estimating the possible combinations before adding a label, including growth and values generated by retries or user input.",
        "primary_source": {
            "name": "Prometheus documentation — Instrumentation",
            "url": "https://prometheus.io/docs/practices/instrumentation/",
            "published_on": null,
            "authority": "prometheus.io"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<p>Every distinct label set creates another time series with real operating cost.</p>\n<h2>Source facts</h2>\n<p>Prometheus instrumentation guidance states that each label set adds a time series with memory, CPU, disk and network costs. Large numbers of metrics and label combinations can accumulate quickly. It recommends limiting cardinality and considering other analysis systems when the potential population becomes large.</p>\n<p>Source: <a href=\"https://prometheus.io/docs/practices/instrumentation/\">Prometheus documentation — Instrumentation</a>.</p>\n<h2>Applicability</h2>\n<p>Review labelset cardinality and instrumentation cost using Prometheus&#8217;s general design guidance.</p>\n<h2>DSE recommendation</h2>\n<p>DSE recommends estimating the possible combinations before adding a label, including growth and values generated by retries or user input. Keep request identifiers, unrestricted paths, and other effectively unbounded data out of metric dimensions unless a reviewed design justifies them. Use logs or traces where per-event detail is the actual requirement. Assign an owner to the metric’s label contract and review changes during application releases. Preserve the operational question the metric answers so cost reduction does not remove essential diagnostic meaning.</p>\n<h2>Verification</h2>\n<p>In a representative test workload, inspect the resulting series count and distinct values for each proposed label. Compare the observed population with the estimate and exercise an unusual input path. Confirm instrumentation cannot create uncontrolled new values before enabling the dimension across the full production fleet. Retain the proposed value domains and resulting series count with the workload profile. Ask the instrumentation owner to demonstrate the agreed bound under unusual inputs before accepting the label contract across more instances.</p>\n<h2>Official reference</h2>\n<p><a href=\"https://prometheus.io/docs/practices/instrumentation/\">Prometheus documentation — Instrumentation</a>. Reviewed October 20, 2026.</p>",
        "content_text": "Every distinct label set creates another time series with real operating cost.\nSource facts\nPrometheus instrumentation guidance states that each label set adds a time series with memory, CPU, disk and network costs. Large numbers of metrics and label combinations can accumulate quickly. It recommends limiting cardinality and considering other analysis systems when the potential population becomes large.\nSource: Prometheus documentation — Instrumentation.\nApplicability\nReview labelset cardinality and instrumentation cost using Prometheus’s general design guidance.\nDSE recommendation\nDSE recommends estimating the possible combinations before adding a label, including growth and values generated by retries or user input. Keep request identifiers, unrestricted paths, and other effectively unbounded data out of metric dimensions unless a reviewed design justifies them. Use logs or traces where per-event detail is the actual requirement. Assign an owner to the metric’s label contract and review changes during application releases. Preserve the operational question the metric answers so cost reduction does not remove essential diagnostic meaning.\nVerification\nIn a representative test workload, inspect the resulting series count and distinct values for each proposed label. Compare the observed population with the estimate and exercise an unusual input path. Confirm instrumentation cannot create uncontrolled new values before enabling the dimension across the full production fleet. Retain the proposed value domains and resulting series count with the workload profile. Ask the instrumentation owner to demonstrate the agreed bound under unusual inputs before accepting the label contract across more instances.\nOfficial reference\nPrometheus documentation — Instrumentation. Reviewed October 20, 2026.",
        "content_markdown": "Every distinct label set creates another time series with real operating cost.\n\n## Source facts\n\nPrometheus instrumentation guidance states that each label set adds a time series with memory, CPU, disk and network costs. Large numbers of metrics and label combinations can accumulate quickly. It recommends limiting cardinality and considering other analysis systems when the potential population becomes large.\n\nSource: [Prometheus documentation — Instrumentation](https://prometheus.io/docs/practices/instrumentation/).\n\n## Applicability\n\nReview labelset cardinality and instrumentation cost using Prometheus’s general design guidance.\n\n## DSE recommendation\n\nDSE recommends estimating the possible combinations before adding a label, including growth and values generated by retries or user input. Keep request identifiers, unrestricted paths, and other effectively unbounded data out of metric dimensions unless a reviewed design justifies them. Use logs or traces where per-event detail is the actual requirement. Assign an owner to the metric’s label contract and review changes during application releases. Preserve the operational question the metric answers so cost reduction does not remove essential diagnostic meaning.\n\n## Verification\n\nIn a representative test workload, inspect the resulting series count and distinct values for each proposed label. Compare the observed population with the estimate and exercise an unusual input path. Confirm instrumentation cannot create uncontrolled new values before enabling the dimension across the full production fleet. Retain the proposed value domains and resulting series count with the workload profile. Ask the instrumentation owner to demonstrate the agreed bound under unusual inputs before accepting the label contract across more instances.\n\n## Official reference\n\n[Prometheus documentation — Instrumentation](https://prometheus.io/docs/practices/instrumentation/). Reviewed October 20, 2026."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/",
                "url": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-10-20"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "IT",
                        "item": "https://update.dsesecurity.com/topic/it/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 3,
                        "name": "Budget Prometheus label values before adding high-cardinality dimensions",
                        "item": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/#article",
                "identifier": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/",
                "url": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/",
                "headline": "Budget Prometheus label values before adding high-cardinality dimensions",
                "description": "Every distinct label set creates another time series with real operating cost.",
                "abstract": "Every distinct label set creates another time series with real operating cost.",
                "articleBody": "Every distinct label set creates another time series with real operating cost.\nSource facts\nPrometheus instrumentation guidance states that each label set adds a time series with memory, CPU, disk and network costs. Large numbers of metrics and label combinations can accumulate quickly. It recommends limiting cardinality and considering other analysis systems when the potential population becomes large.\nSource: Prometheus documentation — Instrumentation.\nApplicability\nReview labelset cardinality and instrumentation cost using Prometheus’s general design guidance.\nDSE recommendation\nDSE recommends estimating the possible combinations before adding a label, including growth and values generated by retries or user input. Keep request identifiers, unrestricted paths, and other effectively unbounded data out of metric dimensions unless a reviewed design justifies them. Use logs or traces where per-event detail is the actual requirement. Assign an owner to the metric’s label contract and review changes during application releases. Preserve the operational question the metric answers so cost reduction does not remove essential diagnostic meaning.\nVerification\nIn a representative test workload, inspect the resulting series count and distinct values for each proposed label. Compare the observed population with the estimate and exercise an unusual input path. Confirm instrumentation cannot create uncontrolled new values before enabling the dimension across the full production fleet. Retain the proposed value domains and resulting series count with the workload profile. Ask the instrumentation owner to demonstrate the agreed bound under unusual inputs before accepting the label contract across more instances.\nOfficial reference\nPrometheus documentation — Instrumentation. Reviewed October 20, 2026.",
                "datePublished": "2026-10-20T18:15:43+00:00",
                "dateModified": "2026-10-20T18:34:33+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/budget-prometheus-label-values-before-adding-high-cardinality-dimensions/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Budget Prometheus label values before adding high-cardinality dimensions"
                },
                "articleSection": [
                    "IT",
                    "Networks & Infrastructure"
                ],
                "keywords": [
                    "IT",
                    "Networks & Infrastructure",
                    "Guide",
                    "Information priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "IT",
                        "url": "https://update.dsesecurity.com/topic/it/"
                    },
                    {
                        "@type": "Thing",
                        "name": "Networks & Infrastructure",
                        "url": "https://update.dsesecurity.com/topic/networks-infrastructure/"
                    }
                ],
                "wordCount": 245,
                "timeRequired": "PT2M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "Prometheus documentation — Instrumentation",
                    "url": "https://prometheus.io/docs/practices/instrumentation/"
                }
            }
        ]
    }
}