prop/config
Graham McIntire 55251df8a0
feat(elixir): OpenTelemetry trace export to cluster OTel Collector
Adds the OTel deps (opentelemetry + exporter + phoenix / ecto / oban /
bandit auto-instrumentation helpers) and attaches them in
Application.start/2 so the existing Phoenix, Ecto, Oban, and Bandit
telemetry events flow as OTLP spans without any call-site changes.

Exporter config is gated on OTEL_EXPORTER_OTLP_ENDPOINT in
config/runtime.exs — set in the k8s manifests to the cluster
collector (otel-collector.observability.svc.cluster.local:4317).
When unset we switch traces_exporter to :none so nothing is shipped;
dev/test stays quiet.

Resource attributes tag spans with service.name=microwaveprop and
service.namespace=prop, matching the Rust workers' attribute shape
so Tempo can group the full hourly chain across both languages.

Both the main prop deployment and the backfill deployment get the
env; backfill is still a full BEAM node running enrichment workers,
so its Oban/Ecto spans are worth seeing too.
2026-04-20 12:02:15 -05:00
..
config.exs feat(hrrr): route per-QSO enrichment through hrrr_fetch_tasks (Stream C Elixir) 2026-04-19 18:22:22 -05:00
dev.exs feat(hrrr): route per-QSO enrichment through hrrr_fetch_tasks (Stream C Elixir) 2026-04-19 18:22:22 -05:00
prod.exs Configure outbound SMTP email via Swoosh with TLS 2026-04-02 13:08:50 -05:00
runtime.exs feat(elixir): OpenTelemetry trace export to cluster OTel Collector 2026-04-20 12:02:15 -05:00
test.exs chore(mrms): delete pipeline — consumer AsosAdjustmentWorker already disabled 2026-04-19 17:25:59 -05:00