From 2bb23b0c06232087c4d77278fd39c749ae3da1f9 Mon Sep 17 00:00:00 2001 From: Marius Volkhart Date: Thu, 16 Jul 2026 15:01:08 -0400 Subject: [PATCH] Rebase patches onto upstream v1.37.0 Fixes #23. Upstream v1.37.0 restructured the contrib modules, which broke the patch series in three ways: - Upstream added its own `temporal-opentelemetry` contrib module (a Tally-> OTel metrics/stats reporter built on the opentracing-shim). It collides by name with the fork's native OTel *tracing* module. Renamed the fork module to `temporal-opentelemetry-tracing` so upstream and fork can never clash again on a bump; upstream's variant stays excluded (it needs the excluded temporal-opentracing and only does metrics, which we get natively). - The fork now ships `temporal-workflowstreams`. Enabling it under the Serde- only stack needed more than an include: its public-field wire DTOs get @Serdeable + @Introspected(accessKind=FIELD) (Serde drops public fields otherwise), and its build.gradle needs the Serde annotation processor or @Serdeable compiles but generates no introspection (runtime SerdeException). - New contrib modules temporal-aws-lambda, plus upstream's temporal- opentelemetry, are excluded. aws-lambda hard-depends on temporal-envconfig (jackson-toml) and upstream temporal-opentelemetry (opentracing); resolving those is deferred. settings.gradle/temporal-bom reconciled for the new module layout; LocalActivityMarkerMetadata re-Serde-annotated onto upstream's javadoc change. Verified on JDK 25: :temporal-workflowstreams:test (37/37), :temporal-opentelemetry-tracing:test, and the SDK serde suites all pass; spotlessCheck clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- .upstream-version | 2 +- ...Replace-Jackson-with-Micronaut-Serde.patch | 220 +++++++++++++-- ...ce-grpc-netty-shaded-with-grpc-netty.patch | 2 +- ...hange-groupId-to-com.pkware.temporal.patch | 2 +- patches/0004-Add-Wire-protobuf-support.patch | 2 +- ...penTelemetry-instrumentation-support.patch | 266 +++++++++--------- 6 files changed, 343 insertions(+), 151 deletions(-) diff --git a/.upstream-version b/.upstream-version index b5a0280..b909b32 100644 --- a/.upstream-version +++ b/.upstream-version @@ -1 +1 @@ -v1.36.1 +v1.37.0 diff --git a/patches/0001-Replace-Jackson-with-Micronaut-Serde.patch b/patches/0001-Replace-Jackson-with-Micronaut-Serde.patch index 78a128c..5063248 100644 --- a/patches/0001-Replace-Jackson-with-Micronaut-Serde.patch +++ b/patches/0001-Replace-Jackson-with-Micronaut-Serde.patch @@ -1,4 +1,4 @@ -From 6e5446e244d12485a04307934d9fc4f5d3b77ab2 Mon Sep 17 00:00:00 2001 +From 408fb99b7d0bb72142deefe4c75b78814e2694b4 Mon Sep 17 00:00:00 2001 From: Marius Volkhart Date: Thu, 21 May 2026 14:36:55 -0400 Subject: [PATCH] Replace Jackson with Micronaut Serde @@ -18,12 +18,20 @@ Error Prone disabled on the 25 modules. Removes jackson-databind, moshi, and okio from the runtime classpath. --- build.gradle | 12 +- + contrib/temporal-workflowstreams/build.gradle | 8 +- + .../temporal/workflowstreams/PollInput.java | 4 + + .../temporal/workflowstreams/PollResult.java | 4 + + .../workflowstreams/PublishEntry.java | 4 + + .../workflowstreams/PublishInput.java | 4 + + .../io/temporal/workflowstreams/WireItem.java | 4 + + .../workflowstreams/WorkflowStreamState.java | 4 + + gradle.properties | 7 + gradle/errorprone.gradle | 8 +- gradle/java.gradle | 12 +- gradle/linting.gradle | 4 +- gradle/wrapper/gradle-wrapper.properties | 2 +- - settings.gradle | 22 +- - temporal-bom/build.gradle | 7 - + settings.gradle | 32 +- + temporal-bom/build.gradle | 9 - temporal-remote-data-encoder/build.gradle | 2 +- temporal-sdk/build.gradle | 108 +------ .../Jackson3JsonPayloadConverterTest.java | 216 ------------- @@ -75,7 +83,8 @@ and okio from the runtime classpath. temporal-test-server/build.gradle | 15 +- .../testservice/TestVisibilityStoreImpl.java | 49 +++ temporal-testing/build.gradle | 2 + - 58 files changed, 1081 insertions(+), 1024 deletions(-) + 66 files changed, 1124 insertions(+), 1032 deletions(-) + create mode 100644 gradle.properties delete mode 100644 temporal-sdk/src/jackson3Tests/java/io/temporal/common/converter/Jackson3JsonPayloadConverterTest.java create mode 100644 temporal-sdk/src/main/java/io/temporal/common/converter/DurationMillisSerde.java create mode 100644 temporal-sdk/src/main/java/io/temporal/common/converter/InternalSerdeMapper.java @@ -121,6 +130,170 @@ index 6dcbcc7..15bdcdd 100644 junitVersion = '4.13.2' // Edge Dependencies are used by tests to validate the SDK with the latest version of various libraries. // Not just the version of the library the SDK is built against. +diff --git a/contrib/temporal-workflowstreams/build.gradle b/contrib/temporal-workflowstreams/build.gradle +index 46a8ec9..2ff802e 100644 +--- a/contrib/temporal-workflowstreams/build.gradle ++++ b/contrib/temporal-workflowstreams/build.gradle +@@ -3,8 +3,12 @@ description = '''Temporal Workflow Streams: a durable, multi-topic pub/sub log h + dependencies { + // this module shouldn't carry temporal-sdk with it, especially for situations when users may be using a shaded artifact + compileOnly project(':temporal-sdk') +- // Jackson annotations lock the cross-SDK wire field names; provided at runtime by temporal-sdk +- compileOnly "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" ++ // @JsonProperty locks the cross-SDK wire field names; Micronaut Serde honors it via ++ // micronaut-serde-jackson (provided transitively by temporal-sdk). The Serde processor must run ++ // in this module to generate @Serdeable introspections for the wire DTOs. ++ annotationProcessor "io.micronaut:micronaut-inject-java:$micronautVersion" ++ annotationProcessor "io.micronaut.serde:micronaut-serde-processor:$micronautSerdeVersion" ++ compileOnly "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" + + testImplementation project(':temporal-sdk') + testImplementation project(':temporal-testing') +diff --git a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PollInput.java b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PollInput.java +index 3731330..d8543cc 100644 +--- a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PollInput.java ++++ b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PollInput.java +@@ -1,6 +1,8 @@ + package io.temporal.workflowstreams; + + import com.fasterxml.jackson.annotation.JsonProperty; ++import io.micronaut.core.annotation.Introspected; ++import io.micronaut.serde.annotation.Serdeable; + import io.temporal.common.Experimental; + import java.util.ArrayList; + import java.util.List; +@@ -12,6 +14,8 @@ import java.util.List; + * with exactly these names. + */ + @Experimental ++@Serdeable ++@Introspected(accessKind = {Introspected.AccessKind.FIELD, Introspected.AccessKind.METHOD}) + public final class PollInput { + /** Topics to filter on. Empty means all topics. */ + @JsonProperty("topics") +diff --git a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PollResult.java b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PollResult.java +index 5a1c0f0..2e804fd 100644 +--- a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PollResult.java ++++ b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PollResult.java +@@ -1,6 +1,8 @@ + package io.temporal.workflowstreams; + + import com.fasterxml.jackson.annotation.JsonProperty; ++import io.micronaut.core.annotation.Introspected; ++import io.micronaut.serde.annotation.Serdeable; + import io.temporal.common.Experimental; + import java.util.ArrayList; + import java.util.List; +@@ -14,6 +16,8 @@ import java.util.List; + * with exactly these names. + */ + @Experimental ++@Serdeable ++@Introspected(accessKind = {Introspected.AccessKind.FIELD, Introspected.AccessKind.METHOD}) + public final class PollResult { + @JsonProperty("items") + public List items = new ArrayList<>(); +diff --git a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PublishEntry.java b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PublishEntry.java +index f11b2c9..a7da5a7 100644 +--- a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PublishEntry.java ++++ b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PublishEntry.java +@@ -1,6 +1,8 @@ + package io.temporal.workflowstreams; + + import com.fasterxml.jackson.annotation.JsonProperty; ++import io.micronaut.core.annotation.Introspected; ++import io.micronaut.serde.annotation.Serdeable; + import io.temporal.common.Experimental; + + /** +@@ -11,6 +13,8 @@ import io.temporal.common.Experimental; + * with exactly these names. + */ + @Experimental ++@Serdeable ++@Introspected(accessKind = {Introspected.AccessKind.FIELD, Introspected.AccessKind.METHOD}) + public final class PublishEntry { + @JsonProperty("topic") + public String topic; +diff --git a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PublishInput.java b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PublishInput.java +index f0c2c40..19222a9 100644 +--- a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PublishInput.java ++++ b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/PublishInput.java +@@ -1,6 +1,8 @@ + package io.temporal.workflowstreams; + + import com.fasterxml.jackson.annotation.JsonProperty; ++import io.micronaut.core.annotation.Introspected; ++import io.micronaut.serde.annotation.Serdeable; + import io.temporal.common.Experimental; + import java.util.ArrayList; + import java.util.List; +@@ -12,6 +14,8 @@ import java.util.List; + * with exactly these names. + */ + @Experimental ++@Serdeable ++@Introspected(accessKind = {Introspected.AccessKind.FIELD, Introspected.AccessKind.METHOD}) + public final class PublishInput { + @JsonProperty("items") + public List items = new ArrayList<>(); +diff --git a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/WireItem.java b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/WireItem.java +index b88dd90..2050956 100644 +--- a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/WireItem.java ++++ b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/WireItem.java +@@ -1,6 +1,8 @@ + package io.temporal.workflowstreams; + + import com.fasterxml.jackson.annotation.JsonProperty; ++import io.micronaut.core.annotation.Introspected; ++import io.micronaut.serde.annotation.Serdeable; + import io.temporal.common.Experimental; + + /** +@@ -11,6 +13,8 @@ import io.temporal.common.Experimental; + * with exactly these names. + */ + @Experimental ++@Serdeable ++@Introspected(accessKind = {Introspected.AccessKind.FIELD, Introspected.AccessKind.METHOD}) + public final class WireItem { + @JsonProperty("topic") + public String topic; +diff --git a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/WorkflowStreamState.java b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/WorkflowStreamState.java +index da80394..1593c96 100644 +--- a/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/WorkflowStreamState.java ++++ b/contrib/temporal-workflowstreams/src/main/java/io/temporal/workflowstreams/WorkflowStreamState.java +@@ -1,6 +1,8 @@ + package io.temporal.workflowstreams; + + import com.fasterxml.jackson.annotation.JsonProperty; ++import io.micronaut.core.annotation.Introspected; ++import io.micronaut.serde.annotation.Serdeable; + import io.temporal.common.Experimental; + import java.util.ArrayList; + import java.util.HashMap; +@@ -16,6 +18,8 @@ import java.util.Map; + * with exactly these names. + */ + @Experimental ++@Serdeable ++@Introspected(accessKind = {Introspected.AccessKind.FIELD, Introspected.AccessKind.METHOD}) + public final class WorkflowStreamState { + @JsonProperty("log") + public List log = new ArrayList<>(); +diff --git a/gradle.properties b/gradle.properties +new file mode 100644 +index 0000000..cebc62b +--- /dev/null ++++ b/gradle.properties +@@ -0,0 +1,7 @@ ++wireVersion=6.4.0 ++micronautSerdeVersion=3.0.0 ++micronautVersion=5.0.0 ++openTelemetryVersion=1.63.0 ++# JDK 25 + Gradle 9 + Micronaut Serde codegen need more heap than Gradle's 512MB default; ++# the full parallel test suite OOMs otherwise. ++org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=768m diff --git a/gradle/errorprone.gradle b/gradle/errorprone.gradle index 0334b3e..7175c0d 100644 --- a/gradle/errorprone.gradle @@ -207,27 +380,39 @@ index df97d72..a351597 100644 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle b/settings.gradle -index fe80370..dd49169 100644 +index 3699ff1..99b7028 100644 --- a/settings.gradle +++ b/settings.gradle -@@ -4,14 +4,18 @@ include 'temporal-serviceclient' +@@ -4,20 +4,26 @@ include 'temporal-serviceclient' include 'temporal-sdk' include 'temporal-testing' include 'temporal-test-server' -include 'temporal-opentracing' -project(':temporal-opentracing').projectDir = file('contrib/temporal-opentracing') +-include 'temporal-opentelemetry' +-project(':temporal-opentelemetry').projectDir = file('contrib/temporal-opentelemetry') -include 'temporal-kotlin' -include 'temporal-spring-ai' -project(':temporal-spring-ai').projectDir = file('contrib/temporal-spring-ai') --include 'temporal-spring-boot-autoconfigure' --include 'temporal-spring-boot-starter' +// Excluded: not needed by PKWARE consumers (we use OpenTelemetry) +// include 'temporal-opentracing' +// project(':temporal-opentracing').projectDir = file('contrib/temporal-opentracing') ++// Excluded: upstream OTel stats reporter depends on temporal-opentracing; not needed by PKWARE ++// include 'temporal-opentelemetry' ++// project(':temporal-opentelemetry').projectDir = file('contrib/temporal-opentelemetry') +// Excluded: uses Jackson's KotlinObjectMapperFactory, not needed by PKWARE consumers +// include 'temporal-kotlin' +// include 'temporal-spring-ai' +// project(':temporal-spring-ai').projectDir = file('contrib/temporal-spring-ai') + include 'temporal-workflowstreams' + project(':temporal-workflowstreams').projectDir = file('contrib/temporal-workflowstreams') +-include 'temporal-aws-lambda' +-project(':temporal-aws-lambda').projectDir = file('contrib/temporal-aws-lambda') +-include 'temporal-spring-boot-autoconfigure' +-include 'temporal-spring-boot-starter' ++// Excluded: depends on temporal-envconfig (jackson-toml) and upstream temporal-opentelemetry (opentracing) ++// include 'temporal-aws-lambda' ++// project(':temporal-aws-lambda').projectDir = file('contrib/temporal-aws-lambda') +// Excluded: not needed by PKWARE consumers +// include 'temporal-spring-boot-autoconfigure' +// include 'temporal-spring-boot-starter' @@ -239,15 +424,17 @@ index fe80370..dd49169 100644 +// Excluded: uses jackson-dataformat-toml, not needed by PKWARE consumers +// include 'temporal-envconfig' diff --git a/temporal-bom/build.gradle b/temporal-bom/build.gradle -index e73d0d3..18f0c5c 100644 +index 0316334..d4cc5c8 100644 --- a/temporal-bom/build.gradle +++ b/temporal-bom/build.gradle -@@ -6,17 +6,10 @@ description = '''Temporal Java BOM''' +@@ -6,20 +6,11 @@ description = '''Temporal Java BOM''' dependencies { constraints { - api project(':temporal-kotlin') +- api project(':temporal-opentelemetry') - api project(':temporal-opentracing') +- api project(':temporal-aws-lambda') api project(':temporal-remote-data-encoder') api project(':temporal-sdk') api project(':temporal-serviceclient') @@ -258,6 +445,7 @@ index e73d0d3..18f0c5c 100644 api project(':temporal-test-server') api project(':temporal-testing') - api project(':temporal-envconfig') + api project(':temporal-workflowstreams') } } diff --git a/temporal-remote-data-encoder/build.gradle b/temporal-remote-data-encoder/build.gradle @@ -1296,7 +1484,7 @@ index 91d496b..7365e79 100644 nextRetryDelay, category == null ? ApplicationErrorCategory.UNSPECIFIED : category); diff --git a/temporal-sdk/src/main/java/io/temporal/internal/common/InternalUtils.java b/temporal-sdk/src/main/java/io/temporal/internal/common/InternalUtils.java -index 0886802..a15efbc 100644 +index 72987e3..1319588 100644 --- a/temporal-sdk/src/main/java/io/temporal/internal/common/InternalUtils.java +++ b/temporal-sdk/src/main/java/io/temporal/internal/common/InternalUtils.java @@ -1,6 +1,5 @@ @@ -1314,7 +1502,7 @@ index 0886802..a15efbc 100644 import java.util.*; import java.util.stream.Collectors; -@@ -80,7 +80,7 @@ public final class InternalUtils { +@@ -81,7 +81,7 @@ public final class InternalUtils { operationToken = OperationTokenUtil.generateWorkflowRunOperationToken( options.getWorkflowId(), nexusContext.getNamespace()); @@ -1438,7 +1626,7 @@ index c96f47f..3f84cb8 100644 // single-value search attribute return Collections.singletonList( diff --git a/temporal-sdk/src/main/java/io/temporal/internal/history/LocalActivityMarkerMetadata.java b/temporal-sdk/src/main/java/io/temporal/internal/history/LocalActivityMarkerMetadata.java -index 8e29a67..3c00c74 100644 +index 03e00f9..b67507b 100644 --- a/temporal-sdk/src/main/java/io/temporal/internal/history/LocalActivityMarkerMetadata.java +++ b/temporal-sdk/src/main/java/io/temporal/internal/history/LocalActivityMarkerMetadata.java @@ -1,7 +1,9 @@ @@ -1454,7 +1642,7 @@ index 8e29a67..3c00c74 100644 @@ -9,24 +11,31 @@ import javax.annotation.Nullable; * See Core + * href="https://github.com/temporalio/sdk-core/blob/main/protos/local/temporal/sdk/core/external_data/external_data.proto#L12">Core * Data Structure + * + *

Serialized only via the library-private internal Serde mapper, where {@code backoff} ({@link @@ -2805,10 +2993,10 @@ index 1f22fe8..e55aa7b 100644 Assert.assertEquals("workflowId", token.getWorkflowId()); } diff --git a/temporal-sdk/src/test/java/io/temporal/internal/statemachines/VersionStateMachineTest.java b/temporal-sdk/src/test/java/io/temporal/internal/statemachines/VersionStateMachineTest.java -index 62fcf50..66b97f3 100644 +index 5a6d54f..4435d43 100644 --- a/temporal-sdk/src/test/java/io/temporal/internal/statemachines/VersionStateMachineTest.java +++ b/temporal-sdk/src/test/java/io/temporal/internal/statemachines/VersionStateMachineTest.java -@@ -1188,7 +1188,7 @@ public class VersionStateMachineTest { +@@ -1419,7 +1419,7 @@ public class VersionStateMachineTest { null, c); }) diff --git a/patches/0002-Replace-grpc-netty-shaded-with-grpc-netty.patch b/patches/0002-Replace-grpc-netty-shaded-with-grpc-netty.patch index fc63d95..4511ee5 100644 --- a/patches/0002-Replace-grpc-netty-shaded-with-grpc-netty.patch +++ b/patches/0002-Replace-grpc-netty-shaded-with-grpc-netty.patch @@ -1,4 +1,4 @@ -From 5d829f26de9647f4e32031a40bebfd363c163b16 Mon Sep 17 00:00:00 2001 +From 1769b14327934400639410eed507686b7d3f49cf Mon Sep 17 00:00:00 2001 From: Marius Volkhart Date: Thu, 25 Jun 2026 12:18:14 -0400 Subject: [PATCH] Replace grpc-netty-shaded with grpc-netty diff --git a/patches/0003-Change-groupId-to-com.pkware.temporal.patch b/patches/0003-Change-groupId-to-com.pkware.temporal.patch index 65ba86c..946de72 100644 --- a/patches/0003-Change-groupId-to-com.pkware.temporal.patch +++ b/patches/0003-Change-groupId-to-com.pkware.temporal.patch @@ -1,4 +1,4 @@ -From 4229ef7e88ada91887f57aeb2bb627a8574178ef Mon Sep 17 00:00:00 2001 +From 9aca5b32cf30ddc395433c42fb02ecbedff7c28b Mon Sep 17 00:00:00 2001 From: Marius Volkhart Date: Thu, 21 May 2026 14:53:54 -0400 Subject: [PATCH] Change groupId to com.pkware.temporal diff --git a/patches/0004-Add-Wire-protobuf-support.patch b/patches/0004-Add-Wire-protobuf-support.patch index d9f7fe2..e4ef711 100644 --- a/patches/0004-Add-Wire-protobuf-support.patch +++ b/patches/0004-Add-Wire-protobuf-support.patch @@ -1,4 +1,4 @@ -From 86287f8c4e7643aecfbfd4f9eedb0f9fa1b081a1 Mon Sep 17 00:00:00 2001 +From 91b71f3b1470406d8a6793b7cf9c5be3b033735c Mon Sep 17 00:00:00 2001 From: Marius Volkhart Date: Sat, 27 Jun 2026 15:10:41 -0400 Subject: [PATCH] Add Wire protobuf support diff --git a/patches/0005-Add-OpenTelemetry-instrumentation-support.patch b/patches/0005-Add-OpenTelemetry-instrumentation-support.patch index 32e2f2a..50d2eb8 100644 --- a/patches/0005-Add-OpenTelemetry-instrumentation-support.patch +++ b/patches/0005-Add-OpenTelemetry-instrumentation-support.patch @@ -1,11 +1,11 @@ -From f7890cae6c4fce3a795b927e25fe70983d67a1da Mon Sep 17 00:00:00 2001 +From a7001f75b77be52562d6c5b526914bbcd298f2eb Mon Sep 17 00:00:00 2001 From: Marius Volkhart Date: Wed, 1 Jul 2026 17:25:34 -0400 Subject: [PATCH] Add OpenTelemetry instrumentation support --- - settings.gradle | 3 +- - temporal-opentelemetry/build.gradle | 20 ++ + settings.gradle | 4 +- + temporal-opentelemetry-tracing/build.gradle | 20 ++ .../OpenTelemetryClientInterceptor.java | 30 ++ .../opentelemetry/OpenTelemetryOptions.java | 165 ++++++++++ .../OpenTelemetrySpanContextCodec.java | 23 ++ @@ -46,70 +46,74 @@ Subject: [PATCH] Add OpenTelemetry instrumentation support .../opentelemetry/WorkflowRetryTest.java | 214 +++++++++++++ .../opentelemetry/integration/OTLPTest.java | 211 +++++++++++++ .../worker/WorkflowEvictionTest.java | 114 +++++++ - 42 files changed, 4820 insertions(+), 1 deletion(-) - create mode 100644 temporal-opentelemetry/build.gradle - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryClientInterceptor.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryOptions.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetrySpanContextCodec.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryWorkerInterceptor.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanBuilderProvider.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanCreationContext.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanOperationType.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/StandardTagNames.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/MapTextMapGetter.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/MapTextMapSetter.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/TextMapCodec.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/TextMapInjectExtractCodec.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/ActionTypeAndNameSpanBuilderProvider.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/ContextAccessor.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryActivityInboundCallsInterceptor.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryNexusOperationInboundCallsInterceptor.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowClientCallsInterceptor.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowInboundCallsInterceptor.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowOutboundCallsInterceptor.java - create mode 100644 temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/SpanFactory.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ActivityFailureTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/AsyncChildWorkflowTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/AsyncLambdaTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/CallbackContextTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ContinueAsNewTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/CustomSpanNamingTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ExceptionIgnoredTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/LocalActivityTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/NexusOperationTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/NoClientSpanTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/OpenTelemetryBaseTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/OpenTelemetrySpansHelper.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/SignalWithStartTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/SpanContextPropagationTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/TestOpenTelemetrySpanBuilderProvider.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/TestSpanBuilderProvider.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/WorkflowReplayTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/WorkflowRetryTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/integration/OTLPTest.java - create mode 100644 temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/worker/WorkflowEvictionTest.java + 42 files changed, 4821 insertions(+), 1 deletion(-) + create mode 100644 temporal-opentelemetry-tracing/build.gradle + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryClientInterceptor.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryOptions.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetrySpanContextCodec.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryWorkerInterceptor.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanBuilderProvider.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanCreationContext.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanOperationType.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/StandardTagNames.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/MapTextMapGetter.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/MapTextMapSetter.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/TextMapCodec.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/TextMapInjectExtractCodec.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/ActionTypeAndNameSpanBuilderProvider.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/ContextAccessor.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryActivityInboundCallsInterceptor.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryNexusOperationInboundCallsInterceptor.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowClientCallsInterceptor.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowInboundCallsInterceptor.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowOutboundCallsInterceptor.java + create mode 100644 temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/SpanFactory.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ActivityFailureTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/AsyncChildWorkflowTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/AsyncLambdaTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/CallbackContextTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ContinueAsNewTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/CustomSpanNamingTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ExceptionIgnoredTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/LocalActivityTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/NexusOperationTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/NoClientSpanTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/OpenTelemetryBaseTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/OpenTelemetrySpansHelper.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/SignalWithStartTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/SpanContextPropagationTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/TestOpenTelemetrySpanBuilderProvider.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/TestSpanBuilderProvider.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/WorkflowReplayTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/WorkflowRetryTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/integration/OTLPTest.java + create mode 100644 temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/worker/WorkflowEvictionTest.java diff --git a/settings.gradle b/settings.gradle -index dd49169..fa347b5 100644 +index 99b7028..fd884d5 100644 --- a/settings.gradle +++ b/settings.gradle -@@ -4,9 +4,10 @@ include 'temporal-serviceclient' +@@ -4,12 +4,14 @@ include 'temporal-serviceclient' include 'temporal-sdk' include 'temporal-testing' include 'temporal-test-server' -// Excluded: not needed by PKWARE consumers (we use OpenTelemetry) -+// Excluded: superseded by temporal-opentelemetry (native OTel instrumentation) ++// Excluded: superseded by temporal-opentelemetry-tracing (native OTel instrumentation) // include 'temporal-opentracing' // project(':temporal-opentracing').projectDir = file('contrib/temporal-opentracing') -+include 'temporal-opentelemetry' + // Excluded: upstream OTel stats reporter depends on temporal-opentracing; not needed by PKWARE + // include 'temporal-opentelemetry' + // project(':temporal-opentelemetry').projectDir = file('contrib/temporal-opentelemetry') ++// PKWARE-added: native OpenTelemetry tracing instrumentation (client + worker interceptors) ++include 'temporal-opentelemetry-tracing' // Excluded: uses Jackson's KotlinObjectMapperFactory, not needed by PKWARE consumers // include 'temporal-kotlin' // include 'temporal-spring-ai' -diff --git a/temporal-opentelemetry/build.gradle b/temporal-opentelemetry/build.gradle +diff --git a/temporal-opentelemetry-tracing/build.gradle b/temporal-opentelemetry-tracing/build.gradle new file mode 100644 index 0000000..4c1e270 --- /dev/null -+++ b/temporal-opentelemetry/build.gradle ++++ b/temporal-opentelemetry-tracing/build.gradle @@ -0,0 +1,20 @@ +description = '''Temporal Java SDK OpenTelemetry Support Module''' + @@ -131,11 +135,11 @@ index 0000000..4c1e270 + + testRuntimeOnly group: 'ch.qos.logback', name: 'logback-classic', version: "${logbackVersion}" +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryClientInterceptor.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryClientInterceptor.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryClientInterceptor.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryClientInterceptor.java new file mode 100644 index 0000000..4f6c139 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryClientInterceptor.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryClientInterceptor.java @@ -0,0 +1,30 @@ +package io.temporal.opentelemetry; + @@ -167,11 +171,11 @@ index 0000000..4f6c139 + next, options, spanFactory, contextAccessor); + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryOptions.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryOptions.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryOptions.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryOptions.java new file mode 100644 index 0000000..2652a03 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryOptions.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryOptions.java @@ -0,0 +1,165 @@ +package io.temporal.opentelemetry; + @@ -338,11 +342,11 @@ index 0000000..2652a03 + } + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetrySpanContextCodec.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetrySpanContextCodec.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetrySpanContextCodec.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetrySpanContextCodec.java new file mode 100644 index 0000000..09fbb8a --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetrySpanContextCodec.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetrySpanContextCodec.java @@ -0,0 +1,23 @@ +package io.temporal.opentelemetry; + @@ -367,11 +371,11 @@ index 0000000..09fbb8a + + Context decode(Map serializedContext, TextMapPropagator propagator); +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryWorkerInterceptor.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryWorkerInterceptor.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryWorkerInterceptor.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryWorkerInterceptor.java new file mode 100644 index 0000000..1d42758 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/OpenTelemetryWorkerInterceptor.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/OpenTelemetryWorkerInterceptor.java @@ -0,0 +1,40 @@ +package io.temporal.opentelemetry; + @@ -413,11 +417,11 @@ index 0000000..1d42758 + next, options, spanFactory, contextAccessor); + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanBuilderProvider.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanBuilderProvider.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanBuilderProvider.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanBuilderProvider.java new file mode 100644 index 0000000..0210388 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanBuilderProvider.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanBuilderProvider.java @@ -0,0 +1,12 @@ +package io.temporal.opentelemetry; + @@ -431,11 +435,11 @@ index 0000000..0210388 + io.opentelemetry.api.trace.SpanBuilder createSpanBuilder( + Tracer tracer, SpanCreationContext spanCreationContext); +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanCreationContext.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanCreationContext.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanCreationContext.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanCreationContext.java new file mode 100644 index 0000000..6b31477 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanCreationContext.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanCreationContext.java @@ -0,0 +1,111 @@ +package io.temporal.opentelemetry; + @@ -548,11 +552,11 @@ index 0000000..6b31477 + } + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanOperationType.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanOperationType.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanOperationType.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanOperationType.java new file mode 100644 index 0000000..6371271 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/SpanOperationType.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/SpanOperationType.java @@ -0,0 +1,31 @@ +package io.temporal.opentelemetry; + @@ -585,11 +589,11 @@ index 0000000..6371271 + return defaultPrefix; + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/StandardTagNames.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/StandardTagNames.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/StandardTagNames.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/StandardTagNames.java new file mode 100644 index 0000000..9c66759 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/StandardTagNames.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/StandardTagNames.java @@ -0,0 +1,12 @@ +package io.temporal.opentelemetry; + @@ -603,11 +607,11 @@ index 0000000..9c66759 + + public static final String EVICTED = "evicted"; +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/MapTextMapGetter.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/MapTextMapGetter.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/MapTextMapGetter.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/MapTextMapGetter.java new file mode 100644 index 0000000..4dc9a4c --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/MapTextMapGetter.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/MapTextMapGetter.java @@ -0,0 +1,27 @@ +package io.temporal.opentelemetry.codec; + @@ -636,11 +640,11 @@ index 0000000..4dc9a4c + return carrier.get(key); + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/MapTextMapSetter.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/MapTextMapSetter.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/MapTextMapSetter.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/MapTextMapSetter.java new file mode 100644 index 0000000..23822e1 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/MapTextMapSetter.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/MapTextMapSetter.java @@ -0,0 +1,23 @@ +package io.temporal.opentelemetry.codec; + @@ -665,11 +669,11 @@ index 0000000..23822e1 + } + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/TextMapCodec.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/TextMapCodec.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/TextMapCodec.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/TextMapCodec.java new file mode 100644 index 0000000..332bdb2 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/TextMapCodec.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/TextMapCodec.java @@ -0,0 +1,32 @@ +package io.temporal.opentelemetry.codec; + @@ -703,11 +707,11 @@ index 0000000..332bdb2 + return propagator.extract(Context.current(), serializedContext, MapTextMapGetter.INSTANCE); + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/TextMapInjectExtractCodec.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/TextMapInjectExtractCodec.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/TextMapInjectExtractCodec.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/TextMapInjectExtractCodec.java new file mode 100644 index 0000000..951941f --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/codec/TextMapInjectExtractCodec.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/codec/TextMapInjectExtractCodec.java @@ -0,0 +1,35 @@ +package io.temporal.opentelemetry.codec; + @@ -744,11 +748,11 @@ index 0000000..951941f + return propagator.extract(Context.current(), serializedContext, MapTextMapGetter.INSTANCE); + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/ActionTypeAndNameSpanBuilderProvider.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/ActionTypeAndNameSpanBuilderProvider.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/ActionTypeAndNameSpanBuilderProvider.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/ActionTypeAndNameSpanBuilderProvider.java new file mode 100644 index 0000000..b124787 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/ActionTypeAndNameSpanBuilderProvider.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/ActionTypeAndNameSpanBuilderProvider.java @@ -0,0 +1,197 @@ +package io.temporal.opentelemetry.internal; + @@ -947,11 +951,11 @@ index 0000000..b124787 + } + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/ContextAccessor.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/ContextAccessor.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/ContextAccessor.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/ContextAccessor.java new file mode 100644 index 0000000..fcc480f --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/ContextAccessor.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/ContextAccessor.java @@ -0,0 +1,75 @@ +package io.temporal.opentelemetry.internal; + @@ -1028,11 +1032,11 @@ index 0000000..fcc480f + return propagator.extract(Context.current(), header, MapTextMapGetter.INSTANCE); + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryActivityInboundCallsInterceptor.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryActivityInboundCallsInterceptor.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryActivityInboundCallsInterceptor.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryActivityInboundCallsInterceptor.java new file mode 100644 index 0000000..09f9e5a --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryActivityInboundCallsInterceptor.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryActivityInboundCallsInterceptor.java @@ -0,0 +1,71 @@ +package io.temporal.opentelemetry.internal; + @@ -1105,11 +1109,11 @@ index 0000000..09f9e5a + } + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryNexusOperationInboundCallsInterceptor.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryNexusOperationInboundCallsInterceptor.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryNexusOperationInboundCallsInterceptor.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryNexusOperationInboundCallsInterceptor.java new file mode 100644 index 0000000..bf7c31d --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryNexusOperationInboundCallsInterceptor.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryNexusOperationInboundCallsInterceptor.java @@ -0,0 +1,77 @@ +package io.temporal.opentelemetry.internal; + @@ -1188,11 +1192,11 @@ index 0000000..bf7c31d + } + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowClientCallsInterceptor.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowClientCallsInterceptor.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowClientCallsInterceptor.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowClientCallsInterceptor.java new file mode 100644 index 0000000..8888e38 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowClientCallsInterceptor.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowClientCallsInterceptor.java @@ -0,0 +1,125 @@ +package io.temporal.opentelemetry.internal; + @@ -1319,11 +1323,11 @@ index 0000000..8888e38 + tracer, operationType, input.getWorkflowType(), input.getOptions().getWorkflowId()); + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowInboundCallsInterceptor.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowInboundCallsInterceptor.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowInboundCallsInterceptor.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowInboundCallsInterceptor.java new file mode 100644 index 0000000..39556c8 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowInboundCallsInterceptor.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowInboundCallsInterceptor.java @@ -0,0 +1,152 @@ +package io.temporal.opentelemetry.internal; + @@ -1477,11 +1481,11 @@ index 0000000..39556c8 + } + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowOutboundCallsInterceptor.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowOutboundCallsInterceptor.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowOutboundCallsInterceptor.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowOutboundCallsInterceptor.java new file mode 100644 index 0000000..c8ac379 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowOutboundCallsInterceptor.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/OpenTelemetryWorkflowOutboundCallsInterceptor.java @@ -0,0 +1,250 @@ +package io.temporal.opentelemetry.internal; + @@ -1733,11 +1737,11 @@ index 0000000..c8ac379 + continuedWorkflowInfo.getRunId()); + } +} -diff --git a/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/SpanFactory.java b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/SpanFactory.java +diff --git a/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/SpanFactory.java b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/SpanFactory.java new file mode 100644 index 0000000..1b87a21 --- /dev/null -+++ b/temporal-opentelemetry/src/main/java/io/temporal/opentelemetry/internal/SpanFactory.java ++++ b/temporal-opentelemetry-tracing/src/main/java/io/temporal/opentelemetry/internal/SpanFactory.java @@ -0,0 +1,254 @@ +package io.temporal.opentelemetry.internal; + @@ -1993,11 +1997,11 @@ index 0000000..1b87a21 + return builder; + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ActivityFailureTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ActivityFailureTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ActivityFailureTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ActivityFailureTest.java new file mode 100644 index 0000000..b3ff369 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ActivityFailureTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ActivityFailureTest.java @@ -0,0 +1,282 @@ +package io.temporal.opentelemetry; + @@ -2281,11 +2285,11 @@ index 0000000..b3ff369 + assertEquals(StatusCode.UNSET, thirdAttemptSpan.getStatus().getStatusCode()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/AsyncChildWorkflowTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/AsyncChildWorkflowTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/AsyncChildWorkflowTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/AsyncChildWorkflowTest.java new file mode 100644 index 0000000..7aac94a --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/AsyncChildWorkflowTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/AsyncChildWorkflowTest.java @@ -0,0 +1,163 @@ +package io.temporal.opentelemetry; + @@ -2450,11 +2454,11 @@ index 0000000..7aac94a + assertEquals("RunWorkflow:ChildWorkflow", childWorkflowRunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/AsyncLambdaTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/AsyncLambdaTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/AsyncLambdaTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/AsyncLambdaTest.java new file mode 100644 index 0000000..a4097d4 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/AsyncLambdaTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/AsyncLambdaTest.java @@ -0,0 +1,146 @@ +package io.temporal.opentelemetry; + @@ -2602,11 +2606,11 @@ index 0000000..a4097d4 + workflowChildren.size()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/CallbackContextTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/CallbackContextTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/CallbackContextTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/CallbackContextTest.java new file mode 100644 index 0000000..d7530e9 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/CallbackContextTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/CallbackContextTest.java @@ -0,0 +1,169 @@ +package io.temporal.opentelemetry; + @@ -2777,11 +2781,11 @@ index 0000000..d7530e9 + } + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ContinueAsNewTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ContinueAsNewTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ContinueAsNewTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ContinueAsNewTest.java new file mode 100644 index 0000000..df9545d --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ContinueAsNewTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ContinueAsNewTest.java @@ -0,0 +1,144 @@ +package io.temporal.opentelemetry; + @@ -2927,11 +2931,11 @@ index 0000000..df9545d + assertEquals("RunWorkflow:TestWorkflow", continueAsNewRunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/CustomSpanNamingTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/CustomSpanNamingTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/CustomSpanNamingTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/CustomSpanNamingTest.java new file mode 100644 index 0000000..2516d9f --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/CustomSpanNamingTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/CustomSpanNamingTest.java @@ -0,0 +1,234 @@ +package io.temporal.opentelemetry; + @@ -3167,11 +3171,11 @@ index 0000000..2516d9f + activitySuccessfulRunSpan.getAttributes().get(AttributeKey.stringKey("resource.name"))); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ExceptionIgnoredTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ExceptionIgnoredTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ExceptionIgnoredTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ExceptionIgnoredTest.java new file mode 100644 index 0000000..5a97522 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/ExceptionIgnoredTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/ExceptionIgnoredTest.java @@ -0,0 +1,190 @@ +package io.temporal.opentelemetry; + @@ -3363,11 +3367,11 @@ index 0000000..5a97522 + assertEquals("RunActivity:Activity", successfulActivityRunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/LocalActivityTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/LocalActivityTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/LocalActivityTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/LocalActivityTest.java new file mode 100644 index 0000000..58caf06 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/LocalActivityTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/LocalActivityTest.java @@ -0,0 +1,141 @@ +package io.temporal.opentelemetry; + @@ -3510,11 +3514,11 @@ index 0000000..58caf06 + assertEquals("RunActivity:Activity", activityRunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/NexusOperationTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/NexusOperationTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/NexusOperationTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/NexusOperationTest.java new file mode 100644 index 0000000..f63903b --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/NexusOperationTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/NexusOperationTest.java @@ -0,0 +1,200 @@ +package io.temporal.opentelemetry; + @@ -3716,11 +3720,11 @@ index 0000000..f63903b + assertEquals("RunWorkflow:TestOtherWorkflow", otherWorkflowRunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/NoClientSpanTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/NoClientSpanTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/NoClientSpanTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/NoClientSpanTest.java new file mode 100644 index 0000000..4753af0 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/NoClientSpanTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/NoClientSpanTest.java @@ -0,0 +1,81 @@ +package io.temporal.opentelemetry; + @@ -3803,11 +3807,11 @@ index 0000000..4753af0 + assertEquals("bar", workflow.workflow("input")); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/OpenTelemetryBaseTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/OpenTelemetryBaseTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/OpenTelemetryBaseTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/OpenTelemetryBaseTest.java new file mode 100644 index 0000000..f1f284f --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/OpenTelemetryBaseTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/OpenTelemetryBaseTest.java @@ -0,0 +1,55 @@ +package io.temporal.opentelemetry; + @@ -3864,11 +3868,11 @@ index 0000000..f1f284f + spanExporter.reset(); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/OpenTelemetrySpansHelper.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/OpenTelemetrySpansHelper.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/OpenTelemetrySpansHelper.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/OpenTelemetrySpansHelper.java new file mode 100644 index 0000000..313d186 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/OpenTelemetrySpansHelper.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/OpenTelemetrySpansHelper.java @@ -0,0 +1,128 @@ +package io.temporal.opentelemetry; + @@ -3998,11 +4002,11 @@ index 0000000..313d186 + .collect(Collectors.toList()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/SignalWithStartTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/SignalWithStartTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/SignalWithStartTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/SignalWithStartTest.java new file mode 100644 index 0000000..653cb60 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/SignalWithStartTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/SignalWithStartTest.java @@ -0,0 +1,139 @@ +package io.temporal.opentelemetry; + @@ -4143,11 +4147,11 @@ index 0000000..653cb60 + } + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/SpanContextPropagationTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/SpanContextPropagationTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/SpanContextPropagationTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/SpanContextPropagationTest.java new file mode 100644 index 0000000..f0094cd --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/SpanContextPropagationTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/SpanContextPropagationTest.java @@ -0,0 +1,160 @@ +package io.temporal.opentelemetry; + @@ -4309,11 +4313,11 @@ index 0000000..f0094cd + assertEquals("RunActivity:Activity1", activityRunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/TestOpenTelemetrySpanBuilderProvider.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/TestOpenTelemetrySpanBuilderProvider.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/TestOpenTelemetrySpanBuilderProvider.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/TestOpenTelemetrySpanBuilderProvider.java new file mode 100644 index 0000000..02f00d5 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/TestOpenTelemetrySpanBuilderProvider.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/TestOpenTelemetrySpanBuilderProvider.java @@ -0,0 +1,43 @@ +package io.temporal.opentelemetry; + @@ -4358,11 +4362,11 @@ index 0000000..02f00d5 + return tags; + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/TestSpanBuilderProvider.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/TestSpanBuilderProvider.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/TestSpanBuilderProvider.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/TestSpanBuilderProvider.java new file mode 100644 index 0000000..5d0a38a --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/TestSpanBuilderProvider.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/TestSpanBuilderProvider.java @@ -0,0 +1,39 @@ +package io.temporal.opentelemetry; + @@ -4403,11 +4407,11 @@ index 0000000..5d0a38a + } + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/WorkflowReplayTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/WorkflowReplayTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/WorkflowReplayTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/WorkflowReplayTest.java new file mode 100644 index 0000000..5b8db00 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/WorkflowReplayTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/WorkflowReplayTest.java @@ -0,0 +1,203 @@ +package io.temporal.opentelemetry; + @@ -4612,11 +4616,11 @@ index 0000000..5b8db00 + assertEquals("RunActivity:Activity2", activity2RunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/WorkflowRetryTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/WorkflowRetryTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/WorkflowRetryTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/WorkflowRetryTest.java new file mode 100644 index 0000000..6614318 --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/WorkflowRetryTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/WorkflowRetryTest.java @@ -0,0 +1,214 @@ +package io.temporal.opentelemetry; + @@ -4832,11 +4836,11 @@ index 0000000..6614318 + assertEquals("RunActivity:Activity2", activity2RunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/integration/OTLPTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/integration/OTLPTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/integration/OTLPTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/integration/OTLPTest.java new file mode 100644 index 0000000..c44487a --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/integration/OTLPTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/integration/OTLPTest.java @@ -0,0 +1,211 @@ +package io.temporal.opentelemetry.integration; + @@ -5049,11 +5053,11 @@ index 0000000..c44487a + assertEquals("RunWorkflow:TestWorkflow", workflowRunSpan.getName()); + } +} -diff --git a/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/worker/WorkflowEvictionTest.java b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/worker/WorkflowEvictionTest.java +diff --git a/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/worker/WorkflowEvictionTest.java b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/worker/WorkflowEvictionTest.java new file mode 100644 index 0000000..d43cdca --- /dev/null -+++ b/temporal-opentelemetry/src/test/java/io/temporal/opentelemetry/worker/WorkflowEvictionTest.java ++++ b/temporal-opentelemetry-tracing/src/test/java/io/temporal/opentelemetry/worker/WorkflowEvictionTest.java @@ -0,0 +1,114 @@ +package io.temporal.opentelemetry.worker; +