Skip to content
Open
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
15 changes: 15 additions & 0 deletions charts/otel-collector-lerian/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,15 @@ opentelemetry-collector:
- k8s.pod.name
- k8s.deployment.name
- k8s.namespace.name
# Pod labels -> resource attributes. `rollouts-pod-template-hash` is the
# label Argo Rollouts stamps on each ReplicaSet's pods (canary vs stable).
# Exposing it lets progressive-delivery analysis (AnalysisTemplate) isolate
# the canary's RED metrics from the stable's. Empty for pods that are not
# managed by a Rollout.
labels:
- tag_name: rollouts_pod_template_hash
key: rollouts-pod-template-hash
from: pod

# Adds the client ID for multi-tenancy, as requested.
resource/add_client_id:
Expand Down Expand Up @@ -384,6 +393,12 @@ opentelemetry-collector:
- name: http.route
- name: http.status_code
- name: http.response.status_code
# Argo Rollouts canary/stable pod-template hash (from the k8sattributes
# pod-label extraction above). Low cardinality: "" for non-Rollout pods,
# plus the stable + canary hashes only while a rollout is in progress.
# Enables canary-isolated RED analysis for progressive delivery.
- name: rollouts_pod_template_hash
default: ""
Comment on lines +396 to +401

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

file="charts/otel-collector-lerian/values.yaml"
rg -n 'tag: 0\.142\.0|rollouts_pod_template_hash|spanmetrics:' "$file"

curl -fsSL \
  https://raw.githubusercontent.com/open-telemetry/opentelemetry-collector-contrib/v0.142.0/connector/spanmetricsconnector/config.go \
  | grep -F "fetched from the span's attributes"

Repository: LerianStudio/helm

Length of output: 447


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

file="charts/otel-collector-lerian/values.yaml"

echo "== relevant sections =="
sed -n '340,480p' "$file"

echo
echo "== any attribute-copying processor or transform around spanmetrics =="
rg -n 'transform|attributes|spanmetrics|rollouts_pod_template_hash|resource' "$file"

Repository: LerianStudio/helm

Length of output: 10578


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo "== upstream spanmetrics config for v0.142.0 =="
curl -fsSL \
  https://raw.githubusercontent.com/open-telemetry/opentelemetry-collector-contrib/v0.142.0/connector/spanmetricsconnector/config.go \
  | sed -n '1,220p'

Repository: LerianStudio/helm

Length of output: 9245


rollouts_pod_template_hash stays empty on spans in 0.142.0
k8sattributes writes this as a resource attribute, but spanmetrics in this pinned version reads dimensions from span attributes only. Without a resource→span copy before the connector, canary and stable series collapse to "". Either upgrade to a version that supports resource-attribute dimensions or copy it onto the span first.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@charts/otel-collector-lerian/values.yaml` around lines 396 - 401, The
spanmetrics configuration around rollouts_pod_template_hash currently reads a
resource attribute that remains unavailable in pinned version 0.142.0. Copy the
k8sattributes resource attribute onto each span before the spanmetrics
connector, or upgrade to a version supporting resource-attribute dimensions;
preserve the existing empty default for non-Rollout pods.

aggregation_cardinality_limit: 50000

exporters:
Expand Down
Loading