43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# Execution log: OpenTelemetry tracing integrated with logr/zap logging
|
|
|
|
Plan: `docs/plans/2026-08-24-1025-otel-tracing.md`
|
|
|
|
- [x] Step 1 — Dependencies
|
|
- [ ] Step 2 — New package `internal/tracing`
|
|
- [ ] Step 3 — `provider.WithTracing` decorator
|
|
- [ ] Step 4 — `cmd/main.go` wiring
|
|
- [ ] 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:
|
|
|
|
```bash
|
|
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.
|