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.go ConfigFromEnv with validation, exporter range checks
  • health.go Health counters and event schema validation
  • context.go Context and session binding (Task 3)
  • backpressure.go Backpressure 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.go
    • backpressure.go

Go SDK infrastructure: resilience, cardinality, sampling, slog (Tasks 6–9)

4 files changed
  • resilience.go Resilience layer: gobreaker circuit breaker + backoff + ExporterPolicy
  • cardinality.go TTL-based cardinality guards with expirable LRU
  • sampling.go Per-signal sampling with health counter integration
  • handler.go slog 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.go
    • cardinality.go

Go SDK telemetry: tracer, metrics, W3C, OTel, SLO, facade (Tasks 10–17)

7 files changed
  • tracer.go Tracer interface and no-op impl with context propagation
  • metrics.go Metrics instruments with atomic fallback, sampling, backpressure
  • propagation.go W3C trace context propagation with size guards
  • setup.go SetupTelemetry/ShutdownTelemetry with mutex sentinel and runtime config
  • otel.go OTel provider wiring with slog bridge and real tracer/span adapters
  • slo.go SLO helpers: ClassifyError, RecordREDMetrics, RecordUSEMetrics
  • telemetry.go Public 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.go
    • setup.go
    • telemetry.go

Structured event() with DA(R)S fields

2 files changed
  • event.go EventRecord struct with domain/action/resource/status fields
  • 09_error_handling_and_degradation.py All 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.py 230-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.yml Go CI workflow: lint, test, coverage, mutation
  • .golangci.yml golangci-lint config updated with gocyclo exclusions for test files
  • Makefile Makefile with build/test/lint/mutation targets
  • Go CI workflow added with lint, test, coverage, and mutation gates. golangci-lint configured with gocyclo test file exclusions. PII truncate non-string values converted to string. RED threshold set to 500ms. baseline internal
    2 files
    • ci-go.yml
    • .golangci.yml