diff --git a/otel-plugin/pom.xml b/otel-plugin/pom.xml index c4efa0f3d..02391a2ff 100644 --- a/otel-plugin/pom.xml +++ b/otel-plugin/pom.xml @@ -15,7 +15,7 @@ OpenTelemetry instrumentation plugin for AWS Lambda Durable Execution SDK - 1.66.0 + 1.67.0 diff --git a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/DeterministicIdGeneratorTest.java b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/DeterministicIdGeneratorTest.java index 5bb382093..a5db39b32 100644 --- a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/DeterministicIdGeneratorTest.java +++ b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/DeterministicIdGeneratorTest.java @@ -12,6 +12,8 @@ import io.opentelemetry.sdk.trace.IdGenerator; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.data.LinkData; +import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; import io.opentelemetry.sdk.trace.samplers.SamplingResult; import java.time.Instant; @@ -54,8 +56,10 @@ void generateTraceId_withoutArn_returnsRandom() { @Test void scopedIds_delegateOutsideScope() { var providerGenerator = new DeterministicIdGenerator(); - try (var provider = - SdkTracerProvider.builder().setIdGenerator(providerGenerator).build()) { + try (var provider = SdkTracerProvider.builder() + .setIdGenerator(providerGenerator) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) + .build()) { var pluginTracer = provider.get("durable-plugin"); var unrelatedTracer = provider.get("unrelated-library"); @@ -85,8 +89,10 @@ void scopedIds_delegateOutsideScope() { @Test void scopedIds_bridgeAcrossGeneratorInstances() { var agentGenerator = new DeterministicIdGenerator(); - try (var provider = - SdkTracerProvider.builder().setIdGenerator(agentGenerator).build()) { + try (var provider = SdkTracerProvider.builder() + .setIdGenerator(agentGenerator) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) + .build()) { var workflowTraceId = generator.generateTraceIdForExecution("arn:exec1", EXECUTION_START_TIME); var workflowSpanId = generator.generateWorkflowSpanId("arn:exec1"); var workflow = generator.startSpan( @@ -112,6 +118,7 @@ void scopedTraceId_isConsumedBeforeSamplerStartsNestedRoot() { try (var provider = SdkTracerProvider.builder() .setIdGenerator(agentGenerator) .setSampler(sampler) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) .build()) { var tracer = provider.get("durable-plugin"); tracerReference.set(tracer); @@ -134,8 +141,10 @@ void scopedTraceId_isConsumedBeforeSamplerStartsNestedRoot() { void concurrentScopedIds_doNotOverwriteEachOther() throws Exception { var agentGenerator = new DeterministicIdGenerator(); var executor = Executors.newFixedThreadPool(2); - try (var provider = - SdkTracerProvider.builder().setIdGenerator(agentGenerator).build()) { + try (var provider = SdkTracerProvider.builder() + .setIdGenerator(agentGenerator) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) + .build()) { var tracer = provider.get("durable-plugin"); var barrier = new CyclicBarrier(2); var traceId1 = generator.generateTraceIdForExecution("arn:exec1", EXECUTION_START_TIME); @@ -165,7 +174,9 @@ void concurrentScopedIds_doNotOverwriteEachOther() throws Exception { void installOn_preservesConfiguredFallbackGenerator() { var fallbackTraceId = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; var fallbackSpanId = "cccccccccccccccc"; - var builder = SdkTracerProvider.builder().setIdGenerator(fixedIds(fallbackTraceId, fallbackSpanId)); + var builder = SdkTracerProvider.builder() + .setIdGenerator(fixedIds(fallbackTraceId, fallbackSpanId)) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())); var installedGenerator = DeterministicIdGenerator.installOn(builder); try (var provider = builder.build()) { diff --git a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/ReplacementSamplerPolicyTest.java b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/ReplacementSamplerPolicyTest.java index b682a9ea3..03c601e09 100644 --- a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/ReplacementSamplerPolicyTest.java +++ b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/ReplacementSamplerPolicyTest.java @@ -15,6 +15,8 @@ import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.data.LinkData; +import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; import io.opentelemetry.sdk.trace.samplers.SamplingResult; import java.time.Duration; @@ -71,6 +73,7 @@ public String getDescription() { try (var provider = SdkTracerProvider.builder() .setSampler(topology.equals("plain") ? configured : DurableSampler.wrap(configured)) .setIdGenerator(new DeterministicIdGenerator()) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) .build()) { var opaque = new TracerProvider() { public Tracer get(String name) { diff --git a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/RootStartProcessorIsolationTest.java b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/RootStartProcessorIsolationTest.java index df7f52dd0..04277e3ec 100644 --- a/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/RootStartProcessorIsolationTest.java +++ b/otel-plugin/src/test/java/software/amazon/lambda/durable/otel/RootStartProcessorIsolationTest.java @@ -14,6 +14,8 @@ import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.SpanProcessor; import io.opentelemetry.sdk.trace.data.LinkData; +import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; import io.opentelemetry.sdk.trace.samplers.SamplingResult; import java.time.Instant; @@ -72,6 +74,7 @@ void durableStartCallbacksRetainTheirOwnSamplingAndRandomIds( : SdkTracerProvider.builder() .setSampler(DurableSampler.wrap(policy)) .setIdGenerator(new DeterministicIdGenerator()) + .addSpanProcessor(SimpleSpanProcessor.create(SpanExporter.noop())) .build()) { observer.tracer = unrelated.get("processor"); var original = Context.current();