provide-telemetry
2026-04-04
Go SDK complete (Tasks 1–17), three-way E2E trace parity, 100% Go mutation score
163 files · 16,055+ · 317-
Go SDK core: config, health, events, context, backpressure (Tasks 1–5)
4 files changed
config.goConfigFromEnv with validation, exporter range checkshealth.goHealth counters and event schema validationcontext.goContext and session binding (Task 3)backpressure.goBackpressure semaphore with QueuePolicy and health wiring
- Go SDK foundation: ConfigFromEnv reads environment into typed config with validation and exporter range checks. Health counters track signal rates. Event schema validation enforces required fields. Context and session binding propagate trace context through Go call chains. Backpressure semaphore with QueuePolicy (drop/block/sample) and health counter integration.
instantiate
behavioral
2 files
config.gobackpressure.go
Go SDK infrastructure: resilience, cardinality, sampling, slog (Tasks 6–9)
4 files changed
resilience.goResilience layer: gobreaker circuit breaker + backoff + ExporterPolicycardinality.goTTL-based cardinality guards with expirable LRUsampling.goPer-signal sampling with health counter integrationhandler.goslog Handler middleware chain: context merge, sampling, PII, schema
- Go resilience layer wraps gobreaker circuit breaker with exponential backoff and ExporterPolicy. TTL-based cardinality guards use expirable LRU to cap metric label cardinality. Per-signal sampling with health counter integration. slog Handler provides middleware chain with context merge, sampling, PII sanitization, and schema enforcement.
instantiate
behavioral
2 files
resilience.gocardinality.go
Go SDK telemetry: tracer, metrics, W3C, OTel, SLO, facade (Tasks 10–17)
7 files changed
tracer.goTracer interface and no-op impl with context propagationmetrics.goMetrics instruments with atomic fallback, sampling, backpressurepropagation.goW3C trace context propagation with size guardssetup.goSetupTelemetry/ShutdownTelemetry with mutex sentinel and runtime configotel.goOTel provider wiring with slog bridge and real tracer/span adaptersslo.goSLO helpers: ClassifyError, RecordREDMetrics, RecordUSEMetricstelemetry.goPublic facade: telemetry.go with ResetForTests()
- Tracer interface with no-op implementation and context propagation. Metrics instruments use atomic fallback when OTel is unavailable, with sampling and backpressure integration. W3C trace context propagation with size guards. SetupTelemetry/ShutdownTelemetry with mutex sentinel prevents double-init. OTel provider wiring includes slog bridge and real tracer/span adapters. SLO helpers (ClassifyError, RecordREDMetrics, RecordUSEMetrics). Public facade exported from telemetry.go with ResetForTests() for test isolation. Conformance validation passes all gates.
instantiate
behavioral
3 files
tracer.gosetup.gotelemetry.go
Structured event() with DA(R)S fields
2 files changed
event.goEventRecord struct with domain/action/resource/status fields09_error_handling_and_degradation.pyAll examples updated to use event() DA(R)S pattern
- Structured event() function with DA(R)S fields (domain, action, resource, status) replaces event_name() across Go, Python, and TypeScript. All examples updated. Documentation updated to DA(R)S pattern.
interface
behavioral
1 file
event.go
Three-way E2E trace parity and 100% Go mutation score
1 file changed
test_three_way_trace_e2e.py230-line E2E test: Go + TypeScript + Python all emit traces to OpenObserve and verify cross-language correlation
- Three-way E2E trace parity test verifies Go, TypeScript, and Python all emit correlated traces to OpenObserve with matching trace IDs. Go achieves 100% mutation score. Go examples 01–13 plus openobserve series matching Python/TypeScript. TypeScript gains circuit breaker + emergency fallback parity with Python.
qualify
internal
1 file
test_three_way_trace_e2e.py
Go CI workflow and CQ scaffolding
3 files changed
ci-go.ymlGo CI workflow: lint, test, coverage, mutation.golangci.ymlgolangci-lint config updated with gocyclo exclusions for test filesMakefileMakefile with build/test/lint/mutation targets