Part of epic #8286 (Phase 4 — Sunset). Deferred — revisit when PostHog tracing reaches GA. Mirrors JSONbored/metagraphed#7768.
Context
loopover's tracing today: src/selfhost/tracing.ts opens one OpenTelemetry span boundary per review-pipeline stage; src/selfhost/otel.ts exports via OTLP when configured, and bridges the same spans to Sentry via SentrySpanProcessor (buildSentryOpenTelemetryBridge) when Sentry is on. The OTLP export path is vendor-independent and is not at stake in this epic — only the Sentry span sink is.
PostHog tracing is not GA. Until it is, the options at Sentry-decommission time are (a) accept OTLP-only (operators/maintainer point OTLP at any backend) or (b) keep a minimal Sentry footprint for spans only. That call is recorded on the decommission issue; THIS issue tracks the eventual real evaluation:
Scope (when unblocked by GA)
Boundaries
- Nothing here blocks the epic's other phases. Do not start before GA; check status when the Sentry-decommission issue reaches its OTel gate.
Part of epic #8286 (Phase 4 — Sunset). Deferred — revisit when PostHog tracing reaches GA. Mirrors JSONbored/metagraphed#7768.
Context
loopover's tracing today:
src/selfhost/tracing.tsopens one OpenTelemetry span boundary per review-pipeline stage;src/selfhost/otel.tsexports via OTLP when configured, and bridges the same spans to Sentry viaSentrySpanProcessor(buildSentryOpenTelemetryBridge) when Sentry is on. The OTLP export path is vendor-independent and is not at stake in this epic — only the Sentry span sink is.PostHog tracing is not GA. Until it is, the options at Sentry-decommission time are (a) accept OTLP-only (operators/maintainer point OTLP at any backend) or (b) keep a minimal Sentry footprint for spans only. That call is recorded on the decommission issue; THIS issue tracks the eventual real evaluation:
Scope (when unblocked by GA)
otel.tsexport path, span correlation with$exception/$ai_generationevents, cost at our span volume.Boundaries