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();