1.8 KiB
Execution log: OpenTelemetry tracing integrated with logr/zap logging
Plan: docs/plans/2026-08-24-1025-otel-tracing.md
- Step 1 — Dependencies
- Step 2 — New package
internal/tracing - Step 3 —
provider.WithTracingdecorator - Step 4 —
cmd/main.gowiring - Step 5 — Reconciler spans
- Step 6 — Discovery server
- Step 7 — GC + health
- Step 8 — GCP wire-log enrichment
- Step 9 — Manifests + docs
Step 1 — Dependencies
Aligned the pre-existing indirect skew (otel core v1.44.0 vs otlptrace exporters v1.40.0) and added the new direct deps in one shot:
go get go.opentelemetry.io/otel@v1.45.0 \
go.opentelemetry.io/otel/sdk@v1.45.0 \
go.opentelemetry.io/otel/trace@v1.45.0 \
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.45.0 \
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.45.0 \
go.opentelemetry.io/otel/exporters/stdout/stdouttrace@v1.45.0 \
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.70.0
go mod tidy
MVS side-effects worth recording: logr v1.4.3→v1.4.4, httpsnoop v1.0.4→v1.1.0, grpc-gateway/v2 v2.27.7→v2.29.0, proto/otlp v1.9.0→v1.11.0,
plus a genproto/googleapis/api pseudo-version bump. Full make test passed
against the bumped graph (google.golang.org/api v0.292.0 and k8s v0.36
tolerate otelhttp v0.70.0).
Worth noting: the first go mod tidy ran before any first-party code
imported otlptracehttp/stdouttrace, so it silently dropped those two
modules again; the Step 2 tidy re-added them. The plan's semconv question
resolved to semconv/v1.43.0 — that's what sdk@v1.45.0/resource/builtin.go
imports, so first-party code uses the same version to avoid
ErrSchemaURLConflict in the common path.