Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Prometheus exporter to add resource attributes to metric attributes #3761

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ release.

### Metrics

- Add optional configuration for Prometheus exporters to promote resource attributes to metric attributes
([#3761](https://github.com/open-telemetry/opentelemetry-specification/pull/3761))

### Logs

- Add definition for standard output log record exporter.
Expand Down
10 changes: 5 additions & 5 deletions specification/compatibility/prometheus_and_openmetrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -385,11 +385,11 @@ OpenMetrics exemplar unless they would exceed the OpenMetrics

In SDK Prometheus (pull) exporters, resource attributes SHOULD be converted to
a single [`target_info` metric](https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#supporting-target-metadata-in-both-push-based-and-pull-based-systems)
if the resource is not [empty](../resource/sdk.md#the-empty-resource);
otherwise, they MUST be dropped, and MUST NOT be attached as labels to other
metric families. The target_info metric MUST be an info-typed metric whose
labels MUST include the resource attributes, and MUST NOT include any other
labels. There MUST be at most one target_info metric exposed on an SDK
if the resource is not [empty](../resource/sdk.md#the-empty-resource).
The resource attributes MAY be copied to labels of exported metric families
if required by the exporter configuration, or MUST be dropped. The target_info metric MUST be an info-typed
metric whose labels MUST include the resource attributes, and MUST NOT include
any other labels. There MUST be at most one target_info metric exposed on an SDK
Prometheus endpoint.

In the Collector's Prometheus pull and push (remote-write) exporters, it is
Expand Down
6 changes: 6 additions & 0 deletions specification/metrics/sdk_exporters/prometheus.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,9 @@ A Prometheus Exporter MAY support [OpenMetrics Text
Format](https://github.com/prometheus/docs/blob/main/content/docs/instrumenting/exposition_formats.md#openmetrics-text-format),
including the
[Exemplars](https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#exemplars).

A Prometheus Exporter MAY offer configuration to add resource attributes as metric attributes.
asafm marked this conversation as resolved.
Show resolved Hide resolved
By default, it MUST NOT add any resource attributes as metric attributes.
asafm marked this conversation as resolved.
Show resolved Hide resolved
cijothomas marked this conversation as resolved.
Show resolved Hide resolved
The configuration SHOULD allow the user to select which resource attributes to copy (e.g.
include / exclude or regular expression based). Copied Resource attributes MUST NOT be
excluded from target_info.
Loading