Skip to content

feat!: improve tracing with lazy gRPC, sampler config, and drop viper (Phase 3)#9

Merged
els0r merged 1 commit into
mainfrom
claude/tracing-redesign-GZlvJ
Mar 16, 2026
Merged

feat!: improve tracing with lazy gRPC, sampler config, and drop viper (Phase 3)#9
els0r merged 1 commit into
mainfrom
claude/tracing-redesign-GZlvJ

Conversation

@els0r

@els0r els0r commented Mar 15, 2026

Copy link
Copy Markdown
Owner

BREAKING CHANGES:

  • WithGRPCExporter no longer blocks on dial; uses grpc.NewClient for lazy
    connection. Applications relying on Init failing when collector is down
    should add health checks instead.
  • Default sampler changed from AlwaysSample to ParentBased(AlwaysSample),
    which respects parent span sampling decisions (OTel default).
  • Viper dependency removed from flags.go; flag values are now read directly
    from the pflag.FlagSet. Callers using viper.BindPFlags separately will
    need to read flag values themselves.
  • Removed exported default/help constants (TracingEnabledDefault, etc.)
    that were implementation details.

New features:

  • H5: Replace deprecated grpc.DialContext+WithBlock with grpc.NewClient
  • H5: Add WithTransportCredentials option for TLS support
  • M3: Add WithSampler option for configurable trace sampling
  • M6: Add WithResource option for explicit resource configuration
  • M7: Remove viper dependency (~15 transitive deps eliminated)

@els0r els0r changed the title Claude/tracing redesign g zlv j feat!: improve tracing with lazy gRPC, sampler config, and drop viper (Phase 3) Mar 16, 2026
… (Phase 3)

BREAKING CHANGES:
- WithGRPCExporter no longer blocks on dial; uses grpc.NewClient for lazy
  connection. Applications relying on Init failing when collector is down
  should add health checks instead.
- Default sampler changed from AlwaysSample to ParentBased(AlwaysSample),
  which respects parent span sampling decisions (OTel default).
- Viper dependency removed from flags.go; flag values are now read directly
  from the pflag.FlagSet. Callers using viper.BindPFlags separately will
  need to read flag values themselves.
- Removed exported default/help constants (TracingEnabledDefault, etc.)
  that were implementation details.

New features:
- H5: Replace deprecated grpc.DialContext+WithBlock with grpc.NewClient
- H5: Add WithTransportCredentials option for TLS support
- M3: Add WithSampler option for configurable trace sampling
- M6: Add WithResource option for explicit resource configuration
- M7: Remove viper dependency (~15 transitive deps eliminated)

https://claude.ai/code/session_011rJHSN2dVRXMtf67yy3NkF
@els0r els0r force-pushed the claude/tracing-redesign-GZlvJ branch from 1c01c74 to 6880845 Compare March 16, 2026 10:35
@els0r els0r merged commit a92042d into main Mar 16, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants