Repository navigation
fix(observability): match the collector's real Tempo exporter label - #1765
Conversation
The live collector (0.160) labels its telemetry with the resolved exporter type, otlp_grpc/eval-tempo, not the config ID otlp/eval-tempo. Both collector-side Tempo alerts selected the config ID, so they had no series to evaluate and could never fire. The tests used the same wrong label, so they passed anyway. Claude-Session: https://claude.ai/code/session_013zqBqP9sSbVTd1kXRLA6AU
|
Claude finished @mashkovd's task in 1m 9s —— View job Review: tempo eval collector exporter label fix
Analysis The fix is sound. Tests in One pre-existing line not touched by this diff ( No P1/P2 findings. 0 P3 (the header-comment note above is informational, not a blocking nit). |
Antigravity (agy) review — informationalModel: gemini-3.8-flash-medium · commit No significant issues found. |
Found during the synthetic span proof after #1764 (2026-10-10).
The live otel-collector (0.160) exposes the Tempo exporter's telemetry as
exporter="otlp_grpc/eval-tempo", the resolved type, not the config IDotlp/eval-tempo:TempoEvalCollectorExportFailuresandTempoEvalCollectorDroppedSpansselectedexporter="otlp/eval-tempo", so they had no series to evaluate and could never fire. The unit tests fed the same wrong label, so they passed anyway.Changes:
exporter=~"otlp(_grpc)?/eval-tempo", so a collector upgrade that changes the alias cannot silently blind them.otlp_grpc/eval-tempo. The "other exporter stays quiet" cases are unchanged.Verified both ways with
scripts/check-vm-rules.sh(promtool): green with this change, andexport failures to Tempo firegoes red when the old exact selector is restored against the real label.Refs #1280
🤖 Generated with Claude Code
https://claude.ai/code/session_013zqBqP9sSbVTd1kXRLA6AU