From ca34e383d4b214e8a28dfaad66250af300fabed8 Mon Sep 17 00:00:00 2001 From: Jean Bisutti Date: Tue, 22 Oct 2024 16:49:10 +0200 Subject: [PATCH] Sample logs consistently with traces --- .../sdk/logs/SdkLogRecordBuilder.java | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilder.java b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilder.java index ce77d076730..bb4e57c34f4 100644 --- a/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilder.java +++ b/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/SdkLogRecordBuilder.java @@ -11,6 +11,8 @@ import io.opentelemetry.api.logs.LogRecordBuilder; import io.opentelemetry.api.logs.Severity; import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.SpanContext; +import io.opentelemetry.api.trace.TraceFlags; import io.opentelemetry.context.Context; import io.opentelemetry.sdk.common.InstrumentationScopeInfo; import io.opentelemetry.sdk.internal.AttributesMap; @@ -119,20 +121,24 @@ public void emit() { this.observedTimestampEpochNanos == 0 ? this.loggerSharedState.getClock().now() : this.observedTimestampEpochNanos; - loggerSharedState - .getLogRecordProcessor() - .onEmit( - context, - SdkReadWriteLogRecord.create( - loggerSharedState.getLogLimits(), - loggerSharedState.getResource(), - instrumentationScopeInfo, - timestampEpochNanos, - observedTimestampEpochNanos, - Span.fromContext(context).getSpanContext(), - severity, - severityText, - body, - attributes)); + SpanContext spanContext = Span.fromContext(context).getSpanContext(); + TraceFlags traceFlags = spanContext.getTraceFlags(); + if (!traceFlags.isSampled()) { + loggerSharedState + .getLogRecordProcessor() + .onEmit( + context, + SdkReadWriteLogRecord.create( + loggerSharedState.getLogLimits(), + loggerSharedState.getResource(), + instrumentationScopeInfo, + timestampEpochNanos, + observedTimestampEpochNanos, + spanContext, + severity, + severityText, + body, + attributes)); + } } }