Skip to content

Fix trace_sampled MDC flag for micrometer+OTel starter (PR 451) - #452

Merged
skjolber merged 1 commit into
opentelemetryfrom
copilot/fix-pr-451
Aug 15, 2026
Merged

Fix trace_sampled MDC flag for micrometer+OTel starter (PR 451)#452
skjolber merged 1 commit into
opentelemetryfrom
copilot/fix-pr-451

Conversation

Copilot AI commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

TraceSampledMdcHandler was placed in test sources (no-op in production) and used @ConditionalOnBean(Tracer.class) on a component-scanned @Configuration — which always fails because component-scan conditions are evaluated before autoconfiguration creates the Tracer bean.

Key fixes

TraceSampledMdcHandler — moved to main, fixed registration

  • Moved from src/testsrc/main so it actually runs in the application
  • Registered as @Bean in LogConfiguration (not @Component) using ObjectProvider<Tracer> — resolves lazily at instantiation time, safe when tracing is disabled
  • @Conditional(NoOpenTelemetryAgentCondition.class) — handler is skipped when the OTel Java agent is attached; the agent uses different MDC keys handled by StackdriverOpenTelemetryTraceMdcJsonProvider
@Bean
@Conditional(NoOpenTelemetryAgentCondition.class)
public TraceSampledMdcHandler traceSampledMdcHandler(ObjectProvider<Tracer> tracerProvider) {
    return new TraceSampledMdcHandler(tracerProvider.getIfAvailable()); // no-op if null
}

application.properties

  • Added management.tracing.enabled=true and management.tracing.sampling.probability=1.0

WebLoggingFormatTest

  • Asserts logging.googleapis.com/trace_sampled: true on every captured log statement, verifying the full chain: TraceSampledMdcHandler → MDC traceSampledStackdriverMicrometerTraceMdcJsonProvider → JSON boolean field

LogStatement (test utility)

  • Added getJsonPropertyBoolean(String name) for reading boolean JSON fields from captured log events

spring-boot-autoconfigure-gcp

  • Removed leftover implementation 'io.micrometer:micrometer-tracing' — nothing in this module uses it

…est, fix TraceSampledMdcHandler

Co-authored-by: skjolber <1031478+skjolber@users.noreply.github.com>
Copilot AI changed the title Fix PR 451: autodetect micrometer+OTel starter, add trace_sampled test, fix TraceSampledMdcHandler Fix trace_sampled MDC flag for micrometer+OTel starter (PR 451) Aug 15, 2026
Copilot AI requested a review from skjolber August 15, 2026 00:01
@skjolber
skjolber changed the base branch from main to opentelemetry August 15, 2026 09:31
@skjolber
skjolber marked this pull request as ready for review August 15, 2026 10:13
@skjolber
skjolber requested review from a team as code owners August 15, 2026 10:13
@skjolber
skjolber merged commit 9a06b17 into opentelemetry Aug 15, 2026
10 checks passed
@skjolber
skjolber deleted the copilot/fix-pr-451 branch August 15, 2026 10:14
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