diff --git a/docs/sources/reference/components/pyroscope/pyroscope.relabel.md b/docs/sources/reference/components/pyroscope/pyroscope.relabel.md index c9ff8e2330d..2e7f3c86b31 100644 --- a/docs/sources/reference/components/pyroscope/pyroscope.relabel.md +++ b/docs/sources/reference/components/pyroscope/pyroscope.relabel.md @@ -12,12 +12,15 @@ title: pyroscope.relabel # `pyroscope.relabel` -The `pyroscope.relabel` component rewrites the label set of each profile passed to its receiver by applying one or more relabeling rules and forwards the results to the list of receivers. +The `pyroscope.relabel` component rewrites the external label set of each profile passed to its receiver by applying one or more relabeling rules and forwards the results to the list of receivers. If no rules are defined or applicable to some profiles, then those profiles are forwarded as-is to each receiver passed in the component's arguments. -The profile is dropped if no labels remain after the relabeling rules are applied. +The profile is dropped if no external labels remain after the relabeling rules are applied. -The most common use of `pyroscope.relabel` is to filter profiles or standardize the label set that is passed to one or more downstream receivers. +`pyroscope.relabel` only rewrites labels that aren't embedded in the profile itself, such as labels inferred by `pyroscope.scrape` or labels provided through the `/ingest?name=...` query parameter. +It doesn't parse or modify labels embedded inside profile payloads like pprof sample labels. + +The most common use of `pyroscope.relabel` is to filter profiles or standardize external labels passed to one or more downstream receivers. The `rule` blocks are applied to the label set of each profile in order of their appearance in the configuration file. ## Usage