Skip to content

Commit

Permalink
Merge pull request #2555 from prometheus/krajo/update-otel-prom-pr-15448
Browse files Browse the repository at this point in the history
feat(docs/otel): describe keep_identifying_resource_attributes option
  • Loading branch information
krajorama authored Dec 4, 2024
2 parents 21a41ed + 6c87833 commit 0696969
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion content/docs/guides/opentelemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,15 @@ So, what is the relation between the `target_info` metric and OTel resource attr
When Prometheus processes an OTLP write request, and provided that contained resources include the attributes `service.instance.id` and/or `service.name`, Prometheus generates the info metric `target_info` for every (OTel) resource.
It adds to each such `target_info` series the label `instance` with the value of the `service.instance.id` resource attribute, and the label `job` with the value of the `service.name` resource attribute.
If the resource attribute `service.namespace` exists, it's prefixed to the `job` label value (i.e., `<service.namespace>/<service.name>`).
The rest of the resource attributes are also added as labels to the `target_info` series, names converted to Prometheus format (e.g. dots converted to underscores).

By default `service.name`, `service.namespace` and `service.instance.id` themselves are not added to `target_info`, because they are converted into `job` and `instance`. However the following configuration parameter can be enabled to add them to `target_info` directly (going through normalization to replace dots with underscores, if `otlp.translation_strategy` is `UnderscoreEscapingWithSuffixes`) on top of the conversion into `job` and `instance`.

```
otlp:
keep_identifying_resource_attributes: true
```
The rest of the resource attributes are also added as labels to the `target_info` series, names converted to Prometheus format (e.g. dots converted to underscores) if `otlp.translation_strategy` is `UnderscoreEscapingWithSuffixes`.
If a resource lacks both `service.instance.id` and `service.name` attributes, no corresponding `target_info` series is generated.
For each of a resource's OTel metrics, Prometheus converts it to a corresponding Prometheus time series, and (if `target_info` is generated) adds the right `instance` and `job` labels.
Expand Down

0 comments on commit 0696969

Please sign in to comment.