Skip to content

Commit 4808c99

Browse files
author
cindy-peng
committed
fix otel context unit test
1 parent b4d3ee7 commit 4808c99

File tree

3 files changed

+16
-54
lines changed

3 files changed

+16
-54
lines changed

google-cloud-logging/src/main/java/com/google/cloud/logging/Context.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,6 @@ public Builder loadW3CTraceParentContext(String traceParent) {
196196
setTraceId(fields.get(1));
197197
setSpanId(fields.get(2));
198198
boolean sampled = (Integer.parseInt(fields.get(3), 16) & FLAG_SAMPLED) == FLAG_SAMPLED;
199-
System.out.println("trace: " + fields.get(1) + ", span: " + fields.get(2) + ", sampled string " + fields.get(3) + ", sampled boolean: " + sampled);
200199
setTraceSampled(sampled);
201200
}
202201
return this;
@@ -209,8 +208,6 @@ public Builder loadOpenTelemetryContext() {
209208
setTraceId(Span.current().getSpanContext().getTraceId());
210209
setSpanId(Span.current().getSpanContext().getSpanId());
211210
setTraceSampled(Span.current().getSpanContext().isSampled());
212-
213-
System.out.println("TraceID: " + Span.current().getSpanContext().getTraceId() + "; Span Id: " + Span.current().getSpanContext().getSpanId() + ", isSampled: " + Span.current().getSpanContext().isSampled());
214211
}
215212

216213
return this;

google-cloud-logging/src/main/java/com/google/cloud/logging/LoggingImpl.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -839,10 +839,8 @@ public Iterable<LogEntry> populateMetadata(
839839

840840
ContextHandler contextHandler = new ContextHandler();
841841
// Populate trace/span ID from OpenTelemetry span context to logging context.
842-
System.out.println("Starting reading Otel context");
843842
if (Span.current().getSpanContext().isValid())
844843
{
845-
System.out.println("Span context detected.");
846844
Context.Builder contextBuilder = Context.newBuilder().loadOpenTelemetryContext();
847845
contextHandler.setCurrentContext(contextBuilder.build(), ContextPriority.OTEL_EXTRACTED);
848846
}

google-cloud-logging/src/test/java/com/google/cloud/logging/ContextTest.java

Lines changed: 16 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -17,32 +17,23 @@
1717
package com.google.cloud.logging;
1818

1919

20-
import static com.google.logging.v2.LoggingServiceV2Grpc.SERVICE_NAME;
2120
import static org.junit.Assert.assertEquals;
2221
import static org.junit.Assert.assertFalse;
2322
import static org.junit.Assert.assertNotEquals;
2423
import static org.junit.Assert.assertNull;
2524

26-
import io.opentelemetry.api.OpenTelemetry;
25+
import io.opentelemetry.context.Scope;
2726
import org.junit.Test;
2827
import org.junit.runner.RunWith;
2928
import org.junit.runners.JUnit4;
3029
import org.threeten.bp.Duration;
3130
import io.opentelemetry.api.trace.Span;
3231
import io.opentelemetry.api.trace.*;
33-
import io.opentelemetry.api.GlobalOpenTelemetry;
34-
import io.opentelemetry.api.common.AttributeKey;
35-
import io.opentelemetry.api.common.Attributes;
36-
import io.opentelemetry.api.trace.StatusCode;
3732
import io.opentelemetry.sdk.OpenTelemetrySdk;
38-
import io.opentelemetry.sdk.resources.Resource;
3933
import io.opentelemetry.sdk.testing.exporter.InMemorySpanExporter;
4034
import io.opentelemetry.sdk.trace.SdkTracerProvider;
4135
import io.opentelemetry.sdk.trace.SpanProcessor;
42-
import io.opentelemetry.sdk.trace.data.EventData;
43-
import io.opentelemetry.sdk.trace.data.SpanData;
4436
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
45-
import io.opentelemetry.sdk.trace.samplers.Sampler;
4637

4738

4839
@RunWith(JUnit4.class)
@@ -173,37 +164,8 @@ public void testParsingW3CTraceParent() {
173164

174165

175166
@Test
176-
public void testParsingOtelContext() {
177-
InMemorySpanExporter testExporter = InMemorySpanExporter.create();
178-
// OpenTelemetrySdk myOpenTelemetrySdk = OpenTelemetrySdk.builder().build();
179-
180-
/* OpenTelemetrySdk.builder()
181-
.setTracerProvider(
182-
SdkTracerProvider.builder()
183-
.addSpanProcessor(BatchSpanProcessor.builder(traceExporter).build())
184-
.build())
185-
.buildAndRegisterGlobal();*/
186-
187-
188-
// Create with an in-memory span exporter.
189-
// GlobalOpenTelemetry.resetForTest();
190-
/* Resource resource =
191-
Resource.getDefault().merge(Resource.builder().put(SERVICE_NAME, "Sparky").build());
192-
193-
194-
OpenTelemetry sdk = OpenTelemetrySdk.builder()
195-
.setTracerProvider(
196-
SdkTracerProvider.builder()
197-
.setResource(resource)
198-
.addSpanProcessor(inMemorySpanProcessor)
199-
.setSampler(Sampler.alwaysOn())
200-
.build())
201-
.buildAndRegisterGlobal();
202-
*/
203-
204-
205-
///////////////
206-
167+
public void testParsingOpenTelemetryContext() {
168+
InMemorySpanExporter testExporter = InMemorySpanExporter.create();
207169
SpanProcessor inMemorySpanProcessor = SimpleSpanProcessor.create(testExporter);
208170
OpenTelemetrySdk openTelemetrySdk =
209171
OpenTelemetrySdk.builder()
@@ -213,16 +175,21 @@ public void testParsingOtelContext() {
213175
.build())
214176
.build();
215177

216-
// OpenTelemetry has a maximum of 128 Attributes by default for Spans, Links, and Events.
217178
Tracer tracer = openTelemetrySdk.getTracer("ContextTest");
218-
Span multiAttrSpan = tracer.spanBuilder("Example Span Attributes").startSpan();
219-
multiAttrSpan.setAttribute("Attribute 1", "first attribute value");
220-
multiAttrSpan.setAttribute("Attribute 2", "second attribute value");
221-
multiAttrSpan.end();
179+
Span otelSpan = tracer.spanBuilder("Example Span Attributes").startSpan();
180+
SpanContext currentOtelContext;
222181
Context.Builder builder = Context.newBuilder();
223-
SpanContext currentOtelContext = multiAttrSpan.getSpanContext();
224-
builder.loadOpenTelemetryContext();
225-
assertTraceSpanAndSampled(builder.build(), currentOtelContext.getTraceId(), currentOtelContext.getSpanId(), currentOtelContext.isSampled());
182+
try (Scope scope = otelSpan.makeCurrent()) {
183+
otelSpan.setAttribute("Attribute 1", "first attribute value");
184+
currentOtelContext = otelSpan.getSpanContext();
185+
builder.loadOpenTelemetryContext();
186+
assertTraceSpanAndSampled(builder.build(), currentOtelContext.getTraceId(), currentOtelContext.getSpanId(), currentOtelContext.isSampled());
187+
} catch(Throwable t) {
188+
otelSpan.recordException(t);
189+
throw t;
190+
} finally {
191+
otelSpan.end();
192+
}
226193
}
227194

228195
private void assertTraceAndSpan1(Context context, String expectedTraceId, String expectedSpanId) {

0 commit comments

Comments
 (0)