diff --git a/.github/ISSUE_TEMPLATE/blank.yaml b/.github/ISSUE_TEMPLATE/blank.yaml index 6a7a0d1a6b0..3a7d1090503 100644 --- a/.github/ISSUE_TEMPLATE/blank.yaml +++ b/.github/ISSUE_TEMPLATE/blank.yaml @@ -181,6 +181,7 @@ body: - prometheus.scrape - prometheus.write.queue - pyroscope.ebpf + - pyroscope.enrich - pyroscope.java - pyroscope.receive_http - pyroscope.relabel diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 7fc726d80fc..f57ef1e7a7d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -181,6 +181,7 @@ body: - prometheus.scrape - prometheus.write.queue - pyroscope.ebpf + - pyroscope.enrich - pyroscope.java - pyroscope.receive_http - pyroscope.relabel diff --git a/.github/ISSUE_TEMPLATE/docs.yaml b/.github/ISSUE_TEMPLATE/docs.yaml index e69a0a34300..7d180e92151 100644 --- a/.github/ISSUE_TEMPLATE/docs.yaml +++ b/.github/ISSUE_TEMPLATE/docs.yaml @@ -184,6 +184,7 @@ body: - prometheus.scrape - prometheus.write.queue - pyroscope.ebpf + - pyroscope.enrich - pyroscope.java - pyroscope.receive_http - pyroscope.relabel diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 1f0956bd518..21249baed98 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -181,6 +181,7 @@ body: - prometheus.scrape - prometheus.write.queue - pyroscope.ebpf + - pyroscope.enrich - pyroscope.java - pyroscope.receive_http - pyroscope.relabel diff --git a/.github/ISSUE_TEMPLATE/proposal.yaml b/.github/ISSUE_TEMPLATE/proposal.yaml index 1adf8f6b83f..33957786843 100644 --- a/.github/ISSUE_TEMPLATE/proposal.yaml +++ b/.github/ISSUE_TEMPLATE/proposal.yaml @@ -181,6 +181,7 @@ body: - prometheus.scrape - prometheus.write.queue - pyroscope.ebpf + - pyroscope.enrich - pyroscope.java - pyroscope.receive_http - pyroscope.relabel diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c52da3728e..8f592e0f704 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,8 +13,11 @@ Main (unreleased) ### Features - A new `mimir.alerts.kubernetes` component which discovers `AlertmanagerConfig` Kubernetes resources and loads them into a Mimir instance. (@ptodev) + - Mark `stage.windowsevent` block in the `loki.process` component as GA. (@kgeckhart) +- (_Experimental_) Add `pyroscope.enrich` component to enrich profiles using labels from `discovery.*` components. (@AndreZiviani) + ### Enhancements - update promtail converter to use `file_match` block for `loki.source.file` instead of going through `local.file_match`. (@kalleep) @@ -95,6 +98,7 @@ v1.12.0-rc.0 - The `otelcol.processor.servicegraph` component now supports defining the maximum number of buckets for generated exponential histograms. - See the upstream [core][https://github.com/open-telemetry/opentelemetry-collector/blob/v0.139.0/CHANGELOG.md] and [contrib][https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.139.0/CHANGELOG.md] changelogs for more details. + ### Enhancements - Add per-application rate limiting with the `strategy` attribute in the `faro.receiver` component, to prevent one application from consuming the rate limit quota of others. (@hhertout) diff --git a/docs/sources/reference/compatibility/_index.md b/docs/sources/reference/compatibility/_index.md index a60e33099a6..5d09be2cc5a 100644 --- a/docs/sources/reference/compatibility/_index.md +++ b/docs/sources/reference/compatibility/_index.md @@ -159,6 +159,7 @@ The following components, grouped by namespace, _consume_ Targets. {{< collapse title="pyroscope" >}} - [pyroscope.ebpf](../components/pyroscope/pyroscope.ebpf) +- [pyroscope.enrich](../components/pyroscope/pyroscope.enrich) - [pyroscope.java](../components/pyroscope/pyroscope.java) - [pyroscope.scrape](../components/pyroscope/pyroscope.scrape) {{< /collapse >}} @@ -422,6 +423,7 @@ The following components, grouped by namespace, _export_ Pyroscope `ProfilesRece {{< collapse title="pyroscope" >}} +- [pyroscope.enrich](../components/pyroscope/pyroscope.enrich) - [pyroscope.relabel](../components/pyroscope/pyroscope.relabel) - [pyroscope.write](../components/pyroscope/pyroscope.write) {{< /collapse >}} @@ -437,6 +439,7 @@ The following components, grouped by namespace, _consume_ Pyroscope `ProfilesRec {{< collapse title="pyroscope" >}} - [pyroscope.ebpf](../components/pyroscope/pyroscope.ebpf) +- [pyroscope.enrich](../components/pyroscope/pyroscope.enrich) - [pyroscope.java](../components/pyroscope/pyroscope.java) - [pyroscope.receive_http](../components/pyroscope/pyroscope.receive_http) - [pyroscope.relabel](../components/pyroscope/pyroscope.relabel) diff --git a/docs/sources/reference/components/pyroscope/pyroscope.enrich.md b/docs/sources/reference/components/pyroscope/pyroscope.enrich.md new file mode 100644 index 00000000000..ee70c299e40 --- /dev/null +++ b/docs/sources/reference/components/pyroscope/pyroscope.enrich.md @@ -0,0 +1,171 @@ +--- +canonical: https://grafana.com/docs/alloy/latest/reference/components/pyroscope/pyroscope.enrich/ +description: Learn about pyroscope.enrich +labels: + stage: experimental + products: + - oss + tags: + - text: Community + tooltip: This component is developed, maintained, and supported by the Alloy user community. +title: pyroscope.enrich +--- + +# `pyroscope.enrich` + +{{< docs/shared lookup="stability/community.md" source="alloy" version="" >}} + +{{< docs/shared lookup="stability/experimental.md" source="alloy" version="" >}} + +`pyroscope.enrich` enriches profiles with additional labels from service discovery targets. +It matches a label from incoming profiles against a label from discovered targets, and copies specified labels from the matched target to the profile. + +## Usage + +```alloy +pyroscope.enrich "