Adds service.instance.id (pod hostname) to OTEL_RESOURCE_ATTRIBUTES. The OTLP->Prometheus exporter maps it to the instance label on metrics and target_info, fixing (1) multi-replica series collisions and (2) the (job, instance) target_info join used by the Shiny eventsourced dashboard/alerts (currently failing with duplicate-series DatasourceError for multi-pod services). Build + race tests pass.
Adds service.instance.id (pod hostname) to OTEL_RESOURCE_ATTRIBUTES. The OTLP->Prometheus exporter maps it to the instance label on metrics and target_info, fixing (1) multi-replica series collisions and (2) the (job, instance) target_info join used by the Shiny eventsourced dashboard/alerts (currently failing with duplicate-series DatasourceError for multi-pod services). Build + race tests pass.
SetupOTelSDK now adds service.instance.id (the pod hostname) to
OTEL_RESOURCE_ATTRIBUTES. The OTLP->Prometheus exporter maps it to the
`instance` label on both metrics and target_info, which (1) stops
multi-replica services from colliding on a single series and (2) gives
PromQL joins a unique (job, instance) key. Falls back to the service name
when the hostname is unavailable.
argoyle
scheduled this pull request to auto merge when all checks succeed 2026-05-29 06:28:46 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds service.instance.id (pod hostname) to OTEL_RESOURCE_ATTRIBUTES. The OTLP->Prometheus exporter maps it to the instance label on metrics and target_info, fixing (1) multi-replica series collisions and (2) the (job, instance) target_info join used by the Shiny eventsourced dashboard/alerts (currently failing with duplicate-series DatasourceError for multi-pod services). Build + race tests pass.
Coverage Report
Total coverage: 23%