From 4c81d49cc53f329811b5c2db57018c7bb0a33102 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Tue, 9 Jul 2024 18:20:33 +0800 Subject: [PATCH 01/43] upgrade-semantic-1.26 --- dependencyManagement/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index b86aa88d22df..6b78979261e9 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -46,7 +46,7 @@ val asmVersion = "9.7" val jmhVersion = "1.37" val mockitoVersion = "4.11.0" val slf4jVersion = "2.0.13" -val semConvVersion = "1.25.0-alpha" +val semConvVersion = "1.26.0-alpha" val CORE_DEPENDENCIES = listOf( "io.opentelemetry.semconv:opentelemetry-semconv:${semConvVersion}", From 2cb97fcc8b20279e0f758fd0af5d342660e90b79 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 15:26:58 +0300 Subject: [PATCH 02/43] chore(deps): update gradle/actions action to v3.4.2 (main) (#11770) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/pr-smoke-test-early-jdk8-images.yml | 2 +- .github/workflows/publish-smoke-test-early-jdk8-images.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-smoke-test-early-jdk8-images.yml b/.github/workflows/pr-smoke-test-early-jdk8-images.yml index 2f5749cac24e..b733cbc764f3 100644 --- a/.github/workflows/pr-smoke-test-early-jdk8-images.yml +++ b/.github/workflows/pr-smoke-test-early-jdk8-images.yml @@ -25,7 +25,7 @@ jobs: java-version-file: .java-version - name: Setup Gradle - uses: gradle/actions/setup-gradle@d9336dac04dea2507a617466bc058a3def92b18b # v3.4.0 + uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2 with: cache-read-only: true # gradle enterprise is used for the build cache diff --git a/.github/workflows/publish-smoke-test-early-jdk8-images.yml b/.github/workflows/publish-smoke-test-early-jdk8-images.yml index dcaa3085e541..0a2687b12f58 100644 --- a/.github/workflows/publish-smoke-test-early-jdk8-images.yml +++ b/.github/workflows/publish-smoke-test-early-jdk8-images.yml @@ -35,7 +35,7 @@ jobs: run: echo "TAG=$(date '+%Y%m%d').$GITHUB_RUN_ID" >> $GITHUB_ENV - name: Setup Gradle - uses: gradle/actions/setup-gradle@d9336dac04dea2507a617466bc058a3def92b18b # v3.4.0 + uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2 - name: Build Docker image run: ./gradlew :smoke-tests:images:early-jdk8:dockerPush -PextraTag=${{ env.TAG }} From ff5bf5d6aed8724bbd8432c398c8b79533c49799 Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Tue, 9 Jul 2024 17:35:37 +0300 Subject: [PATCH 03/43] Enable early jdk8 test (#11777) --- .../workflows/publish-smoke-test-early-jdk8-images.yml | 6 +----- .../io/opentelemetry/smoketest/CrashEarlyJdk8Test.groovy | 9 +-------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/.github/workflows/publish-smoke-test-early-jdk8-images.yml b/.github/workflows/publish-smoke-test-early-jdk8-images.yml index 0a2687b12f58..3cff3f2bf689 100644 --- a/.github/workflows/publish-smoke-test-early-jdk8-images.yml +++ b/.github/workflows/publish-smoke-test-early-jdk8-images.yml @@ -46,8 +46,4 @@ jobs: if: always() uses: ./.github/workflows/reusable-workflow-notification.yml with: - success: >- - ${{ - needs.publishLinux.result == 'success' && - needs.publishWindows.result == 'success' - }} + success: ${{ needs.publish.result == 'success' }} diff --git a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/CrashEarlyJdk8Test.groovy b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/CrashEarlyJdk8Test.groovy index e1aefc5b128d..c6f79a2fea6d 100644 --- a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/CrashEarlyJdk8Test.groovy +++ b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/CrashEarlyJdk8Test.groovy @@ -13,7 +13,6 @@ import org.testcontainers.containers.output.Slf4jLogConsumer import org.testcontainers.containers.wait.strategy.Wait import org.testcontainers.utility.DockerImageName import org.testcontainers.utility.MountableFile -import spock.lang.Ignore import spock.lang.IgnoreIf import spock.lang.Specification @@ -25,12 +24,6 @@ import static io.opentelemetry.smoketest.TestContainerManager.useWindowsContaine // java.lang.invoke.CallSite // This test verifies that such jvm does not crash with opentelemetry agent @IgnoreIf({ useWindowsContainers() }) -// com.github.dockerjava.api.exception.DockerClientException: Could not pull image: [DEPRECATION NOTICE] -// Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default -// and will be removed in an upcoming release. Suggest the author of docker.io/azul/zulu-openjdk:8u31 -// to upgrade the image to the OCI Format or Docker Image manifest v2, schema 2. More information -// at https://docs.docker.com/go/deprecated-image-specs/ -@Ignore class CrashEarlyJdk8Test extends Specification { private static final Logger logger = LoggerFactory.getLogger(CrashEarlyJdk8Test) @@ -40,7 +33,7 @@ class CrashEarlyJdk8Test extends Specification { def "test crash on early jdk8"() { setup: GenericContainer target = - new GenericContainer<>(DockerImageName.parse("azul/zulu-openjdk:8u31")) + new GenericContainer<>(DockerImageName.parse("ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-zulu-openjdk-8u31:20240709.9848833570")) .withStartupTimeout(Duration.ofMinutes(5)) .withLogConsumer(new Slf4jLogConsumer(logger)) .withCopyFileToContainer( From aa22d4774f1d7a48efc2d1fca76b2ac12be732c8 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Tue, 9 Jul 2024 23:07:37 +0800 Subject: [PATCH 04/43] fix licenses.md --- licenses/licenses.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/licenses/licenses.md b/licenses/licenses.md index 1ed39a0d3b56..c50bdf6f6419 100644 --- a/licenses/licenses.md +++ b/licenses/licenses.md @@ -1,7 +1,7 @@ # javaagent ## Dependency License Report -_2024-07-08 16:22:15 PDT_ +_2024-07-09 23:05:09 CST_ ## Apache License, Version 2.0 **1** **Group:** `com.blogspot.mydailyjava` **Name:** `weak-lock-free` **Version:** `0.18` @@ -159,11 +159,11 @@ _2024-07-08 16:22:15 PDT_ > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**36** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv` **Version:** `1.25.0-alpha` +**36** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv` **Version:** `1.26.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/semantic-conventions-java](https://github.com/open-telemetry/semantic-conventions-java) > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) -**37** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv-incubating` **Version:** `1.25.0-alpha` +**37** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv-incubating` **Version:** `1.26.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/semantic-conventions-java](https://github.com/open-telemetry/semantic-conventions-java) > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) From a46c8a0c7c8695221c0daa5e3792f207504b7664 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Tue, 9 Jul 2024 23:50:14 +0800 Subject: [PATCH 05/43] Add Pulsar MessagingProducerMetrics (#11591) Co-authored-by: Lauri Tulmin Co-authored-by: Steve Rao --- .../build.gradle.kts | 1 + .../messaging/MessagingMetricsAdvice.java | 50 +++++++ .../messaging/MessagingProducerMetrics.java | 85 ++++++++++++ .../MessagingProducerMetricsTest.java | 122 ++++++++++++++++++ .../v2_8/telemetry/PulsarSingletons.java | 4 +- .../pulsar/v2_8/AbstractPulsarClientTest.java | 25 ++++ 6 files changed, 286 insertions(+), 1 deletion(-) create mode 100644 instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingMetricsAdvice.java create mode 100644 instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetrics.java create mode 100644 instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetricsTest.java diff --git a/instrumentation-api-incubator/build.gradle.kts b/instrumentation-api-incubator/build.gradle.kts index 6acb75e5f79d..00d887da1b25 100644 --- a/instrumentation-api-incubator/build.gradle.kts +++ b/instrumentation-api-incubator/build.gradle.kts @@ -21,6 +21,7 @@ dependencies { testImplementation(project(":testing-common")) testImplementation("io.opentelemetry:opentelemetry-sdk") testImplementation("io.opentelemetry:opentelemetry-sdk-testing") + testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating") } tasks { diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingMetricsAdvice.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingMetricsAdvice.java new file mode 100644 index 000000000000..8ada61c1683f --- /dev/null +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingMetricsAdvice.java @@ -0,0 +1,50 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.api.incubator.semconv.messaging; + +import static java.util.Arrays.asList; +import static java.util.Collections.unmodifiableList; + +import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder; +import io.opentelemetry.api.metrics.DoubleHistogramBuilder; +import io.opentelemetry.semconv.ErrorAttributes; +import io.opentelemetry.semconv.ServerAttributes; +import java.util.List; + +final class MessagingMetricsAdvice { + static final List DURATION_SECONDS_BUCKETS = + unmodifiableList( + asList(0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1.0, 2.5, 5.0, 7.5, 10.0)); + + // copied from MessagingIncubatingAttributes + private static final AttributeKey MESSAGING_SYSTEM = + AttributeKey.stringKey("messaging.system"); + private static final AttributeKey MESSAGING_DESTINATION_NAME = + AttributeKey.stringKey("messaging.destination.name"); + private static final AttributeKey MESSAGING_OPERATION = + AttributeKey.stringKey("messaging.operation"); + private static final AttributeKey MESSAGING_BATCH_MESSAGE_COUNT = + AttributeKey.longKey("messaging.batch.message_count"); + + static void applyPublishDurationAdvice(DoubleHistogramBuilder builder) { + if (!(builder instanceof ExtendedDoubleHistogramBuilder)) { + return; + } + ((ExtendedDoubleHistogramBuilder) builder) + .setAttributesAdvice( + asList( + MESSAGING_SYSTEM, + MESSAGING_DESTINATION_NAME, + MESSAGING_OPERATION, + MESSAGING_BATCH_MESSAGE_COUNT, + ErrorAttributes.ERROR_TYPE, + ServerAttributes.SERVER_PORT, + ServerAttributes.SERVER_ADDRESS)); + } + + private MessagingMetricsAdvice() {} +} diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetrics.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetrics.java new file mode 100644 index 000000000000..44d5b243744a --- /dev/null +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetrics.java @@ -0,0 +1,85 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.api.incubator.semconv.messaging; + +import static java.util.logging.Level.FINE; + +import com.google.auto.value.AutoValue; +import com.google.errorprone.annotations.CanIgnoreReturnValue; +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.metrics.DoubleHistogram; +import io.opentelemetry.api.metrics.DoubleHistogramBuilder; +import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.context.Context; +import io.opentelemetry.context.ContextKey; +import io.opentelemetry.instrumentation.api.instrumenter.OperationListener; +import io.opentelemetry.instrumentation.api.instrumenter.OperationMetrics; +import io.opentelemetry.instrumentation.api.internal.OperationMetricsUtil; +import java.util.concurrent.TimeUnit; +import java.util.logging.Logger; + +/** + * {@link OperationListener} which keeps track of Producer + * metrics. + */ +public final class MessagingProducerMetrics implements OperationListener { + private static final double NANOS_PER_S = TimeUnit.SECONDS.toNanos(1); + + private static final ContextKey MESSAGING_PRODUCER_METRICS_STATE = + ContextKey.named("messaging-producer-metrics-state"); + private static final Logger logger = Logger.getLogger(MessagingProducerMetrics.class.getName()); + + private final DoubleHistogram publishDurationHistogram; + + private MessagingProducerMetrics(Meter meter) { + DoubleHistogramBuilder durationBuilder = + meter + .histogramBuilder("messaging.publish.duration") + .setDescription("Measures the duration of publish operation.") + .setExplicitBucketBoundariesAdvice(MessagingMetricsAdvice.DURATION_SECONDS_BUCKETS) + .setUnit("s"); + MessagingMetricsAdvice.applyPublishDurationAdvice(durationBuilder); + publishDurationHistogram = durationBuilder.build(); + } + + public static OperationMetrics get() { + return OperationMetricsUtil.create("messaging produce", MessagingProducerMetrics::new); + } + + @Override + @CanIgnoreReturnValue + public Context onStart(Context context, Attributes startAttributes, long startNanos) { + return context.with( + MESSAGING_PRODUCER_METRICS_STATE, + new AutoValue_MessagingProducerMetrics_State(startAttributes, startNanos)); + } + + @Override + public void onEnd(Context context, Attributes endAttributes, long endNanos) { + MessagingProducerMetrics.State state = context.get(MESSAGING_PRODUCER_METRICS_STATE); + if (state == null) { + logger.log( + FINE, + "No state present when ending context {0}. Cannot record produce publish metrics.", + context); + return; + } + + Attributes attributes = state.startAttributes().toBuilder().putAll(endAttributes).build(); + + publishDurationHistogram.record( + (endNanos - state.startTimeNanos()) / NANOS_PER_S, attributes, context); + } + + @AutoValue + abstract static class State { + + abstract Attributes startAttributes(); + + abstract long startTimeNanos(); + } +} diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetricsTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetricsTest.java new file mode 100644 index 000000000000..491387253ee9 --- /dev/null +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetricsTest.java @@ -0,0 +1,122 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.api.incubator.semconv.messaging; + +import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; +import static org.assertj.core.api.Assertions.assertThat; + +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.SpanContext; +import io.opentelemetry.api.trace.TraceFlags; +import io.opentelemetry.api.trace.TraceState; +import io.opentelemetry.context.Context; +import io.opentelemetry.instrumentation.api.instrumenter.OperationListener; +import io.opentelemetry.sdk.metrics.SdkMeterProvider; +import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions; +import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader; +import io.opentelemetry.semconv.ServerAttributes; +import io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes; +import java.util.concurrent.TimeUnit; +import org.junit.jupiter.api.Test; + +class MessagingProducerMetricsTest { + + private static final double[] DURATION_BUCKETS = + MessagingMetricsAdvice.DURATION_SECONDS_BUCKETS.stream().mapToDouble(d -> d).toArray(); + + @Test + void collectsMetrics() { + InMemoryMetricReader metricReader = InMemoryMetricReader.create(); + SdkMeterProvider meterProvider = + SdkMeterProvider.builder().registerMetricReader(metricReader).build(); + + OperationListener listener = MessagingProducerMetrics.get().create(meterProvider.get("test")); + + Attributes requestAttributes = + Attributes.builder() + .put(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "pulsar") + .put( + MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, + "persistent://public/default/topic") + .put(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish") + .put(ServerAttributes.SERVER_PORT, 6650) + .put(ServerAttributes.SERVER_ADDRESS, "localhost") + .build(); + + Attributes responseAttributes = + Attributes.builder() + .put(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, "1:1:0:0") + .put(MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT, 2) + .build(); + + Context parent = + Context.root() + .with( + Span.wrap( + SpanContext.create( + "ff01020304050600ff0a0b0c0d0e0f00", + "090a0b0c0d0e0f00", + TraceFlags.getSampled(), + TraceState.getDefault()))); + + Context context1 = listener.onStart(parent, requestAttributes, nanos(100)); + + assertThat(metricReader.collectAllMetrics()).isEmpty(); + + Context context2 = listener.onStart(Context.root(), requestAttributes, nanos(150)); + + assertThat(metricReader.collectAllMetrics()).isEmpty(); + + listener.onEnd(context1, responseAttributes, nanos(250)); + + assertThat(metricReader.collectAllMetrics()) + .satisfiesExactlyInAnyOrder( + metric -> + OpenTelemetryAssertions.assertThat(metric) + .hasName("messaging.publish.duration") + .hasUnit("s") + .hasDescription("Measures the duration of publish operation.") + .hasHistogramSatisfying( + histogram -> + histogram.hasPointsSatisfying( + point -> + point + .hasSum(0.15 /* seconds */) + .hasAttributesSatisfying( + equalTo( + MessagingIncubatingAttributes.MESSAGING_SYSTEM, + "pulsar"), + equalTo( + MessagingIncubatingAttributes + .MESSAGING_DESTINATION_NAME, + "persistent://public/default/topic"), + equalTo(ServerAttributes.SERVER_PORT, 6650), + equalTo(ServerAttributes.SERVER_ADDRESS, "localhost")) + .hasExemplarsSatisfying( + exemplar -> + exemplar + .hasTraceId("ff01020304050600ff0a0b0c0d0e0f00") + .hasSpanId("090a0b0c0d0e0f00")) + .hasBucketBoundaries(DURATION_BUCKETS)))); + + listener.onEnd(context2, responseAttributes, nanos(300)); + + assertThat(metricReader.collectAllMetrics()) + .satisfiesExactlyInAnyOrder( + metric -> + OpenTelemetryAssertions.assertThat(metric) + .hasName("messaging.publish.duration") + .hasHistogramSatisfying( + histogram -> + histogram.hasPointsSatisfying( + point -> point.hasSum(0.3 /* seconds */)))); + } + + private static long nanos(int millis) { + return TimeUnit.MILLISECONDS.toNanos(millis); + } +} diff --git a/instrumentation/pulsar/pulsar-2.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/telemetry/PulsarSingletons.java b/instrumentation/pulsar/pulsar-2.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/telemetry/PulsarSingletons.java index 1d05086ef401..1ab6aa3f48ac 100644 --- a/instrumentation/pulsar/pulsar-2.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/telemetry/PulsarSingletons.java +++ b/instrumentation/pulsar/pulsar-2.8/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/telemetry/PulsarSingletons.java @@ -13,6 +13,7 @@ import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessageOperation; import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingAttributesExtractor; import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingAttributesGetter; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingProducerMetrics; import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; @@ -136,7 +137,8 @@ private static Instrumenter createProducerInstrumenter() { .addAttributesExtractor( createMessagingAttributesExtractor(getter, MessageOperation.PUBLISH)) .addAttributesExtractor( - ServerAttributesExtractor.create(new PulsarNetClientAttributesGetter())); + ServerAttributesExtractor.create(new PulsarNetClientAttributesGetter())) + .addOperationMetrics(MessagingProducerMetrics.get()); if (AgentInstrumentationConfig.get() .getBoolean("otel.instrumentation.pulsar.experimental-span-attributes", false)) { diff --git a/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java b/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java index f32daa20e074..7883d5082c4f 100644 --- a/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java +++ b/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java @@ -22,6 +22,7 @@ import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.sdk.testing.assertj.AttributeAssertion; +import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions; import io.opentelemetry.sdk.trace.data.LinkData; import io.opentelemetry.sdk.trace.data.SpanData; import java.time.Duration; @@ -76,6 +77,10 @@ abstract class AbstractPulsarClientTest { private static final AttributeKey MESSAGE_TYPE = AttributeKey.stringKey("messaging.pulsar.message.type"); + private static final double[] DURATION_BUCKETS = + new double[] { + 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1.0, 2.5, 5.0, 7.5, 10.0 + }; @BeforeAll static void beforeAll() throws PulsarClientException { @@ -163,6 +168,26 @@ void testConsumeNonPartitionedTopicUsingBatchReceive() throws Exception { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( batchReceiveAttributes(topic, null, false)))); + + assertThat(testing.metrics()) + .satisfiesExactlyInAnyOrder( + metric -> + OpenTelemetryAssertions.assertThat(metric) + .hasName("messaging.publish.duration") + .hasUnit("s") + .hasDescription("Measures the duration of publish operation.") + .hasHistogramSatisfying( + histogram -> + histogram.hasPointsSatisfying( + point -> + point + .hasSumGreaterThan(0.0) + .hasAttributesSatisfying( + equalTo(MESSAGING_SYSTEM, "pulsar"), + equalTo(MESSAGING_DESTINATION_NAME, topic), + equalTo(SERVER_PORT, brokerPort), + equalTo(SERVER_ADDRESS, brokerHost)) + .hasBucketBoundaries(DURATION_BUCKETS)))); } @Test From e64e8c0b807e4e2d6a1f30fe735e36e981eae8fb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 12:29:53 -0700 Subject: [PATCH 06/43] chore(deps): update actions/setup-node action to v4.0.3 (main) (#11780) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build-common.yml | 2 +- .github/workflows/reusable-test-indy.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-common.yml b/.github/workflows/build-common.yml index 7d17d949dad4..699c378cb9c7 100644 --- a/.github/workflows/build-common.yml +++ b/.github/workflows/build-common.yml @@ -235,7 +235,7 @@ jobs: # vaadin 14 tests fail with node 18 - name: Set up Node - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 16 diff --git a/.github/workflows/reusable-test-indy.yml b/.github/workflows/reusable-test-indy.yml index 70ad4815bcd0..a3c736666229 100644 --- a/.github/workflows/reusable-test-indy.yml +++ b/.github/workflows/reusable-test-indy.yml @@ -46,7 +46,7 @@ jobs: # vaadin 14 tests fail with node 18 - name: Set up Node - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 16 From 3e9c291970927c6e227c38f205e48fd8a51dd029 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 12:30:13 -0700 Subject: [PATCH 07/43] fix(deps): update dependency org.assertj:assertj-core to v3.26.3 (main) (#11781) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- conventions/build.gradle.kts | 2 +- dependencyManagement/build.gradle.kts | 2 +- examples/distro/gradle/instrumentation.gradle | 2 +- gradle-plugins/build.gradle.kts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/conventions/build.gradle.kts b/conventions/build.gradle.kts index 39811c6acc93..1788a9afe43d 100644 --- a/conventions/build.gradle.kts +++ b/conventions/build.gradle.kts @@ -74,5 +74,5 @@ dependencies { testImplementation(enforcedPlatform("org.junit:junit-bom:5.10.3")) testImplementation("org.junit.jupiter:junit-jupiter-api") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") - testImplementation("org.assertj:assertj-core:3.26.0") + testImplementation("org.assertj:assertj-core:3.26.3") } diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index b86aa88d22df..146c5b68ca7c 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -104,7 +104,7 @@ val DEPENDENCIES = listOf( "io.opentelemetry.contrib:opentelemetry-gcp-resources:${otelContribVersion}", "io.opentelemetry.proto:opentelemetry-proto:1.3.2-alpha", "io.opentelemetry:opentelemetry-extension-annotations:1.18.0", // deprecated, no longer part of bom - "org.assertj:assertj-core:3.26.0", + "org.assertj:assertj-core:3.26.3", "org.awaitility:awaitility:4.2.1", "com.google.code.findbugs:annotations:3.0.1u2", "com.google.code.findbugs:jsr305:3.0.2", diff --git a/examples/distro/gradle/instrumentation.gradle b/examples/distro/gradle/instrumentation.gradle index ccaa22fc12b3..da861688cecd 100644 --- a/examples/distro/gradle/instrumentation.gradle +++ b/examples/distro/gradle/instrumentation.gradle @@ -25,7 +25,7 @@ dependencies { // test dependencies testImplementation("io.opentelemetry.javaagent:opentelemetry-testing-common") testImplementation("io.opentelemetry:opentelemetry-sdk-testing") - testImplementation("org.assertj:assertj-core:3.26.0") + testImplementation("org.assertj:assertj-core:3.26.3") add("codegen", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling:${versions.opentelemetryJavaagentAlpha}") add("muzzleBootstrap", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations-support:${versions.opentelemetryJavaagentAlpha}") diff --git a/gradle-plugins/build.gradle.kts b/gradle-plugins/build.gradle.kts index 3ca3ba705c78..7e682abae417 100644 --- a/gradle-plugins/build.gradle.kts +++ b/gradle-plugins/build.gradle.kts @@ -41,7 +41,7 @@ dependencies { implementation("com.github.johnrengelman:shadow:8.1.1") - testImplementation("org.assertj:assertj-core:3.26.0") + testImplementation("org.assertj:assertj-core:3.26.3") testImplementation(enforcedPlatform("org.junit:junit-bom:5.10.3")) testImplementation("org.junit.jupiter:junit-jupiter-api") From 776faaeb45d7a3e8e39657d533fd2d9743e5b568 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 10:29:35 +0800 Subject: [PATCH 08/43] fix ci --- .../db/DbClientAttributesExtractor.java | 8 +- .../db/DbClientCommonAttributesExtractor.java | 4 +- .../db/SqlClientAttributesExtractor.java | 8 +- .../SqlClientAttributesExtractorBuilder.java | 4 +- .../db/DbClientAttributesExtractorTest.java | 6 +- .../db/SqlClientAttributesExtractorTest.java | 16 ++-- .../MessagingAttributesExtractorTest.java | 2 +- .../v2_2/AwsLambdaSqsEventWrapperTest.java | 2 +- .../v2_2/AwsLambdaSqsMessageHandlerTest.java | 6 +- .../AbstractAwsLambdaSqsEventHandlerTest.java | 4 +- .../src/test/groovy/S3TracingTest.groovy | 4 +- .../src/test/groovy/SnsTracingTest.groovy | 2 +- .../AbstractSqsSuppressReceiveSpansTest.java | 8 +- .../awssdk/v1_11/AbstractSqsTracingTest.java | 12 +-- .../v2_2/TracingExecutionInterceptor.java | 4 +- .../v2_2/AbstractAws2ClientCoreTest.groovy | 6 +- .../awssdk/v2_2/AbstractAws2ClientTest.groovy | 4 +- ...ractAws2SqsSuppressReceiveSpansTest.groovy | 10 +-- ...AbstractAws2ClientRecordHttpErrorTest.java | 2 +- .../v2_2/AbstractAws2SqsTracingTest.java | 12 +-- .../decorators/DbSpanDecorator.java | 4 +- .../decorators/KafkaSpanDecorator.java | 2 +- .../apachecamel/aws/AwsSpanAssertions.java | 6 +- .../apachecamel/decorators/CassandraTest.java | 4 +- .../src/test/java/CassandraClientTest.java | 24 +++--- .../v4/common/AbstractCassandraTest.java | 18 ++-- .../v4_4/AbstractCassandra44Test.java | 12 +-- .../clickhouse/ClickHouseClientTest.java | 6 +- .../src/test/groovy/CouchbaseSpanUtil.groovy | 6 +- .../groovy/util/AbstractCouchbaseTest.groovy | 6 +- .../apiclient/ElasticsearchClientTest.java | 6 +- .../Elasticsearch5NodeClientTest.groovy | 14 +-- .../Elasticsearch5TransportClientTest.groovy | 14 +-- .../Elasticsearch53NodeClientTest.groovy | 14 +-- .../Elasticsearch53TransportClientTest.groovy | 14 +-- ...Elasticsearch53SpringRepositoryTest.groovy | 20 ++--- .../Elasticsearch53SpringTemplateTest.groovy | 16 ++-- .../Elasticsearch6NodeClientTest.groovy | 12 +-- .../Elasticsearch6TransportClientTest.groovy | 14 +-- .../instrumentation/geode/PutGetTest.java | 14 +-- .../hibernate/v3_3/AbstractHibernateTest.java | 16 ++-- .../hibernate/v4_0/CriteriaTest.java | 8 +- .../hibernate/v4_0/EntityManagerTest.java | 40 ++++----- .../hibernate/v4_0/QueryTest.java | 24 +++--- .../hibernate/v4_0/SessionTest.java | 72 ++++++++-------- .../test/java/spring/jpa/SpringJpaTest.java | 86 +++++++++---------- .../hibernate/v6_0/CriteriaTest.java | 8 +- .../hibernate/v6_0/EntityManagerTest.java | 24 +++--- .../hibernate/v6_0/ProcedureCallTest.java | 6 +- .../hibernate/v6_0/SessionTest.java | 24 +++--- .../src/test/groovy/SpringJpaTest.groovy | 78 ++++++++--------- .../hibernate/v4_3/ProcedureCallTest.java | 6 +- .../reactive/v1_0/HibernateReactiveTest.java | 16 ++-- .../reactive/v2_0/HibernateReactiveTest.java | 16 ++-- .../influxdb/v2_4/InfluxDbClientTest.java | 6 +- .../influxdb/v2_4/InfluxDbClient24Test.java | 6 +- .../groovy/JdbcInstrumentationTest.groovy | 84 +++++++++--------- .../scalaexecutors/SlickTest.scala | 6 +- .../DataSourceDbAttributesExtractor.java | 4 +- .../jdbc/datasource/JdbcTelemetryTest.java | 4 +- .../OpenTelemetryDataSourceTest.java | 2 +- .../internal/OpenTelemetryConnectionTest.java | 8 +- .../jedis/AbstractJedisTest.java | 20 ++--- .../jedis/v3_0/Jedis30ClientTest.java | 20 ++--- .../jedis/v4_0/Jedis40ClientTest.java | 20 ++--- .../jms/v1_1/Jms2InstrumentationTest.java | 8 +- .../jms/v1_1/AbstractJms1Test.java | 12 +-- .../jms/v1_1/Jms1InstrumentationTest.java | 4 +- .../v1_1/Jms1SuppressReceiveSpansTest.java | 4 +- .../jms/v3_0/AbstractJms3Test.java | 8 +- .../jms/v3_0/Jms3InstrumentationTest.java | 4 +- .../v3_0/Jms3SuppressReceiveSpansTest.java | 4 +- .../kafka/internal/KafkaClientBaseTest.java | 6 +- .../InterceptorsSuppressReceiveSpansTest.java | 4 +- .../kafkaclients/v2_6/InterceptorsTest.java | 6 +- .../v2_6/WrapperSuppressReceiveSpansTest.java | 4 +- .../kafkaclients/v2_6/WrapperTest.java | 6 +- .../groovy/KafkaStreamsDefaultTest.groovy | 12 +-- ...afkaStreamsSuppressReceiveSpansTest.groovy | 8 +- .../lettuce/v4_0/LettuceAsyncClientTest.java | 20 ++--- .../lettuce/v4_0/LettuceSyncClientTest.java | 18 ++-- .../lettuce/v5_0/LettuceAsyncClientTest.java | 40 ++++----- .../v5_0/LettuceReactiveClientTest.java | 56 ++++++------ .../lettuce/v5_0/LettuceSyncClientTest.java | 36 ++++---- .../v5_1/LettuceReactiveClientTest.java | 4 +- .../lettuce/v5_1/OpenTelemetryTracing.java | 4 +- .../v5_1/AbstractLettuceAsyncClientTest.java | 12 +-- .../AbstractLettuceReactiveClientTest.java | 18 ++-- .../AbstractLettuceSyncClientAuthTest.java | 2 +- .../v5_1/AbstractLettuceSyncClientTest.java | 26 +++--- .../testing/AbstractMongoClientTest.groovy | 6 +- .../src/test/java/OpenSearchRestTest.java | 8 +- .../pulsar/v2_8/AbstractPulsarClientTest.java | 2 +- .../v1_0/AbstractR2dbcStatementTest.java | 16 ++-- .../rabbitmq/RabbitMqTest.java | 2 +- .../kafka/v1_0/AbstractReactorKafkaTest.java | 6 +- .../test/groovy/RediscalaClientTest.groovy | 6 +- .../AbstractRedissonAsyncClientTest.java | 18 ++-- .../redisson/AbstractRedissonClientTest.java | 56 ++++++------ .../v4_8/AbstractRocketMqClientTest.java | 20 ++--- ...RocketMqClientSuppressReceiveSpanTest.java | 2 +- .../v5_0/AbstractRocketMqClientTest.java | 2 +- ...cInstrumentationAutoConfigurationTest.java | 4 +- .../data/v3_0/ReactiveSpringDataTest.java | 16 ++-- .../src/main/java/AbstractSpringJpaTest.java | 86 +++++++++---------- .../SpringIntegrationAndRabbitTest.groovy | 6 +- .../spring/jms/v2_0/AbstractJmsTest.java | 4 +- .../jms/v6_0/SpringJmsListenerTest.java | 12 +-- ...pringListenerSuppressReceiveSpansTest.java | 4 +- .../spring/kafka/v2_7/SpringKafkaTest.java | 26 +++--- ...ractSpringKafkaNoReceiveTelemetryTest.java | 18 ++-- .../rabbit/v1_0/SpringRabbitMqTest.java | 2 +- .../src/test/groovy/SpymemcachedTest.groovy | 2 +- .../kafka/v3_6/AbstractVertxKafkaTest.java | 6 +- .../v4_0/redis/VertxRedisClientTest.java | 4 +- .../VertxReactivePropagationTest.groovy | 16 ++-- .../VertxReactivePropagationTest.groovy | 16 ++-- .../vertx/v4_0/sql/VertxSqlClientTest.java | 52 +++++------ .../AbstractKafkaSpringStarterSmokeTest.java | 4 +- .../AbstractOtelSpringStarterSmokeTest.java | 4 +- ...actOtelReactiveSpringStarterSmokeTest.java | 4 +- 121 files changed, 855 insertions(+), 855 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java index 09c8fbc72570..41f13ac95e32 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java @@ -25,8 +25,8 @@ public final class DbClientAttributesExtractor REQUEST, RESPONSE, DbClientAttributesGetter> { // copied from DbIncubatingAttributes - private static final AttributeKey DB_STATEMENT = AttributeKey.stringKey("db.statement"); - private static final AttributeKey DB_OPERATION = AttributeKey.stringKey("db.operation"); + private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); + private static final AttributeKey DB_OPERATION_NAME_NAME = AttributeKey.stringKey("db.operation.name"); /** Creates the database client attributes extractor with default configuration. */ public static AttributesExtractor create( @@ -42,7 +42,7 @@ public static AttributesExtractor create( public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST request) { super.onStart(attributes, parentContext, request); - internalSet(attributes, DB_STATEMENT, getter.getStatement(request)); - internalSet(attributes, DB_OPERATION, getter.getOperation(request)); + internalSet(attributes, DB_QUERY_TEXT, getter.getStatement(request)); + internalSet(attributes, DB_OPERATION_NAME_NAME, getter.getOperation(request)); } } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java index e3a6614c7660..fe932f5f0206 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java @@ -20,7 +20,7 @@ abstract class DbClientCommonAttributesExtractor< implements AttributesExtractor, SpanKeyProvider { // copied from DbIncubatingAttributes - private static final AttributeKey DB_NAME = AttributeKey.stringKey("db.name"); + private static final AttributeKey DB_NAMESPACE = AttributeKey.stringKey("db.name"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); private static final AttributeKey DB_USER = AttributeKey.stringKey("db.user"); private static final AttributeKey DB_CONNECTION_STRING = @@ -36,7 +36,7 @@ abstract class DbClientCommonAttributesExtractor< public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST request) { internalSet(attributes, DB_SYSTEM, getter.getSystem(request)); internalSet(attributes, DB_USER, getter.getUser(request)); - internalSet(attributes, DB_NAME, getter.getName(request)); + internalSet(attributes, DB_NAMESPACE, getter.getName(request)); internalSet(attributes, DB_CONNECTION_STRING, getter.getConnectionString(request)); } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java index eacf266333bc..05772f5d2909 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java @@ -27,8 +27,8 @@ public final class SqlClientAttributesExtractor REQUEST, RESPONSE, SqlClientAttributesGetter> { // copied from DbIncubatingAttributes - private static final AttributeKey DB_OPERATION = AttributeKey.stringKey("db.operation"); - private static final AttributeKey DB_STATEMENT = AttributeKey.stringKey("db.statement"); + private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); + private static final AttributeKey DB_OPERATION_NAME_NAME = AttributeKey.stringKey("db.operation.name"); /** Creates the SQL client attributes extractor with default configuration. */ public static AttributesExtractor create( @@ -70,9 +70,9 @@ public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST String operation = sanitizedStatement.getOperation(); internalSet( attributes, - DB_STATEMENT, + DB_QUERY_TEXT, statementSanitizationEnabled ? sanitizedStatement.getFullStatement() : rawStatement); - internalSet(attributes, DB_OPERATION, operation); + internalSet(attributes, DB_OPERATION_NAME_NAME, operation); if (!SQL_CALL.equals(operation)) { internalSet(attributes, dbTableAttribute, sanitizedStatement.getMainIdentifier()); } diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java index 3e172e3d288e..8cd8783bd0f7 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java @@ -15,10 +15,10 @@ public final class SqlClientAttributesExtractorBuilder { // copied from DbIncubatingAttributes - private static final AttributeKey DB_SQL_TABLE = AttributeKey.stringKey("db.sql.table"); + private static final AttributeKey DB_COLLECTION_NAME = AttributeKey.stringKey("db.sql.table"); final SqlClientAttributesGetter getter; - AttributeKey dbTableAttribute = DB_SQL_TABLE; + AttributeKey dbTableAttribute = DB_COLLECTION_NAME; boolean statementSanitizationEnabled = true; SqlClientAttributesExtractorBuilder(SqlClientAttributesGetter getter) { diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java index 68991d1b813a..a331d578453c 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java @@ -81,10 +81,10 @@ void shouldExtractAllAvailableAttributes() { .containsOnly( entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"), entry(DbIncubatingAttributes.DB_USER, "username"), - entry(DbIncubatingAttributes.DB_NAME, "potatoes"), + entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"), - entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT * FROM potato"), - entry(DbIncubatingAttributes.DB_OPERATION, "SELECT")); + entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"), + entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT")); assertThat(endAttributes.build().isEmpty()).isTrue(); } diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java index f782a20b16ff..2e93c664b8ed 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java @@ -77,11 +77,11 @@ void shouldExtractAllAttributes() { .containsOnly( entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"), entry(DbIncubatingAttributes.DB_USER, "username"), - entry(DbIncubatingAttributes.DB_NAME, "potatoes"), + entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"), - entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT * FROM potato WHERE id=?"), - entry(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - entry(DbIncubatingAttributes.DB_SQL_TABLE, "potato")); + entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"), + entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "potato")); assertThat(endAttributes.build().isEmpty()).isTrue(); } @@ -104,8 +104,8 @@ void shouldNotExtractTableIfAttributeIsNotSet() { // then assertThat(attributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT *"), - entry(DbIncubatingAttributes.DB_OPERATION, "SELECT")); + entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT *"), + entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT")); } @Test @@ -128,8 +128,8 @@ void shouldExtractTableToSpecifiedKey() { // then assertThat(attributes.build()) .containsOnly( - entry(DbIncubatingAttributes.DB_STATEMENT, "SELECT * FROM table"), - entry(DbIncubatingAttributes.DB_OPERATION, "SELECT"), + entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM table"), + entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), entry(DbIncubatingAttributes.DB_CASSANDRA_TABLE, "table")); } diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractorTest.java index 395f52fdfdb7..f15ad257ae33 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractorTest.java @@ -90,7 +90,7 @@ void shouldExtractAllAvailableAttributes( expectedEntries.add(entry(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ENVELOPE_SIZE, 120L)); expectedEntries.add(entry(MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, "43")); expectedEntries.add( - entry(MessagingIncubatingAttributes.MESSAGING_OPERATION, operation.operationName())); + entry(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, operation.operationName())); @SuppressWarnings({"unchecked", "rawtypes"}) MapEntry, ?>[] expectedEntriesArr = diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsEventWrapperTest.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsEventWrapperTest.java index de6bd8b85f5b..ea5cbcf0e084 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsEventWrapperTest.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsEventWrapperTest.java @@ -88,7 +88,7 @@ void eventTraced() { MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process")))); + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")))); } public static final class TestRequestHandler implements RequestHandler { diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsMessageHandlerTest.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsMessageHandlerTest.java index 49bcbe97e241..ce4c54006be8 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsMessageHandlerTest.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsMessageHandlerTest.java @@ -89,7 +89,7 @@ void processSpans() { equalTo( MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process")) + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")) .hasLinks( LinkData.create( SpanContext.createFromRemoteParent( @@ -111,7 +111,7 @@ void processSpans() { equalTo( MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, "message1"), equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "queue1")) @@ -130,7 +130,7 @@ void processSpans() { equalTo( MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, "message2"), equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "queue1")) diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AbstractAwsLambdaSqsEventHandlerTest.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AbstractAwsLambdaSqsEventHandlerTest.java index c7003983787c..fee367c3e03f 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AbstractAwsLambdaSqsEventHandlerTest.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AbstractAwsLambdaSqsEventHandlerTest.java @@ -84,7 +84,7 @@ void sameSource() { MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process")) + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")) .hasLinksSatisfying( links -> assertThat(links) @@ -133,7 +133,7 @@ void differentSource() { MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process")) + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")) .hasLinksSatisfying( links -> assertThat(links) diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/groovy/S3TracingTest.groovy b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/groovy/S3TracingTest.groovy index 1dea81b84719..bbd9f62fcb3b 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/groovy/S3TracingTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/groovy/S3TracingTest.groovy @@ -199,7 +199,7 @@ class S3TracingTest extends AgentInstrumentationSpecification { "$ServerAttributes.SERVER_PORT" { it == null || Number } "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "s3ToSqsTestQueue" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String "$NetworkAttributes.NETWORK_PROTOCOL_VERSION" "1.1" } @@ -535,7 +535,7 @@ class S3TracingTest extends AgentInstrumentationSpecification { "$ServerAttributes.SERVER_PORT" { it == null || Number } "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "s3ToSnsToSqsTestQueue" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String "$NetworkAttributes.NETWORK_PROTOCOL_VERSION" "1.1" } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/groovy/SnsTracingTest.groovy b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/groovy/SnsTracingTest.groovy index ba6b28fafb59..31da63e4f6e9 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/groovy/SnsTracingTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/test/groovy/SnsTracingTest.groovy @@ -190,7 +190,7 @@ class SnsTracingTest extends AgentInstrumentationSpecification { "$ServerAttributes.SERVER_PORT" { it == null || Number } "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "snsToSqsTestQueue" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String "$NetworkAttributes.NETWORK_PROTOCOL_VERSION" "1.1" } diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java index 51dc8b4d37e9..d13b7b8d99fb 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java @@ -133,7 +133,7 @@ void testSimpleSqsProducerConsumerServices() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -163,7 +163,7 @@ void testSimpleSqsProducerConsumerServices() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -242,7 +242,7 @@ void testSimpleSqsProducerConsumerServicesWithParentSpan() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -272,7 +272,7 @@ void testSimpleSqsProducerConsumerServicesWithParentSpan() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java index 3dd3fe259a3b..cf9936da3082 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java @@ -165,7 +165,7 @@ void testSimpleSqsProducerConsumerServicesCaptureHeaders(boolean testCaptureHead MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -209,7 +209,7 @@ void testSimpleSqsProducerConsumerServicesCaptureHeaders(boolean testCaptureHead MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT, 1), @@ -251,7 +251,7 @@ void testSimpleSqsProducerConsumerServicesCaptureHeaders(boolean testCaptureHead MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -342,7 +342,7 @@ void testSimpleSqsProducerConsumerServicesWithParentSpan() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -411,7 +411,7 @@ void testSimpleSqsProducerConsumerServicesWithParentSpan() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes @@ -448,7 +448,7 @@ void testSimpleSqsProducerConsumerServicesWithParentSpan() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java index 4b718e0abc40..cedaea3d042f 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java @@ -44,7 +44,7 @@ final class TracingExecutionInterceptor implements ExecutionInterceptor { // copied from DbIncubatingAttributes - private static final AttributeKey DB_OPERATION = AttributeKey.stringKey("db.operation"); + private static final AttributeKey DB_OPERATION_NAME = AttributeKey.stringKey("db.operation"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); // copied from DbIncubatingAttributes.DbSystemValues private static final String DB_SYSTEM_DYNAMODB = "dynamodb"; @@ -319,7 +319,7 @@ private void populateRequestAttributes( span.setAttribute(DB_SYSTEM, DB_SYSTEM_DYNAMODB); String operation = attributes.getAttribute(SdkExecutionAttribute.OPERATION_NAME); if (operation != null) { - span.setAttribute(DB_OPERATION, operation); + span.setAttribute(DB_OPERATION_NAME, operation); } } } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.groovy b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.groovy index a73122bc1af9..f4540e50c334 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientCoreTest.groovy @@ -149,7 +149,7 @@ abstract class AbstractAws2ClientCoreTest extends InstrumentationSpecification { "aws.requestId" "$requestId" "aws.table.name" "sometable" "$DbIncubatingAttributes.DB_SYSTEM" "dynamodb" - "$DbIncubatingAttributes.DB_OPERATION" "CreateTable" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CreateTable" "aws.dynamodb.global_secondary_indexes" "[{\"IndexName\":\"globalIndex\",\"KeySchema\":[{\"AttributeName\":\"attribute\"}],\"ProvisionedThroughput\":{\"ReadCapacityUnits\":10,\"WriteCapacityUnits\":12}},{\"IndexName\":\"globalIndexSecondary\",\"KeySchema\":[{\"AttributeName\":\"attributeSecondary\"}],\"ProvisionedThroughput\":{\"ReadCapacityUnits\":7,\"WriteCapacityUnits\":8}}]" "aws.dynamodb.provisioned_throughput.read_capacity_units" "1" "aws.dynamodb.provisioned_throughput.write_capacity_units" "1" @@ -182,7 +182,7 @@ abstract class AbstractAws2ClientCoreTest extends InstrumentationSpecification { "aws.requestId" "$requestId" "aws.table.name" "sometable" "$DbIncubatingAttributes.DB_SYSTEM" "dynamodb" - "$DbIncubatingAttributes.DB_OPERATION" "Query" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "Query" "aws.dynamodb.limit" "10" "aws.dynamodb.select" "ALL_ATTRIBUTES" } @@ -214,7 +214,7 @@ abstract class AbstractAws2ClientCoreTest extends InstrumentationSpecification { "aws.requestId" "$requestId" "aws.table.name" "sometable" "$DbIncubatingAttributes.DB_SYSTEM" "dynamodb" - "$DbIncubatingAttributes.DB_OPERATION" "${operation}" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "${operation}" } } } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientTest.groovy b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientTest.groovy index 3241c48640bb..dc1db3660185 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientTest.groovy @@ -143,7 +143,7 @@ abstract class AbstractAws2ClientTest extends AbstractAws2ClientCoreTest { } else if (service == "Sqs" && operation == "SendMessage") { "aws.queue.url" QUEUE_URL "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "somequeue" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS } else if (service == "Kinesis") { @@ -303,7 +303,7 @@ abstract class AbstractAws2ClientTest extends AbstractAws2ClientCoreTest { } else if (service == "Sqs" && operation == "SendMessage") { "aws.queue.url" QUEUE_URL "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "somequeue" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS } else if (service == "Kinesis") { diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsSuppressReceiveSpansTest.groovy b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsSuppressReceiveSpansTest.groovy index 6f44c92573d6..6cc42bbb021f 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsSuppressReceiveSpansTest.groovy +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/groovy/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsSuppressReceiveSpansTest.groovy @@ -159,7 +159,7 @@ abstract class AbstractAws2SqsSuppressReceiveSpansTest extends InstrumentationSp "$ServerAttributes.SERVER_PORT" sqsPort "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "testSdkSqs" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String } } @@ -180,7 +180,7 @@ abstract class AbstractAws2SqsSuppressReceiveSpansTest extends InstrumentationSp "$ServerAttributes.SERVER_PORT" sqsPort "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "testSdkSqs" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String } } @@ -331,7 +331,7 @@ abstract class AbstractAws2SqsSuppressReceiveSpansTest extends InstrumentationSp "$ServerAttributes.SERVER_PORT" sqsPort "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "testSdkSqs" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" } } for (int i: 1..(xrayInjectionEnabled ? 3 : 2)) { @@ -353,7 +353,7 @@ abstract class AbstractAws2SqsSuppressReceiveSpansTest extends InstrumentationSp "$ServerAttributes.SERVER_PORT" sqsPort "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "testSdkSqs" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String } } @@ -381,7 +381,7 @@ abstract class AbstractAws2SqsSuppressReceiveSpansTest extends InstrumentationSp "$ServerAttributes.SERVER_PORT" sqsPort "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "testSdkSqs" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String } } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientRecordHttpErrorTest.java b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientRecordHttpErrorTest.java index 8c68be58729b..46ecd71033af 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientRecordHttpErrorTest.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2ClientRecordHttpErrorTest.java @@ -175,7 +175,7 @@ public void testSendDynamoDbRequestWithRetries() { .containsEntry("aws.requestId", requestId) .containsEntry("aws.table.name", "sometable") .containsEntry(DbIncubatingAttributes.DB_SYSTEM, "dynamodb") - .containsEntry(DbIncubatingAttributes.DB_OPERATION, operation); + .containsEntry(DbIncubatingAttributes.DB_OPERATION_NAME, operation); }); if (isRecordIndividualHttpErrorEnabled()) { span.hasEventsSatisfyingExactly( diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsTracingTest.java b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsTracingTest.java index 39a267222ba0..c66f10e868e3 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsTracingTest.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsTracingTest.java @@ -221,7 +221,7 @@ void assertSqsTraces(Boolean withParent, Boolean captureHeaders) { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, v -> v.isInstanceOf(String.class)))); @@ -305,7 +305,7 @@ void assertSqsTraces(Boolean withParent, Boolean captureHeaders) { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT, @@ -352,7 +352,7 @@ void assertSqsTraces(Boolean withParent, Boolean captureHeaders) { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, @@ -532,7 +532,7 @@ void testBatchSqsProducerConsumerServicesSync() throws URISyntaxException { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"))); + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"))); }, trace -> { List> spanAsserts = new ArrayList<>(); @@ -560,7 +560,7 @@ void testBatchSqsProducerConsumerServicesSync() throws URISyntaxException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT, 3))); @@ -609,7 +609,7 @@ void testBatchSqsProducerConsumerServicesSync() throws URISyntaxException { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, diff --git a/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java b/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java index 45b368a043f1..997a0ac926f4 100644 --- a/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java +++ b/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/DbSpanDecorator.java @@ -125,11 +125,11 @@ public void pre( attributes.put(DbIncubatingAttributes.DB_SYSTEM, system); String statement = getStatement(exchange, endpoint); if (statement != null) { - attributes.put(DbIncubatingAttributes.DB_STATEMENT, statement); + attributes.put(DbIncubatingAttributes.DB_QUERY_TEXT, statement); } String dbName = getDbName(endpoint); if (dbName != null) { - attributes.put(DbIncubatingAttributes.DB_NAME, dbName); + attributes.put(DbIncubatingAttributes.DB_NAMESPACE, dbName); } } } diff --git a/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java b/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java index fc6e1fc87113..c478205d68d1 100644 --- a/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java +++ b/instrumentation/camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java @@ -60,7 +60,7 @@ public void pre( CamelDirection camelDirection) { super.pre(attributes, exchange, endpoint, camelDirection); - attributes.put(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"); + attributes.put(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"); Integer partition = exchange.getIn().getHeader(PARTITION, Integer.class); if (partition != null) { diff --git a/instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/aws/AwsSpanAssertions.java b/instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/aws/AwsSpanAssertions.java index b004b676d209..e56d1b5abc78 100644 --- a/instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/aws/AwsSpanAssertions.java +++ b/instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/aws/AwsSpanAssertions.java @@ -100,17 +100,17 @@ static SpanDataAssert sqs( MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS))); if (spanName.endsWith("receive")) { attributeAssertions.add( - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive")); + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive")); } else if (spanName.endsWith("process")) { attributeAssertions.add( - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process")); + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")); attributeAssertions.add( satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> assertThat(val).isNotNull())); } else if (spanName.endsWith("publish")) { attributeAssertions.add( - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish")); + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish")); attributeAssertions.add( satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, diff --git a/instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/CassandraTest.java b/instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/CassandraTest.java index 4e21f1bff32d..4e77a8fdccd6 100644 --- a/instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/CassandraTest.java +++ b/instrumentation/camel-2.20/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/CassandraTest.java @@ -116,9 +116,9 @@ void testCassandra() { equalTo( stringKey("camel.uri"), "cql://" + host + ":" + cassandraPort + "/test"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "select * from test.users where id=? ALLOW FILTERING"), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra")))); } diff --git a/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java b/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java index 7d581375d537..d2f594d57999 100644 --- a/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java +++ b/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java @@ -100,7 +100,7 @@ void syncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "USE " + parameter.keyspace))), trace -> trace.hasSpansSatisfyingExactly( @@ -115,10 +115,10 @@ void syncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, cassandraIp), equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), - equalTo(DbIncubatingAttributes.DB_NAME, parameter.keyspace), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, parameter.keyspace), equalTo( - DbIncubatingAttributes.DB_STATEMENT, parameter.expectedStatement), - equalTo(DbIncubatingAttributes.DB_OPERATION, parameter.operation), + DbIncubatingAttributes.DB_QUERY_TEXT, parameter.expectedStatement), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo( DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)))); } else { @@ -137,8 +137,8 @@ void syncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, parameter.expectedStatement), - equalTo(DbIncubatingAttributes.DB_OPERATION, parameter.operation), + DbIncubatingAttributes.DB_QUERY_TEXT, parameter.expectedStatement), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo( DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)))); } @@ -178,7 +178,7 @@ void asyncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "USE " + parameter.keyspace))), trace -> trace.hasSpansSatisfyingExactly( @@ -194,10 +194,10 @@ void asyncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, cassandraIp), equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), - equalTo(DbIncubatingAttributes.DB_NAME, parameter.keyspace), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, parameter.keyspace), equalTo( - DbIncubatingAttributes.DB_STATEMENT, parameter.expectedStatement), - equalTo(DbIncubatingAttributes.DB_OPERATION, parameter.operation), + DbIncubatingAttributes.DB_QUERY_TEXT, parameter.expectedStatement), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo(DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)), span -> span.hasName("callbackListener") @@ -220,8 +220,8 @@ void asyncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, parameter.expectedStatement), - equalTo(DbIncubatingAttributes.DB_OPERATION, parameter.operation), + DbIncubatingAttributes.DB_QUERY_TEXT, parameter.expectedStatement), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo(DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)), span -> span.hasName("callbackListener") diff --git a/instrumentation/cassandra/cassandra-4-common/testing/src/main/java/io/opentelemetry/cassandra/v4/common/AbstractCassandraTest.java b/instrumentation/cassandra/cassandra-4-common/testing/src/main/java/io/opentelemetry/cassandra/v4/common/AbstractCassandraTest.java index 93bdbda788e4..f924b150c8e7 100644 --- a/instrumentation/cassandra/cassandra-4-common/testing/src/main/java/io/opentelemetry/cassandra/v4/common/AbstractCassandraTest.java +++ b/instrumentation/cassandra/cassandra-4-common/testing/src/main/java/io/opentelemetry/cassandra/v4/common/AbstractCassandraTest.java @@ -17,9 +17,9 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_PAGE_SIZE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_TABLE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Named.named; @@ -113,9 +113,9 @@ void syncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, cassandraIp), equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DB_SYSTEM, "cassandra"), - equalTo(DB_NAME, parameter.keyspace), - equalTo(DB_STATEMENT, parameter.expectedStatement), - equalTo(DB_OPERATION, parameter.operation), + equalTo(DB_NAMESPACE, parameter.keyspace), + equalTo(DB_QUERY_TEXT, parameter.expectedStatement), + equalTo(DB_OPERATION_NAME, parameter.operation), equalTo(DB_CASSANDRA_CONSISTENCY_LEVEL, "LOCAL_ONE"), equalTo(DB_CASSANDRA_COORDINATOR_DC, "datacenter1"), satisfies( @@ -167,9 +167,9 @@ void asyncTest(Parameter parameter) throws Exception { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, cassandraIp), equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DB_SYSTEM, "cassandra"), - equalTo(DB_NAME, parameter.keyspace), - equalTo(DB_STATEMENT, parameter.expectedStatement), - equalTo(DB_OPERATION, parameter.operation), + equalTo(DB_NAMESPACE, parameter.keyspace), + equalTo(DB_QUERY_TEXT, parameter.expectedStatement), + equalTo(DB_OPERATION_NAME, parameter.operation), equalTo(DB_CASSANDRA_CONSISTENCY_LEVEL, "LOCAL_ONE"), equalTo(DB_CASSANDRA_COORDINATOR_DC, "datacenter1"), satisfies( diff --git a/instrumentation/cassandra/cassandra-4.4/testing/src/main/java/io/opentelemetry/testing/cassandra/v4_4/AbstractCassandra44Test.java b/instrumentation/cassandra/cassandra-4.4/testing/src/main/java/io/opentelemetry/testing/cassandra/v4_4/AbstractCassandra44Test.java index bd3357978d36..9d99d800c3c0 100644 --- a/instrumentation/cassandra/cassandra-4.4/testing/src/main/java/io/opentelemetry/testing/cassandra/v4_4/AbstractCassandra44Test.java +++ b/instrumentation/cassandra/cassandra-4.4/testing/src/main/java/io/opentelemetry/testing/cassandra/v4_4/AbstractCassandra44Test.java @@ -17,9 +17,9 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_PAGE_SIZE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_TABLE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Named.named; @@ -70,9 +70,9 @@ void reactiveTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, cassandraIp), equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DB_SYSTEM, "cassandra"), - equalTo(DB_NAME, parameter.keyspace), - equalTo(DB_STATEMENT, parameter.expectedStatement), - equalTo(DB_OPERATION, parameter.operation), + equalTo(DB_NAMESPACE, parameter.keyspace), + equalTo(DB_QUERY_TEXT, parameter.expectedStatement), + equalTo(DB_OPERATION_NAME, parameter.operation), equalTo(DB_CASSANDRA_CONSISTENCY_LEVEL, "LOCAL_ONE"), equalTo(DB_CASSANDRA_COORDINATOR_DC, "datacenter1"), satisfies( diff --git a/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java b/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java index 472a00cb4319..0fa2f743c6ab 100644 --- a/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java +++ b/instrumentation/clickhouse-client-0.5/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/clickhouse/ClickHouseClientTest.java @@ -310,10 +310,10 @@ void testParameterizedQueryInput() throws ClickHouseException { private static List attributeAssertions(String statement, String operation) { return asList( equalTo(DbIncubatingAttributes.DB_SYSTEM, DbIncubatingAttributes.DbSystemValues.CLICKHOUSE), - equalTo(DbIncubatingAttributes.DB_NAME, dbName), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, dbName), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), - equalTo(DbIncubatingAttributes.DB_STATEMENT, statement), - equalTo(DbIncubatingAttributes.DB_OPERATION, operation)); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, statement), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, operation)); } } diff --git a/instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy b/instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy index 0686c76da4b4..bceb6771fcc9 100644 --- a/instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy +++ b/instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy @@ -30,9 +30,9 @@ class CouchbaseSpanUtil { } attributes { "$DbIncubatingAttributes.DB_SYSTEM" "couchbase" - "$DbIncubatingAttributes.DB_NAME" bucketName - "$DbIncubatingAttributes.DB_STATEMENT" statement - "$DbIncubatingAttributes.DB_OPERATION"(operation ?: spanName) + "$DbIncubatingAttributes.DB_NAMESPACE" bucketName + "$DbIncubatingAttributes.DB_QUERY_TEXT" statement + "$DbIncubatingAttributes.DB_OPERATION_NAME"(operation ?: spanName) // Because of caching, not all requests hit the server so these attributes may be absent "$NetworkAttributes.NETWORK_TYPE" { it == "ipv4" || it == null } diff --git a/instrumentation/couchbase/couchbase-common/testing/src/main/groovy/util/AbstractCouchbaseTest.groovy b/instrumentation/couchbase/couchbase-common/testing/src/main/groovy/util/AbstractCouchbaseTest.groovy index e669562f1917..d5ca66976589 100644 --- a/instrumentation/couchbase/couchbase-common/testing/src/main/groovy/util/AbstractCouchbaseTest.groovy +++ b/instrumentation/couchbase/couchbase-common/testing/src/main/groovy/util/AbstractCouchbaseTest.groovy @@ -121,9 +121,9 @@ abstract class AbstractCouchbaseTest extends AgentInstrumentationSpecification { } attributes { "$DbIncubatingAttributes.DB_SYSTEM" "couchbase" - "$DbIncubatingAttributes.DB_NAME" bucketName - "$DbIncubatingAttributes.DB_STATEMENT" statement - "$DbIncubatingAttributes.DB_OPERATION"(operation ?: spanName) + "$DbIncubatingAttributes.DB_NAMESPACE" bucketName + "$DbIncubatingAttributes.DB_QUERY_TEXT" statement + "$DbIncubatingAttributes.DB_OPERATION_NAME"(operation ?: spanName) } } } diff --git a/instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/ElasticsearchClientTest.java b/instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/ElasticsearchClientTest.java index 698320035221..d2470e87cecd 100644 --- a/instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/ElasticsearchClientTest.java +++ b/instrumentation/elasticsearch/elasticsearch-api-client-7.16/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/elasticsearch/apiclient/ElasticsearchClientTest.java @@ -90,7 +90,7 @@ public void elasticsearchStatus() throws IOException { .hasNoParent() .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "elasticsearch"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "info"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "info"), equalTo(HttpAttributes.HTTP_REQUEST_METHOD, "GET"), equalTo(UrlAttributes.URL_FULL, httpHost.toURI() + "/"), equalTo(ServerAttributes.SERVER_ADDRESS, httpHost.getHostName()), @@ -126,7 +126,7 @@ public void elasticsearchIndex() throws IOException { .hasNoParent() .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "elasticsearch"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "index"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "index"), equalTo(ServerAttributes.SERVER_ADDRESS, httpHost.getHostName()), equalTo(ServerAttributes.SERVER_PORT, httpHost.getPort()), equalTo(HttpAttributes.HTTP_REQUEST_METHOD, "PUT"), @@ -187,7 +187,7 @@ public void elasticsearchStatusAsync() throws Exception { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "elasticsearch"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "info"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "info"), equalTo(ServerAttributes.SERVER_ADDRESS, httpHost.getHostName()), equalTo(ServerAttributes.SERVER_PORT, httpHost.getPort()), equalTo(HttpAttributes.HTTP_REQUEST_METHOD, "GET"), diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5NodeClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5NodeClientTest.groovy index b18a0c09654a..c232c8d1d09f 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5NodeClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5NodeClientTest.groovy @@ -114,7 +114,7 @@ class Elasticsearch5NodeClientTest extends AbstractElasticsearchNodeClientTest { childOf(span(0)) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -161,7 +161,7 @@ class Elasticsearch5NodeClientTest extends AbstractElasticsearchNodeClientTest { childOf(span(0)) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -227,7 +227,7 @@ class Elasticsearch5NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "CreateIndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" "elasticsearch.request" "CreateIndexRequest" "elasticsearch.request.indices" indexName @@ -240,7 +240,7 @@ class Elasticsearch5NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -252,7 +252,7 @@ class Elasticsearch5NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -268,7 +268,7 @@ class Elasticsearch5NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -286,7 +286,7 @@ class Elasticsearch5NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5TransportClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5TransportClientTest.groovy index 11728f2c3e45..7e5a81ce10d9 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5TransportClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-5.0/javaagent/src/test/groovy/Elasticsearch5TransportClientTest.groovy @@ -129,7 +129,7 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -175,7 +175,7 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl errorEvent RemoteTransportException, String attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -245,7 +245,7 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "CreateIndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" "elasticsearch.request" "CreateIndexRequest" "elasticsearch.request.indices" indexName @@ -260,7 +260,7 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -276,7 +276,7 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "PutMappingAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "PutMappingAction" "elasticsearch.action" "PutMappingAction" "elasticsearch.request" "PutMappingRequest" } @@ -290,7 +290,7 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -310,7 +310,7 @@ class Elasticsearch5TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53NodeClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53NodeClientTest.groovy index 81cdeb4376eb..a813b49e27a3 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53NodeClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53NodeClientTest.groovy @@ -117,7 +117,7 @@ class Elasticsearch53NodeClientTest extends AbstractElasticsearchNodeClientTest childOf(span(0)) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -164,7 +164,7 @@ class Elasticsearch53NodeClientTest extends AbstractElasticsearchNodeClientTest errorEvent IndexNotFoundException, "no such index" attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -230,7 +230,7 @@ class Elasticsearch53NodeClientTest extends AbstractElasticsearchNodeClientTest kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "CreateIndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" "elasticsearch.request" "CreateIndexRequest" "elasticsearch.request.indices" indexName @@ -243,7 +243,7 @@ class Elasticsearch53NodeClientTest extends AbstractElasticsearchNodeClientTest kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -255,7 +255,7 @@ class Elasticsearch53NodeClientTest extends AbstractElasticsearchNodeClientTest kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -271,7 +271,7 @@ class Elasticsearch53NodeClientTest extends AbstractElasticsearchNodeClientTest kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -290,7 +290,7 @@ class Elasticsearch53NodeClientTest extends AbstractElasticsearchNodeClientTest kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53TransportClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53TransportClientTest.groovy index ad97aa15b5a5..6ba4abcefec2 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53TransportClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/Elasticsearch53TransportClientTest.groovy @@ -135,7 +135,7 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -180,7 +180,7 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC errorEvent RemoteTransportException, String attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -250,7 +250,7 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "CreateIndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" "elasticsearch.request" "CreateIndexRequest" "elasticsearch.request.indices" indexName @@ -265,7 +265,7 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -281,7 +281,7 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "PutMappingAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "PutMappingAction" "elasticsearch.action" "PutMappingAction" "elasticsearch.request" "PutMappingRequest" } @@ -295,7 +295,7 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -316,7 +316,7 @@ class Elasticsearch53TransportClientTest extends AbstractElasticsearchTransportC "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy index d75b13be9bd3..3b7da4cd7ef9 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/springdata/Elasticsearch53SpringRepositoryTest.groovy @@ -100,7 +100,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "SearchAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SearchAction" "elasticsearch.action" "SearchAction" "elasticsearch.request" "SearchRequest" "elasticsearch.request.indices" indexName @@ -138,7 +138,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -156,7 +156,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "RefreshAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "RefreshAction" "elasticsearch.action" "RefreshAction" "elasticsearch.request" "RefreshRequest" "elasticsearch.request.indices" indexName @@ -189,7 +189,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -226,7 +226,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -244,7 +244,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "RefreshAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "RefreshAction" "elasticsearch.action" "RefreshAction" "elasticsearch.request" "RefreshRequest" "elasticsearch.request.indices" indexName @@ -269,7 +269,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -305,7 +305,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "DeleteAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "DeleteAction" "elasticsearch.action" "DeleteAction" "elasticsearch.request" "DeleteRequest" "elasticsearch.request.indices" indexName @@ -322,7 +322,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "RefreshAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "RefreshAction" "elasticsearch.action" "RefreshAction" "elasticsearch.request" "RefreshRequest" "elasticsearch.request.indices" indexName @@ -348,7 +348,7 @@ class Elasticsearch53SpringRepositoryTest extends AgentInstrumentationSpecificat childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "SearchAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SearchAction" "elasticsearch.action" "SearchAction" "elasticsearch.request" "SearchRequest" "elasticsearch.request.indices" indexName diff --git a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/springdata/Elasticsearch53SpringTemplateTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/springdata/Elasticsearch53SpringTemplateTest.groovy index 009f5e7067ab..bfe8619d83c3 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/springdata/Elasticsearch53SpringTemplateTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-5.3/javaagent/src/test/groovy/springdata/Elasticsearch53SpringTemplateTest.groovy @@ -104,7 +104,7 @@ class Elasticsearch53SpringTemplateTest extends AgentInstrumentationSpecificatio errorEvent IndexNotFoundException, "no such index" attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "RefreshAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "RefreshAction" "elasticsearch.action" "RefreshAction" "elasticsearch.request" "RefreshRequest" "elasticsearch.request.indices" indexName @@ -153,7 +153,7 @@ class Elasticsearch53SpringTemplateTest extends AgentInstrumentationSpecificatio kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "CreateIndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" "elasticsearch.request" "CreateIndexRequest" "elasticsearch.request.indices" indexName @@ -166,7 +166,7 @@ class Elasticsearch53SpringTemplateTest extends AgentInstrumentationSpecificatio kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -178,7 +178,7 @@ class Elasticsearch53SpringTemplateTest extends AgentInstrumentationSpecificatio kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "SearchAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SearchAction" "elasticsearch.action" "SearchAction" "elasticsearch.request" "SearchRequest" "elasticsearch.request.indices" indexName @@ -192,7 +192,7 @@ class Elasticsearch53SpringTemplateTest extends AgentInstrumentationSpecificatio kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -211,7 +211,7 @@ class Elasticsearch53SpringTemplateTest extends AgentInstrumentationSpecificatio kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "RefreshAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "RefreshAction" "elasticsearch.action" "RefreshAction" "elasticsearch.request" "RefreshRequest" "elasticsearch.request.indices" indexName @@ -227,7 +227,7 @@ class Elasticsearch53SpringTemplateTest extends AgentInstrumentationSpecificatio kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "SearchAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SearchAction" "elasticsearch.action" "SearchAction" "elasticsearch.request" "SearchRequest" "elasticsearch.request.indices" indexName @@ -304,7 +304,7 @@ class Elasticsearch53SpringTemplateTest extends AgentInstrumentationSpecificatio kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "SearchAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SearchAction" "elasticsearch.action" "SearchAction" "elasticsearch.request" "SearchRequest" "elasticsearch.request.indices" indexName diff --git a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6NodeClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6NodeClientTest.groovy index 457f4ac68928..b96f9ede97e7 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6NodeClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6NodeClientTest.groovy @@ -93,7 +93,7 @@ class Elasticsearch6NodeClientTest extends AbstractElasticsearchNodeClientTest { childOf(span(0)) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -139,7 +139,7 @@ class Elasticsearch6NodeClientTest extends AbstractElasticsearchNodeClientTest { errorEvent IndexNotFoundException, ~/no such index( \[invalid-index])?/ attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -204,7 +204,7 @@ class Elasticsearch6NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "CreateIndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" "elasticsearch.request" "CreateIndexRequest" "elasticsearch.request.indices" indexName @@ -217,7 +217,7 @@ class Elasticsearch6NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -233,7 +233,7 @@ class Elasticsearch6NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -252,7 +252,7 @@ class Elasticsearch6NodeClientTest extends AbstractElasticsearchNodeClientTest { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName diff --git a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6TransportClientTest.groovy b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6TransportClientTest.groovy index 0fafe46112e4..cc4f095424f9 100644 --- a/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6TransportClientTest.groovy +++ b/instrumentation/elasticsearch/elasticsearch-transport-6.0/javaagent/src/test/groovy/Elasticsearch6TransportClientTest.groovy @@ -110,7 +110,7 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "ClusterHealthAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "ClusterHealthAction" "elasticsearch.action" "ClusterHealthAction" "elasticsearch.request" "ClusterHealthRequest" } @@ -155,7 +155,7 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl errorEvent RemoteTransportException, String attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -229,7 +229,7 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "CreateIndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CreateIndexAction" "elasticsearch.action" "CreateIndexAction" "elasticsearch.request" "CreateIndexRequest" "elasticsearch.request.indices" indexName @@ -245,7 +245,7 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName @@ -261,7 +261,7 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" ~/(Auto)?PutMappingAction/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" ~/(Auto)?PutMappingAction/ "elasticsearch.action" ~/(Auto)?PutMappingAction/ "elasticsearch.request" "PutMappingRequest" } @@ -276,7 +276,7 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "IndexAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "IndexAction" "elasticsearch.action" "IndexAction" "elasticsearch.request" "IndexRequest" "elasticsearch.request.indices" indexName @@ -298,7 +298,7 @@ class Elasticsearch6TransportClientTest extends AbstractElasticsearchTransportCl "$NetworkAttributes.NETWORK_PEER_ADDRESS" tcpPublishAddress.address "$NetworkAttributes.NETWORK_PEER_PORT" tcpPublishAddress.port "$DbIncubatingAttributes.DB_SYSTEM" "elasticsearch" - "$DbIncubatingAttributes.DB_OPERATION" "GetAction" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GetAction" "elasticsearch.action" "GetAction" "elasticsearch.request" "GetRequest" "elasticsearch.request.indices" indexName diff --git a/instrumentation/geode-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/geode/PutGetTest.java b/instrumentation/geode-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/geode/PutGetTest.java index 954ae031785d..b98b4f49173b 100644 --- a/instrumentation/geode-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/geode/PutGetTest.java +++ b/instrumentation/geode-1.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/geode/PutGetTest.java @@ -133,23 +133,23 @@ void assertGeodeTrace(String verb, String query) { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "geode"), - equalTo(DbIncubatingAttributes.DB_NAME, "test-region"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "clear")), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test-region"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "clear")), span -> span.hasName("put test-region") .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "geode"), - equalTo(DbIncubatingAttributes.DB_NAME, "test-region"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "put")), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test-region"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "put")), span -> span.hasName(verb.concat(" test-region")) .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "geode"), - equalTo(DbIncubatingAttributes.DB_NAME, "test-region"), - equalTo(DbIncubatingAttributes.DB_OPERATION, verb), - equalTo(DbIncubatingAttributes.DB_STATEMENT, query)))); + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test-region"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, verb), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, query)))); } static class Card implements DataSerializable { diff --git a/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java b/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java index 7042194917d5..53114a7be614 100644 --- a/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java +++ b/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java @@ -63,12 +63,12 @@ static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData parent) { .hasParent(parent) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), - satisfies(DbIncubatingAttributes.DB_STATEMENT, val -> val.isInstanceOf(String.class)), - satisfies(DbIncubatingAttributes.DB_OPERATION, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")); + satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), + satisfies(DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } @SuppressWarnings("deprecation") // TODO DbIncubatingAttributes.DB_CONNECTION_STRING deprecation @@ -78,14 +78,14 @@ static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData parent, Str .hasParent(parent) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith(verb.toLowerCase(Locale.ROOT))), - equalTo(DbIncubatingAttributes.DB_OPERATION, verb), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, verb), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } static SpanDataAssert assertSessionSpan(SpanDataAssert span, SpanData parent, String spanName) { diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaTest.java index 509173d79e80..a65be18b41cf 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaTest.java @@ -67,14 +67,14 @@ void testCriteria(String methodName, Consumer interaction) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith("select")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/EntityManagerTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/EntityManagerTest.java index d9402fc439ca..8a95d2b37eaa 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/EntityManagerTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/EntityManagerTest.java @@ -101,16 +101,16 @@ void testHibernateActions(Parameter parameter) { .hasParent(trace.getSpan(2)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value"))); + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value"))); } else { trace.hasSpansSatisfyingExactly( @@ -132,16 +132,16 @@ void testHibernateActions(Parameter parameter) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -218,16 +218,16 @@ void testHibernatePersist() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -244,16 +244,16 @@ void testHibernatePersist() { .hasParent(trace.getSpan(3)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")))); + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")))); } @SuppressWarnings("deprecation") // TODO DbIncubatingAttributes.DB_CONNECTION_STRING deprecation @@ -293,16 +293,16 @@ void testAttachesStateToQuery(Function queryBuildMethod) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryTest.java index f68fe97e9ba5..f9f862d64458 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryTest.java @@ -62,16 +62,16 @@ void testHibernateQueryExecuteUpdateWithTransaction() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -120,14 +120,14 @@ void testHibernateQuerySingleCall(Parameter parameter) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("select ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")))); } private static Stream providesArgumentsSingleCall() { @@ -194,14 +194,14 @@ void testHibernateQueryIterate() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("select ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionTest.java index b40068f4827f..0edb6321287b 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionTest.java @@ -65,16 +65,16 @@ void testHibernateAction(Parameter parameter) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -176,16 +176,16 @@ void testHibernateActionStateless(Parameter parameter) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -323,16 +323,16 @@ void testHibernateReplicate(Parameter parameter) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -349,16 +349,16 @@ void testHibernateReplicate(Parameter parameter) { .hasParent(trace.getSpan(3)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")))); + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")))); } private static Stream provideArgumentsHibernateReplicate() { @@ -483,16 +483,16 @@ void testHibernateCommitAction(Parameter parameter) { .hasParent(trace.getSpan(2)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")))); + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")))); } private static Stream provideArgumentsHibernateCommitAction() { @@ -662,16 +662,16 @@ void testAttachesStateToQueryCreated(Consumer queryBuilder) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( - DbIncubatingAttributes.DB_OPERATION, + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -763,14 +763,14 @@ void testHibernateOverlappingSessions() { .hasParent(trace.getSpan(2)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith("insert")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "INSERT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "INSERT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> { span.hasName("Session.save " + Value.class.getName()) .hasKind(INTERNAL) @@ -807,28 +807,28 @@ void testHibernateOverlappingSessions() { .hasParent(trace.getSpan(6)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith("insert")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "INSERT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "INSERT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("DELETE db1.Value") .hasKind(CLIENT) .hasParent(trace.getSpan(6)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith("delete")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DELETE"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DELETE"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")))); assertThat(sessionId1.get()).isNotEqualTo(sessionId2.get()); assertThat(sessionId1.get()).isNotEqualTo(sessionId3.get()); diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/spring/jpa/SpringJpaTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/spring/jpa/SpringJpaTest.java index 17ebc73ba798..9592eb01a9e0 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/spring/jpa/SpringJpaTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/spring/jpa/SpringJpaTest.java @@ -67,17 +67,17 @@ void testCrud() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.matches( Pattern.compile( "select ([^.]+).id([^,]*), ([^.]+).firstName([^,]*), ([^.]+).lastName(.*)from Customer(.*)"))), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -122,17 +122,17 @@ void testCrud() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.matches( Pattern.compile( "insert into Customer (.*) values \\(.*, \\?, \\?\\)"))), - equalTo(DbIncubatingAttributes.DB_OPERATION, "INSERT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "INSERT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -165,13 +165,13 @@ void testCrud() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "call next value for hibernate_sequence"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "CALL")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "CALL")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -189,17 +189,17 @@ void testCrud() { .hasParent(trace.getSpan(3)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.matches( Pattern.compile( "insert into Customer (.*) values \\(.* \\?, \\?\\)"))), - equalTo(DbIncubatingAttributes.DB_OPERATION, "INSERT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer"))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "INSERT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer"))); } }); testing.clearData(); @@ -236,17 +236,17 @@ void testCrud() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.matches( Pattern.compile( "select ([^.]+).id([^,]*), ([^.]+).firstName([^,]*), ([^.]+).lastName (.*)from Customer (.*)where ([^.]+).id=\\?"))), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) @@ -264,14 +264,14 @@ void testCrud() { .hasParent(trace.getSpan(3)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "update Customer set firstName=?, lastName=? where id=?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "UPDATE"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "UPDATE"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer")))); testing.clearData(); Customer foundCustomer = @@ -302,17 +302,17 @@ void testCrud() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.matches( Pattern.compile( "select ([^.]+).id([^,]*), ([^.]+).firstName([^,]*), ([^.]+).lastName (.*)from Customer (.*)(where ([^.]+).lastName=\\?)"))), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer")))); testing.clearData(); testing.runWithSpan("parent", () -> repo.delete(foundCustomer)); @@ -340,17 +340,17 @@ void testCrud() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.matches( Pattern.compile( "select ([^.]+).id([^,]*), ([^.]+).firstName([^,]*), ([^.]+).lastName (.*)from Customer (.*)where ([^.]+).id=\\?"))), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer")), span -> span.hasName("Session.delete spring.jpa.Customer") .hasKind(INTERNAL) @@ -372,14 +372,14 @@ void testCrud() { .hasKind(CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "delete from Customer where id=?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DELETE"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer"))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DELETE"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer"))); } else { String findAction; @@ -405,17 +405,17 @@ void testCrud() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.matches( Pattern.compile( "select ([^.]+).id([^,]*), ([^.]+).firstName([^,]*), ([^.]+).lastName (.*)from Customer (.*)where ([^.]+).id=\\?"))), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer")), span -> span.hasName("Session.merge spring.jpa.Customer") .hasKind(INTERNAL) @@ -445,14 +445,14 @@ void testCrud() { .hasKind(CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "delete from Customer where id=?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DELETE"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Customer"))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DELETE"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Customer"))); } }); } diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/CriteriaTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/CriteriaTest.java index d2ab1450ed09..188c05ab4d5f 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/CriteriaTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/CriteriaTest.java @@ -77,14 +77,14 @@ void testCriteriaQuery(Consumer> interaction) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith("select")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> span.hasName("Transaction.commit") .hasKind(SpanKind.INTERNAL) diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java index 5bc237dc24b2..5f13cd529175 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java @@ -139,14 +139,14 @@ void testAttachesStateToQuery(Parameter parameter) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> assertTransactionCommitSpan( span, @@ -294,12 +294,12 @@ private static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData par .hasParent(parent) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), - satisfies(DbIncubatingAttributes.DB_STATEMENT, val -> val.isInstanceOf(String.class)), - satisfies(DbIncubatingAttributes.DB_OPERATION, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")); + satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), + satisfies(DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } @SuppressWarnings("deprecation") // TODO DbIncubatingAttributes.DB_CONNECTION_STRING deprecation @@ -310,12 +310,12 @@ private static SpanDataAssert assertClientSpan( .hasParent(parent) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), - satisfies(DbIncubatingAttributes.DB_STATEMENT, val -> val.isInstanceOf(String.class)), - satisfies(DbIncubatingAttributes.DB_OPERATION, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")); + satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), + satisfies(DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } private static SpanDataAssert assertSessionSpan( diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/ProcedureCallTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/ProcedureCallTest.java index 1a1e36cf9a61..31b6c35f7423 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/ProcedureCallTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/ProcedureCallTest.java @@ -103,11 +103,11 @@ void testProcedureCall() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "{call TEST_PROC()}"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "CALL")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "{call TEST_PROC()}"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "CALL")), span -> span.hasName("Transaction.commit") .hasKind(SpanKind.INTERNAL) diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java index d95c4fe7805d..7c95b23cf468 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java @@ -244,14 +244,14 @@ void testAttachesStateToQuery(Parameter parameter) { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")), span -> assertSpanWithSessionId( span, @@ -809,12 +809,12 @@ private static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData par .hasParent(parent) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), - satisfies(DbIncubatingAttributes.DB_STATEMENT, val -> val.isInstanceOf(String.class)), - satisfies(DbIncubatingAttributes.DB_OPERATION, val -> val.isInstanceOf(String.class)), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")); + satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), + satisfies(DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } @SuppressWarnings("deprecation") // TODO DbIncubatingAttributes.DB_CONNECTION_STRING deprecation @@ -825,13 +825,13 @@ private static SpanDataAssert assertClientSpan( .hasParent(parent) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), - equalTo(DbIncubatingAttributes.DB_NAME, "db1"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith(verb.toLowerCase(Locale.ROOT))), - equalTo(DbIncubatingAttributes.DB_OPERATION, verb), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "Value")); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, verb), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } } diff --git a/instrumentation/hibernate/hibernate-6.0/spring-testing/src/test/groovy/SpringJpaTest.groovy b/instrumentation/hibernate/hibernate-6.0/spring-testing/src/test/groovy/SpringJpaTest.groovy index 6be2e3e5cdb7..d6f95b604794 100644 --- a/instrumentation/hibernate/hibernate-6.0/spring-testing/src/test/groovy/SpringJpaTest.groovy +++ b/instrumentation/hibernate/hibernate-6.0/spring-testing/src/test/groovy/SpringJpaTest.groovy @@ -62,12 +62,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { childOf span(1) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName(.*)from Customer(.*)/ - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName(.*)from Customer(.*)/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } span(3) { @@ -118,11 +118,11 @@ class SpringJpaTest extends AgentInstrumentationSpecification { childOf span(1) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" - "$DbIncubatingAttributes.DB_STATEMENT" "call next value for Customer_SEQ" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "call next value for Customer_SEQ" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_OPERATION" "CALL" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CALL" } } span(3) { @@ -139,12 +139,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { childOf span(3) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" ~/insert into Customer \(.*\) values \(.*\)/ - "$DbIncubatingAttributes.DB_OPERATION" "INSERT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/insert into Customer \(.*\) values \(.*\)/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" "INSERT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } } else { @@ -154,12 +154,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { childOf span(1) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" ~/insert into Customer \(.*\) values \(.*\)/ - "$DbIncubatingAttributes.DB_OPERATION" "INSERT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/insert into Customer \(.*\) values \(.*\)/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" "INSERT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } span(3) { @@ -209,12 +209,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } span(3) { @@ -230,12 +230,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" ~/update Customer set firstName=\?,(.*)lastName=\? where id=\?/ - "$DbIncubatingAttributes.DB_OPERATION" "UPDATE" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/update Customer set firstName=\?,(.*)lastName=\? where id=\?/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" "UPDATE" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } } @@ -273,12 +273,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { childOf span(1) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)(where ([^.]+)\.lastName( ?)=( ?)\?|)/ - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)(where ([^.]+)\.lastName( ?)=( ?)\?|)/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } } @@ -317,12 +317,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { childOf span(1) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } } @@ -342,12 +342,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { childOf span(1) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } } @@ -372,12 +372,12 @@ class SpringJpaTest extends AgentInstrumentationSpecification { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" "delete from Customer where id=?" - "$DbIncubatingAttributes.DB_OPERATION" "DELETE" - "$DbIncubatingAttributes.DB_SQL_TABLE" "Customer" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "delete from Customer where id=?" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "DELETE" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "Customer" } } } diff --git a/instrumentation/hibernate/hibernate-procedure-call-4.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallTest.java b/instrumentation/hibernate/hibernate-procedure-call-4.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallTest.java index 3e36101c7bef..eed5fb2fa5ba 100644 --- a/instrumentation/hibernate/hibernate-procedure-call-4.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallTest.java +++ b/instrumentation/hibernate/hibernate-procedure-call-4.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallTest.java @@ -115,11 +115,11 @@ void testProcedureCall() { .hasParent(trace.getSpan(1)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "{call TEST_PROC()}"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "{call TEST_PROC()}"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "CALL")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "CALL")), span -> span.hasName("Transaction.commit") .hasKind(INTERNAL) diff --git a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java index c2152b4c8dc0..a6adb4f2c59e 100644 --- a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java +++ b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java @@ -8,10 +8,10 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import io.opentelemetry.api.trace.Span; @@ -304,13 +304,13 @@ private static void assertTrace() { .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), equalTo( - DB_STATEMENT, + DB_QUERY_TEXT, "select value0_.id as id1_0_0_, value0_.name as name2_0_0_ from Value value0_ where value0_.id=$1"), - equalTo(DB_OPERATION, "SELECT"), - equalTo(DB_SQL_TABLE, "Value"), + equalTo(DB_OPERATION_NAME, "SELECT"), + equalTo(DB_COLLECTION_NAME, "Value"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)), span -> diff --git a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java index a7ec8dc7248d..eca7fc3eb4a2 100644 --- a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java +++ b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java @@ -8,10 +8,10 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import io.opentelemetry.api.trace.Span; @@ -296,13 +296,13 @@ private static void assertTrace() { .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), equalTo( - DB_STATEMENT, + DB_QUERY_TEXT, "select v1_0.id,v1_0.name from Value v1_0 where v1_0.id=$1"), - equalTo(DB_OPERATION, "SELECT"), - equalTo(DB_SQL_TABLE, "Value"), + equalTo(DB_OPERATION_NAME, "SELECT"), + equalTo(DB_COLLECTION_NAME, "Value"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)), span -> diff --git a/instrumentation/influxdb-2.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/influxdb/v2_4/InfluxDbClientTest.java b/instrumentation/influxdb-2.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/influxdb/v2_4/InfluxDbClientTest.java index 40d5300fe5d8..219f2e2b0080 100644 --- a/instrumentation/influxdb-2.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/influxdb/v2_4/InfluxDbClientTest.java +++ b/instrumentation/influxdb-2.4/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/influxdb/v2_4/InfluxDbClientTest.java @@ -319,12 +319,12 @@ private static List attributeAssertions( result.addAll( asList( equalTo(DbIncubatingAttributes.DB_SYSTEM, "influxdb"), - equalTo(DbIncubatingAttributes.DB_NAME, databaseName), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, databaseName), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), - equalTo(DbIncubatingAttributes.DB_OPERATION, operation))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, operation))); if (statement != null) { - result.add(equalTo(DbIncubatingAttributes.DB_STATEMENT, statement)); + result.add(equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, statement)); } return result; } diff --git a/instrumentation/influxdb-2.4/javaagent/src/test24/java/io/opentelemetry/javaagent/instrumentation/influxdb/v2_4/InfluxDbClient24Test.java b/instrumentation/influxdb-2.4/javaagent/src/test24/java/io/opentelemetry/javaagent/instrumentation/influxdb/v2_4/InfluxDbClient24Test.java index 3cd33152551c..d3002bfb93b5 100644 --- a/instrumentation/influxdb-2.4/javaagent/src/test24/java/io/opentelemetry/javaagent/instrumentation/influxdb/v2_4/InfluxDbClient24Test.java +++ b/instrumentation/influxdb-2.4/javaagent/src/test24/java/io/opentelemetry/javaagent/instrumentation/influxdb/v2_4/InfluxDbClient24Test.java @@ -147,12 +147,12 @@ private static List attributeAssertions( result.addAll( asList( equalTo(DbIncubatingAttributes.DB_SYSTEM, "influxdb"), - equalTo(DbIncubatingAttributes.DB_NAME, databaseName), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, databaseName), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), - equalTo(DbIncubatingAttributes.DB_OPERATION, operation))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, operation))); if (statement != null) { - result.add(equalTo(DbIncubatingAttributes.DB_STATEMENT, statement)); + result.add(equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, statement)); } return result; } diff --git a/instrumentation/jdbc/javaagent/src/test/groovy/JdbcInstrumentationTest.groovy b/instrumentation/jdbc/javaagent/src/test/groovy/JdbcInstrumentationTest.groovy index 39eec0059569..413d8962de33 100644 --- a/instrumentation/jdbc/javaagent/src/test/groovy/JdbcInstrumentationTest.groovy +++ b/instrumentation/jdbc/javaagent/src/test/groovy/JdbcInstrumentationTest.groovy @@ -191,14 +191,14 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_NAME" dbNameLower + "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower if (username != null) { "$DbIncubatingAttributes.DB_USER" username } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url - "$DbIncubatingAttributes.DB_STATEMENT" sanitizedQuery - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" table + "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" table } } } @@ -251,14 +251,14 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_NAME" dbNameLower + "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower if (username != null) { "$DbIncubatingAttributes.DB_USER" username } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url - "$DbIncubatingAttributes.DB_STATEMENT" sanitizedQuery - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" table + "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" table } } } @@ -303,14 +303,14 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_NAME" dbNameLower + "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower if (username != null) { "$DbIncubatingAttributes.DB_USER" username } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url - "$DbIncubatingAttributes.DB_STATEMENT" sanitizedQuery - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" table + "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" table } } } @@ -355,14 +355,14 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_NAME" dbName.toLowerCase() + "$DbIncubatingAttributes.DB_NAMESPACE" dbName.toLowerCase() if (username != null) { "$DbIncubatingAttributes.DB_USER" username } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url - "$DbIncubatingAttributes.DB_STATEMENT" sanitizedQuery - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" table + "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" table } } } @@ -407,14 +407,14 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_NAME" dbNameLower + "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower if (username != null) { "$DbIncubatingAttributes.DB_USER" username } - "$DbIncubatingAttributes.DB_STATEMENT" query + "$DbIncubatingAttributes.DB_QUERY_TEXT" query "$DbIncubatingAttributes.DB_CONNECTION_STRING" url - "$DbIncubatingAttributes.DB_OPERATION" "CREATE TABLE" - "$DbIncubatingAttributes.DB_SQL_TABLE" table + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CREATE TABLE" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" table } } } @@ -462,14 +462,14 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_NAME" dbName.toLowerCase() + "$DbIncubatingAttributes.DB_NAMESPACE" dbName.toLowerCase() if (username != null) { "$DbIncubatingAttributes.DB_USER" username } - "$DbIncubatingAttributes.DB_STATEMENT" query + "$DbIncubatingAttributes.DB_QUERY_TEXT" query "$DbIncubatingAttributes.DB_CONNECTION_STRING" url - "$DbIncubatingAttributes.DB_OPERATION" "CREATE TABLE" - "$DbIncubatingAttributes.DB_SQL_TABLE" table + "$DbIncubatingAttributes.DB_OPERATION_NAME" "CREATE TABLE" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" table } } } @@ -529,14 +529,14 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_NAME" dbNameLower + "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower if (username != null) { "$DbIncubatingAttributes.DB_USER" username } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url - "$DbIncubatingAttributes.DB_STATEMENT" sanitizedQuery - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" table + "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" table } } } @@ -589,7 +589,7 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { "$CodeIncubatingAttributes.CODE_FUNCTION" "getConnection" "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_USER" { user == null | user == it } - "$DbIncubatingAttributes.DB_NAME" "jdbcunittest" + "$DbIncubatingAttributes.DB_NAMESPACE" "jdbcunittest" "$DbIncubatingAttributes.DB_CONNECTION_STRING" connectionString } } @@ -603,7 +603,7 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { "$CodeIncubatingAttributes.CODE_FUNCTION" "getConnection" "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_USER" { user == null | user == it } - "$DbIncubatingAttributes.DB_NAME" "jdbcunittest" + "$DbIncubatingAttributes.DB_NAMESPACE" "jdbcunittest" "$DbIncubatingAttributes.DB_CONNECTION_STRING" connectionString } } @@ -652,7 +652,7 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "other_sql" - "$DbIncubatingAttributes.DB_STATEMENT" "testing ?" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "testing ?" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "testdb://localhost" "$ServerAttributes.SERVER_ADDRESS" "localhost" } @@ -693,11 +693,11 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "other_sql" - "$DbIncubatingAttributes.DB_NAME" databaseName + "$DbIncubatingAttributes.DB_NAMESPACE" databaseName "$DbIncubatingAttributes.DB_CONNECTION_STRING" "testdb://localhost" - "$DbIncubatingAttributes.DB_STATEMENT" sanitizedQuery - "$DbIncubatingAttributes.DB_OPERATION" operation - "$DbIncubatingAttributes.DB_SQL_TABLE" table + "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery + "$DbIncubatingAttributes.DB_OPERATION_NAME" operation + "$DbIncubatingAttributes.DB_COLLECTION_NAME" table "$ServerAttributes.SERVER_ADDRESS" "localhost" } } @@ -750,12 +750,12 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" dbNameLower + "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" "SELECT ? FROM INFORMATION_SCHEMA.SYSTEM_USERS" - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "INFORMATION_SCHEMA.SYSTEM_USERS" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT ? FROM INFORMATION_SCHEMA.SYSTEM_USERS" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "INFORMATION_SCHEMA.SYSTEM_USERS" } } } @@ -800,9 +800,9 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "other_sql" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "testdb://localhost" - "$DbIncubatingAttributes.DB_STATEMENT" "SELECT * FROM table" - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "table" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT * FROM table" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "table" "$ServerAttributes.SERVER_ADDRESS" "localhost" } } diff --git a/instrumentation/jdbc/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/scalaexecutors/SlickTest.scala b/instrumentation/jdbc/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/scalaexecutors/SlickTest.scala index dc1ff375acc6..d3f2c737ff53 100644 --- a/instrumentation/jdbc/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/scalaexecutors/SlickTest.scala +++ b/instrumentation/jdbc/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/scalaexecutors/SlickTest.scala @@ -83,14 +83,14 @@ class SlickTest { DbIncubatingAttributes.DB_SYSTEM, DbSystemValues.H2 ), - equalTo(DbIncubatingAttributes.DB_NAME, Db), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, Db), equalTo(DbIncubatingAttributes.DB_USER, Username), equalTo( DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:" ), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SELECT ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT") + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT") ) } ) diff --git a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java index fb35e335d9d7..f4f0ef922803 100644 --- a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java +++ b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java @@ -19,7 +19,7 @@ enum DataSourceDbAttributesExtractor implements AttributesExtractor DB_NAME = AttributeKey.stringKey("db.name"); + private static final AttributeKey DB_NAMESPACE = AttributeKey.stringKey("db.name"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); private static final AttributeKey DB_USER = AttributeKey.stringKey("db.user"); private static final AttributeKey DB_CONNECTION_STRING = @@ -41,7 +41,7 @@ public void onEnd( } internalSet(attributes, DB_SYSTEM, dbInfo.getSystem()); internalSet(attributes, DB_USER, dbInfo.getUser()); - internalSet(attributes, DB_NAME, getName(dbInfo)); + internalSet(attributes, DB_NAMESPACE, getName(dbInfo)); internalSet(attributes, DB_CONNECTION_STRING, dbInfo.getShortUrl()); } diff --git a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java index 977a87f54c56..0808376074c9 100644 --- a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java +++ b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/JdbcTelemetryTest.java @@ -41,7 +41,7 @@ void buildWithDefaults() throws SQLException { span -> span.hasName("TestDataSource.getConnection"), span -> span.hasName("SELECT dbname") - .hasAttribute(equalTo(DbIncubatingAttributes.DB_STATEMENT, "SELECT ?;")))); + .hasAttribute(equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT ?;")))); } @Test @@ -117,7 +117,7 @@ void buildWithSanitizationDisabled() throws SQLException { span -> span.hasName("TestDataSource.getConnection"), span -> span.hasName("SELECT dbname") - .hasAttribute(equalTo(DbIncubatingAttributes.DB_STATEMENT, "SELECT 1;")))); + .hasAttribute(equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT 1;")))); } @Test diff --git a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/OpenTelemetryDataSourceTest.java b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/OpenTelemetryDataSourceTest.java index 6c775f9c2b7f..0b58a99e73c7 100644 --- a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/OpenTelemetryDataSourceTest.java +++ b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/datasource/OpenTelemetryDataSourceTest.java @@ -56,7 +56,7 @@ void shouldEmitGetConnectionSpans(GetConnectionFunction getConnection) throws SQ TestDataSource.class.getName()), equalTo(CodeIncubatingAttributes.CODE_FUNCTION, "getConnection"), equalTo(DbIncubatingAttributes.DB_SYSTEM, "postgresql"), - equalTo(DbIncubatingAttributes.DB_NAME, "dbname"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "dbname"), equalTo( DbIncubatingAttributes.DB_CONNECTION_STRING, "postgresql://127.0.0.1:5432")))); diff --git a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/OpenTelemetryConnectionTest.java b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/OpenTelemetryConnectionTest.java index 5405ddd14026..7d5930cb03e7 100644 --- a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/OpenTelemetryConnectionTest.java +++ b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/OpenTelemetryConnectionTest.java @@ -188,13 +188,13 @@ private static void jdbcTraceAssertion(DbInfo dbInfo, String query) { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, dbInfo.getSystem()), - equalTo(DbIncubatingAttributes.DB_NAME, dbInfo.getName()), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, dbInfo.getName()), equalTo(DbIncubatingAttributes.DB_USER, dbInfo.getUser()), equalTo( DbIncubatingAttributes.DB_CONNECTION_STRING, dbInfo.getShortUrl()), - equalTo(DbIncubatingAttributes.DB_STATEMENT, query), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "users"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, query), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "users"), equalTo(ServerAttributes.SERVER_ADDRESS, dbInfo.getHost()), equalTo(ServerAttributes.SERVER_PORT, dbInfo.getPort())))); } diff --git a/instrumentation/jedis/jedis-1.4/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/AbstractJedisTest.java b/instrumentation/jedis/jedis-1.4/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/AbstractJedisTest.java index 547a4fc0ba6e..221bd6f62051 100644 --- a/instrumentation/jedis/jedis-1.4/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/AbstractJedisTest.java +++ b/instrumentation/jedis/jedis-1.4/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/jedis/AbstractJedisTest.java @@ -65,8 +65,8 @@ void setCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port)))); } @@ -86,8 +86,8 @@ void getCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port))), trace -> @@ -97,8 +97,8 @@ void getCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET foo"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET foo"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port)))); } @@ -118,8 +118,8 @@ void commandWithNoArguments() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port))), trace -> @@ -129,8 +129,8 @@ void commandWithNoArguments() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RANDOMKEY"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port)))); } diff --git a/instrumentation/jedis/jedis-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/Jedis30ClientTest.java b/instrumentation/jedis/jedis-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/Jedis30ClientTest.java index be3e155d06fc..2459f4465db3 100644 --- a/instrumentation/jedis/jedis-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/Jedis30ClientTest.java +++ b/instrumentation/jedis/jedis-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v3_0/Jedis30ClientTest.java @@ -74,8 +74,8 @@ void setCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), @@ -100,8 +100,8 @@ void getCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), @@ -116,8 +116,8 @@ void getCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET foo"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET foo"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), @@ -142,8 +142,8 @@ void commandWithNoArguments() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), @@ -158,8 +158,8 @@ void commandWithNoArguments() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RANDOMKEY"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), diff --git a/instrumentation/jedis/jedis-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/Jedis40ClientTest.java b/instrumentation/jedis/jedis-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/Jedis40ClientTest.java index 0d54274d9a35..1485d85b8c79 100644 --- a/instrumentation/jedis/jedis-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/Jedis40ClientTest.java +++ b/instrumentation/jedis/jedis-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jedis/v4_0/Jedis40ClientTest.java @@ -68,8 +68,8 @@ void setCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), equalTo(NetworkAttributes.NETWORK_PEER_PORT, port), equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip)))); @@ -90,8 +90,8 @@ void getCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), equalTo(NetworkAttributes.NETWORK_PEER_PORT, port), equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip))), @@ -102,8 +102,8 @@ void getCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET foo"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET foo"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET"), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), equalTo(NetworkAttributes.NETWORK_PEER_PORT, port), equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip)))); @@ -124,8 +124,8 @@ void commandWithNoArguments() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), equalTo(NetworkAttributes.NETWORK_PEER_PORT, port), equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip))), @@ -136,8 +136,8 @@ void commandWithNoArguments() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RANDOMKEY"), equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4"), equalTo(NetworkAttributes.NETWORK_PEER_PORT, port), equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip)))); diff --git a/instrumentation/jms/jms-1.1/javaagent/src/jms2Test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms2InstrumentationTest.java b/instrumentation/jms/jms-1.1/javaagent/src/jms2Test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms2InstrumentationTest.java index 439fa62de2ec..80dab9eb04b2 100644 --- a/instrumentation/jms/jms-1.1/javaagent/src/jms2Test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms2InstrumentationTest.java +++ b/instrumentation/jms/jms-1.1/javaagent/src/jms2Test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms2InstrumentationTest.java @@ -171,7 +171,7 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))); @@ -190,7 +190,7 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)))); } @@ -238,7 +238,7 @@ void testMessageListener( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -250,7 +250,7 @@ void testMessageListener( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> span.hasName("consumer").hasParent(trace.getSpan(2)))); diff --git a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/AbstractJms1Test.java b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/AbstractJms1Test.java index 76aba2ac0414..da02bbbd978e 100644 --- a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/AbstractJms1Test.java +++ b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/AbstractJms1Test.java @@ -131,7 +131,7 @@ void testMessageListener( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -143,7 +143,7 @@ void testMessageListener( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> span.hasName("consumer").hasParent(trace.getSpan(2)))); @@ -214,7 +214,7 @@ void shouldCaptureMessageHeaders( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary), equalTo( @@ -232,7 +232,7 @@ void shouldCaptureMessageHeaders( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary), equalTo( @@ -288,7 +288,7 @@ void shouldFailWhenSendingReadOnlyMessage( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))), trace -> @@ -303,7 +303,7 @@ void shouldFailWhenSendingReadOnlyMessage( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)))); } diff --git a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1InstrumentationTest.java b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1InstrumentationTest.java index dc21edad5f6d..147261ab7f1f 100644 --- a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1InstrumentationTest.java +++ b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1InstrumentationTest.java @@ -64,7 +64,7 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))); @@ -83,7 +83,7 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)))); } diff --git a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1SuppressReceiveSpansTest.java b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1SuppressReceiveSpansTest.java index 261f2c3e87f9..1d292331970c 100644 --- a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1SuppressReceiveSpansTest.java +++ b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1SuppressReceiveSpansTest.java @@ -60,7 +60,7 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -73,7 +73,7 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))), trace -> diff --git a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/AbstractJms3Test.java b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/AbstractJms3Test.java index 0e90b1164c3b..16a9a2762eda 100644 --- a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/AbstractJms3Test.java +++ b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/AbstractJms3Test.java @@ -147,7 +147,7 @@ void testMessageListener(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, producerDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -159,7 +159,7 @@ void testMessageListener(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, actualDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId)), span -> span.hasName("consumer").hasParent(trace.getSpan(2)))); } @@ -231,7 +231,7 @@ void shouldCaptureMessageHeaders(DestinationFactory destinationFactory, boolean equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, producerDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary), equalTo( @@ -249,7 +249,7 @@ void shouldCaptureMessageHeaders(DestinationFactory destinationFactory, boolean equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, actualDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), equalTo( stringArrayKey("messaging.header.test_message_header"), diff --git a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3InstrumentationTest.java b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3InstrumentationTest.java index b5f8b1f3cd58..6fd620560fbd 100644 --- a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3InstrumentationTest.java +++ b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3InstrumentationTest.java @@ -67,7 +67,7 @@ void testMessageConsumer(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, producerDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))); @@ -86,7 +86,7 @@ void testMessageConsumer(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, actualDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId)))); } diff --git a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3SuppressReceiveSpansTest.java b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3SuppressReceiveSpansTest.java index 3789a29acf34..1fdb40ec423a 100644 --- a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3SuppressReceiveSpansTest.java +++ b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3SuppressReceiveSpansTest.java @@ -63,7 +63,7 @@ void testMessageConsumer(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, producerDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -76,7 +76,7 @@ void testMessageConsumer(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, actualDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId))), trace -> diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-0.11/testing/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaClientBaseTest.java b/instrumentation/kafka/kafka-clients/kafka-clients-0.11/testing/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaClientBaseTest.java index 582d68c70a4e..a81c317f279a 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-0.11/testing/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaClientBaseTest.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-0.11/testing/src/main/java/io/opentelemetry/instrumentation/kafka/internal/KafkaClientBaseTest.java @@ -160,7 +160,7 @@ protected static List sendAttributes( Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -193,7 +193,7 @@ protected static List receiveAttributes(boolean testHeaders) Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("consumer")), @@ -220,7 +220,7 @@ protected static List processAttributes( Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("consumer")), diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsSuppressReceiveSpansTest.java b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsSuppressReceiveSpansTest.java index 8d70c340f60a..aa5283a4199a 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsSuppressReceiveSpansTest.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsSuppressReceiveSpansTest.java @@ -31,7 +31,7 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer"))), @@ -44,7 +44,7 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, greeting.getBytes(StandardCharsets.UTF_8).length), diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java index 35e723247b44..ef19371391ee 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java @@ -38,7 +38,7 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")))); @@ -62,7 +62,7 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "test"), @@ -81,7 +81,7 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, greeting.getBytes(StandardCharsets.UTF_8).length), diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/WrapperSuppressReceiveSpansTest.java b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/WrapperSuppressReceiveSpansTest.java index 04c1babf5b60..8ed701e63bb6 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/WrapperSuppressReceiveSpansTest.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/WrapperSuppressReceiveSpansTest.java @@ -59,7 +59,7 @@ protected static List sendAttributes(boolean testHeaders) { Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -84,7 +84,7 @@ private static List processAttributes(String greeting, boole Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, greeting.getBytes(StandardCharsets.UTF_8).length), diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/WrapperTest.java b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/WrapperTest.java index aaa6730f1dd6..83571ca31131 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/WrapperTest.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/WrapperTest.java @@ -81,7 +81,7 @@ protected static List sendAttributes(boolean testHeaders) { Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -106,7 +106,7 @@ private static List processAttributes(String greeting, boole Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, greeting.getBytes(StandardCharsets.UTF_8).length), @@ -138,7 +138,7 @@ protected static List receiveAttributes(boolean testHeaders) Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "test"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, diff --git a/instrumentation/kafka/kafka-streams-0.11/javaagent/src/test/groovy/KafkaStreamsDefaultTest.groovy b/instrumentation/kafka/kafka-streams-0.11/javaagent/src/test/groovy/KafkaStreamsDefaultTest.groovy index d50f9e950dba..e26442d53cfa 100644 --- a/instrumentation/kafka/kafka-streams-0.11/javaagent/src/test/groovy/KafkaStreamsDefaultTest.groovy +++ b/instrumentation/kafka/kafka-streams-0.11/javaagent/src/test/groovy/KafkaStreamsDefaultTest.groovy @@ -99,7 +99,7 @@ class KafkaStreamsDefaultTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PENDING - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" { it.startsWith("producer") } "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID" String "$MessagingIncubatingAttributes.MESSAGING_KAFKA_MESSAGE_OFFSET" 0 @@ -118,7 +118,7 @@ class KafkaStreamsDefaultTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PENDING - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "receive" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "receive" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" { it.endsWith("consumer") } "$MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT" 1 if (Boolean.getBoolean("testLatestDeps")) { @@ -135,7 +135,7 @@ class KafkaStreamsDefaultTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PENDING - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" { it.endsWith("consumer") } "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE" Long "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID" String @@ -156,7 +156,7 @@ class KafkaStreamsDefaultTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PROCESSED - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" { it.endsWith("producer") } "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID" String "$MessagingIncubatingAttributes.MESSAGING_KAFKA_MESSAGE_OFFSET" 0 @@ -174,7 +174,7 @@ class KafkaStreamsDefaultTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PROCESSED - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "receive" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "receive" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" { it.startsWith("consumer") } "$MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT" 1 if (Boolean.getBoolean("testLatestDeps")) { @@ -191,7 +191,7 @@ class KafkaStreamsDefaultTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PROCESSED - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" { it.startsWith("consumer") } "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE" Long "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID" String diff --git a/instrumentation/kafka/kafka-streams-0.11/javaagent/src/test/groovy/KafkaStreamsSuppressReceiveSpansTest.groovy b/instrumentation/kafka/kafka-streams-0.11/javaagent/src/test/groovy/KafkaStreamsSuppressReceiveSpansTest.groovy index 386e09b56efb..1fd5d5a60977 100644 --- a/instrumentation/kafka/kafka-streams-0.11/javaagent/src/test/groovy/KafkaStreamsSuppressReceiveSpansTest.groovy +++ b/instrumentation/kafka/kafka-streams-0.11/javaagent/src/test/groovy/KafkaStreamsSuppressReceiveSpansTest.groovy @@ -94,7 +94,7 @@ class KafkaStreamsSuppressReceiveSpansTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PENDING - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" "producer-1" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID" String "$MessagingIncubatingAttributes.MESSAGING_KAFKA_MESSAGE_OFFSET" 0 @@ -109,7 +109,7 @@ class KafkaStreamsSuppressReceiveSpansTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PENDING - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" { it.endsWith("consumer") } "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE" Long "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID" String @@ -133,7 +133,7 @@ class KafkaStreamsSuppressReceiveSpansTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PROCESSED - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" String "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID" String "$MessagingIncubatingAttributes.MESSAGING_KAFKA_MESSAGE_OFFSET" 0 @@ -147,7 +147,7 @@ class KafkaStreamsSuppressReceiveSpansTest extends KafkaStreamsBaseTest { attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "kafka" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" STREAM_PROCESSED - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_CLIENT_ID" { it.startsWith("consumer") } "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE" Long "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID" String diff --git a/instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAsyncClientTest.java b/instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAsyncClientTest.java index 74bc895b59a9..86838b0484f9 100644 --- a/instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAsyncClientTest.java +++ b/instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceAsyncClientTest.java @@ -191,7 +191,7 @@ void testSetCommandUsingFutureGetWithTimeout() .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")))); } @Test @@ -221,7 +221,7 @@ void testCommandChainedWithThenAccept() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")), span -> span.hasName("callback") .hasKind(SpanKind.INTERNAL) @@ -283,7 +283,7 @@ void getNonExistentKeyCommandWithHandleAsyncAndChainedWithThenApply() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")), span -> span.hasName("callback1") .hasKind(SpanKind.INTERNAL) @@ -324,7 +324,7 @@ void testCommandWithNoArgumentsUsingBiconsumer() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RANDOMKEY")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RANDOMKEY")), span -> span.hasName("callback") .hasKind(SpanKind.INTERNAL) @@ -368,7 +368,7 @@ void testHashSetAndThenNestApplyToHashGetall() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HMSET"))), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HMSET"))), trace -> trace.hasSpansSatisfyingExactly( span -> @@ -376,7 +376,7 @@ void testHashSetAndThenNestApplyToHashGetall() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HGETALL")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HGETALL")))); } @Test @@ -418,7 +418,7 @@ void testCommandCompletesExceptionally() { .hasException(new IllegalStateException("TestException")) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DEL")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DEL")))); } @Test @@ -455,7 +455,7 @@ void testCommandBeforeItFinished() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SADD"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SADD"), equalTo(booleanKey("lettuce.command.cancelled"), true)), span -> span.hasName("callback") @@ -492,7 +492,7 @@ void testDebugSegfaultCommandWithNoArgumentShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DEBUG")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DEBUG")))); } @Test @@ -526,6 +526,6 @@ void testShutdownCommandShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SHUTDOWN")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SHUTDOWN")))); } } diff --git a/instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceSyncClientTest.java b/instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceSyncClientTest.java index 49fa0ba716ee..b23951ff23aa 100644 --- a/instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceSyncClientTest.java +++ b/instrumentation/lettuce/lettuce-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceSyncClientTest.java @@ -161,7 +161,7 @@ void testSetCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")))); } @Test @@ -177,7 +177,7 @@ void testGetCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } @Test @@ -193,7 +193,7 @@ void testGetNonExistentKeyCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } @Test @@ -209,7 +209,7 @@ void testCommandWithNoArguments() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RANDOMKEY")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RANDOMKEY")))); } @Test @@ -225,7 +225,7 @@ void testListCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "LPUSH")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "LPUSH")))); } @Test @@ -241,7 +241,7 @@ void testHashSetCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HMSET")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HMSET")))); } @Test @@ -257,7 +257,7 @@ void testHashGetallCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HGETALL")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HGETALL")))); } @Test @@ -289,7 +289,7 @@ void testDebugSegfaultCommandWithNoArgumentShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DEBUG")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DEBUG")))); } @Test @@ -323,6 +323,6 @@ void testShutdownCommandShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SHUTDOWN")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SHUTDOWN")))); } } diff --git a/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAsyncClientTest.java b/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAsyncClientTest.java index 408f2ba72d91..2477142a2582 100644 --- a/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAsyncClientTest.java +++ b/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceAsyncClientTest.java @@ -185,8 +185,8 @@ void testSetCommandUsingFutureGetWithTimeout() .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET TESTSETKEY ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET TESTSETKEY ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")))); } @Test @@ -217,8 +217,8 @@ void testGetCommandChainedWithThenAccept() .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET TESTKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET TESTKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")), span -> span.hasName("callback") .hasKind(SpanKind.INTERNAL) @@ -274,8 +274,8 @@ void testGetNonExistentKeyCommandWithHandleAsyncAndChainedWithThenApply() .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET NON_EXISTENT_KEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET NON_EXISTENT_KEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")), span -> span.hasName("callback1") .hasKind(SpanKind.INTERNAL) @@ -317,8 +317,8 @@ void testCommandWithNoArgumentsUsingBiconsumer() .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RANDOMKEY")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RANDOMKEY")), span -> span.hasName("callback") .hasKind(SpanKind.INTERNAL) @@ -364,9 +364,9 @@ void testHashSetAndThenNestApplyToHashGetall() .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "HMSET TESTHM firstname ? lastname ? age ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HMSET"))), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HMSET"))), trace -> trace.hasSpansSatisfyingExactly( span -> @@ -374,8 +374,8 @@ void testHashSetAndThenNestApplyToHashGetall() .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "HGETALL TESTHM"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HGETALL")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "HGETALL TESTHM"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HGETALL")))); } @Test @@ -417,8 +417,8 @@ void testCommandCompletesExceptionally() { .hasException(new IllegalStateException("TestException")) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "DEL key1 key2"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DEL")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "DEL key1 key2"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DEL")))); } @Test @@ -455,8 +455,8 @@ void testCancelCommandBeforeItFinishes() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SADD SKEY ? ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SADD"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SADD SKEY ? ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SADD"), equalTo(booleanKey("lettuce.command.cancelled"), true)), span -> span.hasName("callback") @@ -480,8 +480,8 @@ void testDebugSegfaultCommandWithNoArgumentShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "DEBUG SEGFAULT"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DEBUG")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "DEBUG SEGFAULT"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DEBUG")))); } @Test @@ -500,7 +500,7 @@ void testShutdownCommandShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SHUTDOWN NOSAVE"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SHUTDOWN")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SHUTDOWN NOSAVE"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SHUTDOWN")))); } } diff --git a/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceReactiveClientTest.java b/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceReactiveClientTest.java index feb5f7ead45c..1d26ce38e824 100644 --- a/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceReactiveClientTest.java +++ b/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceReactiveClientTest.java @@ -92,8 +92,8 @@ void testSetCommandWithSubscribeOnDefinedConsumer() .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET TESTSETKEY ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET TESTSETKEY ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")), span -> span.hasName("callback") .hasKind(SpanKind.INTERNAL) @@ -123,8 +123,8 @@ void testGetCommandWithLambdaFunction() .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET TESTKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET TESTKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } // to make sure instrumentation's chained completion stages won't interfere with user's, while @@ -162,8 +162,8 @@ void testGetNonExistentKeyCommand() .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET NON_EXISTENT_KEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET NON_EXISTENT_KEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")), span -> span.hasName("callback") .hasKind(SpanKind.INTERNAL) @@ -192,8 +192,8 @@ void testCommandWithNoArguments() .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RANDOMKEY")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RANDOMKEY")))); } @Test @@ -208,8 +208,8 @@ void testCommandFluxPublisher() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "COMMAND"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "COMMAND"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "COMMAND"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "COMMAND"), satisfies( AttributeKey.longKey("lettuce.command.results.count"), val -> val.isGreaterThan(100))))); @@ -227,8 +227,8 @@ void testCommandCancelAfter2OnFluxPublisher() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "COMMAND"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "COMMAND"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "COMMAND"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "COMMAND"), satisfies( AttributeKey.booleanKey("lettuce.command.cancelled"), AbstractBooleanAssert::isTrue), @@ -261,8 +261,8 @@ void testDebugSegfaultCommandReturnsMonoVoidWithNoArgumentShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "DEBUG SEGFAULT"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DEBUG")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "DEBUG SEGFAULT"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DEBUG")))); } @Test @@ -281,8 +281,8 @@ void testShutdownCommandShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SHUTDOWN NOSAVE"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SHUTDOWN")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SHUTDOWN NOSAVE"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SHUTDOWN")))); } @Test @@ -301,16 +301,16 @@ void testBlockingSubscriber() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET a ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET a ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")), span -> span.hasName("GET") .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET a"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET a"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } @Test @@ -329,16 +329,16 @@ void testAsyncSubscriber() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET a ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET a ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")), span -> span.hasName("GET") .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET a"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET a"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } @Test @@ -362,15 +362,15 @@ void testAsyncSubscriberWithSpecificThreadPool() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET a ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET a ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")), span -> span.hasName("GET") .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET a"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET a"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } } diff --git a/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceSyncClientTest.java b/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceSyncClientTest.java index 7828a3c5ef8e..e2a447f7ee33 100644 --- a/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceSyncClientTest.java +++ b/instrumentation/lettuce/lettuce-5.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceSyncClientTest.java @@ -148,8 +148,8 @@ void testSetCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET TESTSETKEY ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET TESTSETKEY ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")))); } @Test @@ -165,8 +165,8 @@ void testGetCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET TESTKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET TESTKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } @Test @@ -182,8 +182,8 @@ void testGetNonExistentKeyCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET NON_EXISTENT_KEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET NON_EXISTENT_KEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } @Test @@ -199,8 +199,8 @@ void testCommandWithNoArguments() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RANDOMKEY")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RANDOMKEY")))); } @Test @@ -216,8 +216,8 @@ void testListCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "LPUSH TESTLIST ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "LPUSH")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "LPUSH TESTLIST ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "LPUSH")))); } @Test @@ -234,9 +234,9 @@ void testHashSetCommand() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "HMSET user firstname ? lastname ? age ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HMSET")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HMSET")))); } @Test @@ -252,8 +252,8 @@ void testHashGetallCommand() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "HGETALL TESTHM"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HGETALL")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "HGETALL TESTHM"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HGETALL")))); } @Test @@ -272,8 +272,8 @@ void testDebugSegfaultCommandWithNoArgumentShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "DEBUG SEGFAULT"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DEBUG")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "DEBUG SEGFAULT"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DEBUG")))); } @Test @@ -292,7 +292,7 @@ void testShutdownCommandShouldProduceSpan() { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SHUTDOWN NOSAVE"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SHUTDOWN")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SHUTDOWN NOSAVE"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SHUTDOWN")))); } } diff --git a/instrumentation/lettuce/lettuce-5.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.java b/instrumentation/lettuce/lettuce-5.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.java index 2121d2500510..242bdce460f4 100644 --- a/instrumentation/lettuce/lettuce-5.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.java +++ b/instrumentation/lettuce/lettuce-5.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.java @@ -58,7 +58,7 @@ void testAsyncSubscriberWithSpecificThreadPool() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET a ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET a ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")), @@ -73,7 +73,7 @@ void testAsyncSubscriberWithSpecificThreadPool() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET a")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET a")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); diff --git a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java index d040634872b6..9c6a948a9fdc 100644 --- a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java +++ b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java @@ -40,7 +40,7 @@ final class OpenTelemetryTracing implements Tracing { // copied from DbIncubatingAttributes private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); - private static final AttributeKey DB_STATEMENT = AttributeKey.stringKey("db.statement"); + private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.statement"); // copied from DbIncubatingAttributes.DbSystemValues private static final String REDIS = "redis"; @@ -338,7 +338,7 @@ private void finish(Span span) { if (name != null) { String statement = sanitizer.sanitize(name, argsList != null ? argsList : splitArgs(argsString)); - span.setAttribute(DB_STATEMENT, statement); + span.setAttribute(DB_QUERY_TEXT, statement); } span.end(); } diff --git a/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.java b/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.java index 7aecb49b892b..1039144eee30 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.java +++ b/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.java @@ -152,7 +152,7 @@ void testSetCommandUsingFutureGetWithTimeout() throws Exception { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET TESTSETKEY ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET TESTSETKEY ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -198,7 +198,7 @@ void testGetCommandChainedWithThenAccept() throws Exception { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET TESTKEY")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET TESTKEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -277,7 +277,7 @@ void testGetNonExistentKeyCommandWithHandleAsyncAndChainedWithThenApply() throws equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "GET NON_EXISTENT_KEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), @@ -343,7 +343,7 @@ void testCommandWithNoArgumentsUsingBiconsumer() throws Exception { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -403,7 +403,7 @@ void testHashSetAndThenNestApplyToHashGetall() throws Exception { equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "HMSET TESTHM firstname ? lastname ? age ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), @@ -420,7 +420,7 @@ void testHashSetAndThenNestApplyToHashGetall() throws Exception { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "HGETALL TESTHM")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "HGETALL TESTHM")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); diff --git a/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceReactiveClientTest.java b/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceReactiveClientTest.java index a2e157952953..b9a62232e30b 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceReactiveClientTest.java +++ b/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceReactiveClientTest.java @@ -99,7 +99,7 @@ void testSetCommandWithSubscribeOnDefinedConsumer() throws Exception { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET TESTSETKEY ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET TESTSETKEY ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")), @@ -137,7 +137,7 @@ void testGetCommandWithLambdaFunction() throws Exception { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET TESTKEY")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET TESTKEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -187,7 +187,7 @@ void testGetNonExistentKeyCommand() throws Exception { equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, "GET NON_EXISTENT_KEY")) + DbIncubatingAttributes.DB_QUERY_TEXT, "GET NON_EXISTENT_KEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")), @@ -224,7 +224,7 @@ void testCommandWithNoArguments() throws Exception { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -248,7 +248,7 @@ void testCommandFluxPublisher() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "COMMAND")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "COMMAND")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -293,7 +293,7 @@ void testBlockingSubscriber() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET a ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET a ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")), @@ -308,7 +308,7 @@ void testBlockingSubscriber() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET a")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET a")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -337,7 +337,7 @@ void testAsyncSubscriber() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET a ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET a ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")), @@ -352,7 +352,7 @@ void testAsyncSubscriber() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET a")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET a")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); diff --git a/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientAuthTest.java b/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientAuthTest.java index a067003b9ae0..b4adf4e29a57 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientAuthTest.java +++ b/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientAuthTest.java @@ -73,7 +73,7 @@ void testAuthCommand() throws Exception { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "AUTH ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "AUTH ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); diff --git a/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientTest.java b/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientTest.java index b9e53ffb83a1..15a644045c87 100644 --- a/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientTest.java +++ b/instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceSyncClientTest.java @@ -118,7 +118,7 @@ void testSetCommand() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET TESTSETKEY ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET TESTSETKEY ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -143,7 +143,7 @@ void testGetCommand() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET TESTKEY")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET TESTKEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -169,7 +169,7 @@ void testGetNonExistentKeyCommand() { equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, "GET NON_EXISTENT_KEY")) + DbIncubatingAttributes.DB_QUERY_TEXT, "GET NON_EXISTENT_KEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -194,7 +194,7 @@ void testCommandWithNoArguments() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RANDOMKEY")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RANDOMKEY")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -224,7 +224,7 @@ void testListCommand() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, containerConnection.port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "LPUSH TESTLIST ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "LPUSH TESTLIST ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -250,7 +250,7 @@ void testHashSetCommand() { equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "HMSET user firstname ? lastname ? age ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), @@ -276,7 +276,7 @@ void testHashGetallCommand() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "HGETALL TESTHM")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "HGETALL TESTHM")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -309,7 +309,7 @@ void testEvalCommand() { equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "EVAL " + b64Script + " 1 TESTLIST ? ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), @@ -336,7 +336,7 @@ void testMsetCommand() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "MSET key1 ? key2 ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "MSET key1 ? key2 ?")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end")))); @@ -366,7 +366,7 @@ void testDebugSegfaultCommandWithNoArgumentProducesNoSpan() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, containerConnection.port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "DEBUG SEGFAULT"))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "DEBUG SEGFAULT"))); } else { trace.hasSpansSatisfyingExactly( span -> @@ -380,7 +380,7 @@ void testDebugSegfaultCommandWithNoArgumentProducesNoSpan() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, containerConnection.port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "DEBUG SEGFAULT")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "DEBUG SEGFAULT")) // these are no longer recorded since Lettuce 6.1.6 .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), @@ -415,7 +415,7 @@ void testShutdownCommandProducesNoSpan() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, containerConnection.port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SHUTDOWN NOSAVE"))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SHUTDOWN NOSAVE"))); } else { trace.hasSpansSatisfyingExactly( span -> @@ -430,7 +430,7 @@ void testShutdownCommandProducesNoSpan() { equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, containerConnection.port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SHUTDOWN NOSAVE")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SHUTDOWN NOSAVE")) .hasEventsSatisfyingExactly( event -> event.hasName("redis.encode.start"), event -> event.hasName("redis.encode.end"))); diff --git a/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy b/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy index 3cd9dafc2afe..9e54ca506461 100644 --- a/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy +++ b/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy @@ -418,13 +418,13 @@ abstract class AbstractMongoClientTest extends InstrumentationSpecification { attributes { "$ServerAttributes.SERVER_ADDRESS" host "$ServerAttributes.SERVER_PORT" port - "$DbIncubatingAttributes.DB_STATEMENT" { + "$DbIncubatingAttributes.DB_QUERY_TEXT" { statementEval.call(it.replaceAll(" ", "")) } "$DbIncubatingAttributes.DB_SYSTEM" "mongodb" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "mongodb://localhost:" + port - "$DbIncubatingAttributes.DB_NAME" dbName - "$DbIncubatingAttributes.DB_OPERATION" operation + "$DbIncubatingAttributes.DB_NAMESPACE" dbName + "$DbIncubatingAttributes.DB_OPERATION_NAME" operation "$DbIncubatingAttributes.DB_MONGODB_COLLECTION" collection } } diff --git a/instrumentation/opensearch/opensearch-rest-1.0/javaagent/src/test/java/OpenSearchRestTest.java b/instrumentation/opensearch/opensearch-rest-1.0/javaagent/src/test/java/OpenSearchRestTest.java index cb51f8efb076..082f4005362c 100644 --- a/instrumentation/opensearch/opensearch-rest-1.0/javaagent/src/test/java/OpenSearchRestTest.java +++ b/instrumentation/opensearch/opensearch-rest-1.0/javaagent/src/test/java/OpenSearchRestTest.java @@ -98,8 +98,8 @@ void shouldGetStatusWithTraces() throws IOException { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "opensearch"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET _cluster/health")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET _cluster/health")), span -> span.hasName("GET") .hasKind(SpanKind.CLIENT) @@ -163,8 +163,8 @@ public void onFailure(Exception e) { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "opensearch"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET _cluster/health")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET"), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET _cluster/health")), span -> span.hasName("GET") .hasKind(SpanKind.CLIENT) diff --git a/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java b/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java index f32daa20e074..fc87720a376c 100644 --- a/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java +++ b/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java @@ -13,7 +13,7 @@ import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID; -import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION; +import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_SYSTEM; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java b/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java index 465c0e40bef6..a8dca20ea9a4 100644 --- a/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java +++ b/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java @@ -9,10 +9,10 @@ import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CONNECTION_STRING; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import static io.r2dbc.spi.ConnectionFactoryOptions.DATABASE; @@ -170,11 +170,11 @@ void testQueries(Parameter parameter) { DB_CONNECTION_STRING, parameter.system + "://localhost:" + port), equalTo(DB_SYSTEM, parameter.system), - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), - equalTo(DB_STATEMENT, parameter.expectedStatement), - equalTo(DB_OPERATION, parameter.operation), - equalTo(DB_SQL_TABLE, parameter.table), + equalTo(DB_QUERY_TEXT, parameter.expectedStatement), + equalTo(DB_OPERATION_NAME, parameter.operation), + equalTo(DB_COLLECTION_NAME, parameter.table), equalTo(SERVER_ADDRESS, container.getHost()), equalTo(SERVER_PORT, port)), span -> diff --git a/instrumentation/rabbitmq-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitMqTest.java b/instrumentation/rabbitmq-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitMqTest.java index 8347f81df4f8..f6fefd81f0c4 100644 --- a/instrumentation/rabbitmq-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitMqTest.java +++ b/instrumentation/rabbitmq-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/rabbitmq/RabbitMqTest.java @@ -839,7 +839,7 @@ private static void verifyMessagingAttributes( }); if (operation != null && !operation.equals("publish")) { - span.hasAttribute(MessagingIncubatingAttributes.MESSAGING_OPERATION, operation); + span.hasAttribute(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, operation); } } diff --git a/instrumentation/reactor/reactor-kafka-1.0/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/kafka/v1_0/AbstractReactorKafkaTest.java b/instrumentation/reactor/reactor-kafka-1.0/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/kafka/v1_0/AbstractReactorKafkaTest.java index becea32946d4..ee6889a5946d 100644 --- a/instrumentation/reactor/reactor-kafka-1.0/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/kafka/v1_0/AbstractReactorKafkaTest.java +++ b/instrumentation/reactor/reactor-kafka-1.0/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/kafka/v1_0/AbstractReactorKafkaTest.java @@ -181,7 +181,7 @@ protected static List sendAttributes(ProducerRecord stringAssert.startsWith("producer")), @@ -205,7 +205,7 @@ protected static List receiveAttributes(String topic) { asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, topic), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("consumer")), @@ -223,7 +223,7 @@ protected static List processAttributes( asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, record.topic()), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("consumer")), diff --git a/instrumentation/rediscala-1.8/javaagent/src/test/groovy/RediscalaClientTest.groovy b/instrumentation/rediscala-1.8/javaagent/src/test/groovy/RediscalaClientTest.groovy index 5f6e10ab0acc..cb1af9916c0f 100644 --- a/instrumentation/rediscala-1.8/javaagent/src/test/groovy/RediscalaClientTest.groovy +++ b/instrumentation/rediscala-1.8/javaagent/src/test/groovy/RediscalaClientTest.groovy @@ -91,7 +91,7 @@ class RediscalaClientTest extends AgentInstrumentationSpecification { kind CLIENT attributes { "$DbIncubatingAttributes.DB_SYSTEM" "redis" - "$DbIncubatingAttributes.DB_OPERATION" "SET" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SET" } } } @@ -126,7 +126,7 @@ class RediscalaClientTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "redis" - "$DbIncubatingAttributes.DB_OPERATION" "SET" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SET" } } span(2) { @@ -135,7 +135,7 @@ class RediscalaClientTest extends AgentInstrumentationSpecification { childOf span(0) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "redis" - "$DbIncubatingAttributes.DB_OPERATION" "GET" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "GET" } } } diff --git a/instrumentation/redisson/redisson-common/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/AbstractRedissonAsyncClientTest.java b/instrumentation/redisson/redisson-common/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/AbstractRedissonAsyncClientTest.java index 9a005c90315c..6b15b703975a 100644 --- a/instrumentation/redisson/redisson-common/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/AbstractRedissonAsyncClientTest.java +++ b/instrumentation/redisson/redisson-common/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/AbstractRedissonAsyncClientTest.java @@ -118,8 +118,8 @@ void futureSet() throws ExecutionException, InterruptedException, TimeoutExcepti equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")))); } @Test @@ -151,8 +151,8 @@ void futureWhenComplete() throws ExecutionException, InterruptedException, Timeo equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SADD set1 ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SADD")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SADD set1 ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SADD")) .hasParent(trace.getSpan(0)), span -> span.hasName("callback").hasKind(INTERNAL).hasParent(trace.getSpan(0)))); } @@ -225,7 +225,7 @@ void atomicBatchCommand() throws ExecutionException, InterruptedException, Timeo equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "MULTI;SET batch1 ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "MULTI;SET batch1 ?")) .hasParent(trace.getSpan(0)), span -> span.hasName("SET") @@ -235,8 +235,8 @@ void atomicBatchCommand() throws ExecutionException, InterruptedException, Timeo equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET batch2 ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET batch2 ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")) .hasParent(trace.getSpan(0)), span -> span.hasName("EXEC") @@ -246,8 +246,8 @@ void atomicBatchCommand() throws ExecutionException, InterruptedException, Timeo equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "EXEC"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "EXEC")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "EXEC"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "EXEC")) .hasParent(trace.getSpan(0)), span -> span.hasName("callback").hasKind(INTERNAL).hasParent(trace.getSpan(0)))); } diff --git a/instrumentation/redisson/redisson-common/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/AbstractRedissonClientTest.java b/instrumentation/redisson/redisson-common/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/AbstractRedissonClientTest.java index d25aa7e4fcd4..ca52e2b52641 100644 --- a/instrumentation/redisson/redisson-common/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/AbstractRedissonClientTest.java +++ b/instrumentation/redisson/redisson-common/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/redisson/AbstractRedissonClientTest.java @@ -121,8 +121,8 @@ void stringCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET foo ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET"))), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET foo ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET"))), trace -> trace.hasSpansSatisfyingExactly( span -> @@ -133,8 +133,8 @@ void stringCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "GET foo"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "GET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "GET foo"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "GET")))); } @Test @@ -160,7 +160,7 @@ void batchCommand() equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "SET batch1 ?;SET batch2 ?")))); } @@ -201,7 +201,7 @@ void atomicBatchCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "MULTI;SET batch1 ?")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "MULTI;SET batch1 ?")) .hasParent(trace.getSpan(0)), span -> span.hasName("SET") @@ -211,8 +211,8 @@ void atomicBatchCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SET batch2 ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SET")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SET batch2 ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SET")) .hasParent(trace.getSpan(0)), span -> span.hasName("EXEC") @@ -222,8 +222,8 @@ void atomicBatchCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "EXEC"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "EXEC")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "EXEC"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "EXEC")) .hasParent(trace.getSpan(0)))); } @@ -244,8 +244,8 @@ void listCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "RPUSH list1 ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "RPUSH")) + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "RPUSH list1 ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "RPUSH")) .hasNoParent())); } @@ -270,9 +270,9 @@ void hashCommand() { equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, String.format("EVAL %s 1 map1 ? ?", script)), - equalTo(DbIncubatingAttributes.DB_OPERATION, "EVAL"))), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "EVAL"))), trace -> trace.hasSpansSatisfyingExactly( span -> @@ -283,8 +283,8 @@ void hashCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "HGET map1 key1"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "HGET")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "HGET map1 key1"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "HGET")))); } @Test @@ -304,8 +304,8 @@ void setCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "SADD set1 ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SADD")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "SADD set1 ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SADD")))); } @Test @@ -333,8 +333,8 @@ void sortedSetCommand() equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo( - DbIncubatingAttributes.DB_STATEMENT, "ZADD sort_set1 ? ? ? ? ? ?"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "ZADD")))); + DbIncubatingAttributes.DB_QUERY_TEXT, "ZADD sort_set1 ? ? ? ? ? ?"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "ZADD")))); } private static void invokeAddAll(RScoredSortedSet object, Map arg) @@ -359,8 +359,8 @@ void atomicLongCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, "INCR AtomicLong"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "INCR")))); + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "INCR AtomicLong"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "INCR")))); } @Test @@ -385,9 +385,9 @@ void lockCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "EVAL"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "EVAL"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith("EVAL"))))); traceAsserts.add( trace -> @@ -400,9 +400,9 @@ void lockCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "EVAL"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "EVAL"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith("EVAL"))))); if (lockHas3Traces()) { traceAsserts.add( @@ -416,9 +416,9 @@ void lockCommand() { equalTo(NetworkAttributes.NETWORK_PEER_ADDRESS, ip), equalTo(NetworkAttributes.NETWORK_PEER_PORT, (long) port), equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DEL"), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DEL"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, stringAssert -> stringAssert.startsWith("DEL"))))); } diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/AbstractRocketMqClientTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/AbstractRocketMqClientTest.java index 60b277d7a46d..433a0f8cb600 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/AbstractRocketMqClientTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/AbstractRocketMqClientTest.java @@ -143,7 +143,7 @@ public void onException(Throwable throwable) { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -166,7 +166,7 @@ public void onException(Throwable throwable) { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), @@ -219,7 +219,7 @@ void testRocketmqProduceAndConsume() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -242,7 +242,7 @@ void testRocketmqProduceAndConsume() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), @@ -307,7 +307,7 @@ void testRocketmqProduceAndBatchConsume() throws Exception { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -334,7 +334,7 @@ void testRocketmqProduceAndBatchConsume() throws Exception { .hasAttributesSatisfyingExactly( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "rocketmq"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive")), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive")), span -> span.hasName(sharedTopic + " process") .hasKind(SpanKind.CONSUMER) @@ -346,7 +346,7 @@ void testRocketmqProduceAndBatchConsume() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), @@ -376,7 +376,7 @@ void testRocketmqProduceAndBatchConsume() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), @@ -434,7 +434,7 @@ void captureMessageHeaderAsSpanAttributes() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -461,7 +461,7 @@ void captureMessageHeaderAsSpanAttributes() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java index c9b0557e79a5..b9b4d577b8e0 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java @@ -9,7 +9,7 @@ import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID; -import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION; +import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_CLIENT_GROUP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_KEYS; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_TAG; diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java index beab651f2a8f..3981a1d2bad8 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java @@ -11,7 +11,7 @@ import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID; -import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION; +import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_CLIENT_GROUP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_DELIVERY_TIMESTAMP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_GROUP; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java index b7bc9a25b997..e083146c9c19 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java @@ -50,13 +50,13 @@ void statementSanitizerEnabledByDefault() { trace.hasSpansSatisfyingExactly( span -> span.hasAttribute( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "CREATE TABLE IF NOT EXISTS player(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(?), age INT, PRIMARY KEY (id))")), trace -> trace.hasSpansSatisfyingExactly( span -> span.hasAttribute( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM player WHERE id = ?"))); }); } diff --git a/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java b/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java index 826bf0877497..11a2e11617a1 100644 --- a/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java +++ b/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java @@ -8,10 +8,10 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CONNECTION_STRING; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import static org.assertj.core.api.Assertions.assertThat; @@ -82,11 +82,11 @@ void testFindAll() { .isLessThanOrEqualTo(trace.getSpan(1).getEndEpochNanos())) .hasAttributesSatisfyingExactly( equalTo(DB_SYSTEM, "h2"), - equalTo(DB_NAME, "db"), + equalTo(DB_NAMESPACE, "db"), equalTo(DB_USER, "sa"), - equalTo(DB_STATEMENT, "SELECT CUSTOMER.* FROM CUSTOMER"), - equalTo(DB_OPERATION, "SELECT"), - equalTo(DB_SQL_TABLE, "CUSTOMER"), + equalTo(DB_QUERY_TEXT, "SELECT CUSTOMER.* FROM CUSTOMER"), + equalTo(DB_OPERATION_NAME, "SELECT"), + equalTo(DB_COLLECTION_NAME, "CUSTOMER"), equalTo(DB_CONNECTION_STRING, "h2:mem://localhost"), equalTo(SERVER_ADDRESS, "localhost")))); } diff --git a/instrumentation/spring/spring-data/spring-data-common/testing/src/main/java/AbstractSpringJpaTest.java b/instrumentation/spring/spring-data/spring-data-common/testing/src/main/java/AbstractSpringJpaTest.java index 670999905aa5..bd3a64c644df 100644 --- a/instrumentation/spring/spring-data/spring-data-common/testing/src/main/java/AbstractSpringJpaTest.java +++ b/instrumentation/spring/spring-data/spring-data-common/testing/src/main/java/AbstractSpringJpaTest.java @@ -81,13 +81,13 @@ static void assertHibernate4Trace(TraceAssert trace, String repoClassName) { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, val -> val.startsWith("insert ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "INSERT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer"))); + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("insert ")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "INSERT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer"))); } @SuppressWarnings("deprecation") // TODO DbIncubatingAttributes.DB_CONNECTION_STRING deprecation @@ -104,26 +104,26 @@ static void assertHibernateTrace(TraceAssert trace, String repoClassName) { .hasKind(SpanKind.CLIENT) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("call next value for ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "CALL")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "CALL")), span -> span.hasName("INSERT test.JpaCustomer") .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, val -> val.startsWith("insert ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "INSERT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer"))); + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("insert ")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "INSERT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer"))); } @SuppressWarnings("deprecation") // TODO DbIncubatingAttributes.DB_CONNECTION_STRING deprecation @@ -153,14 +153,14 @@ void testCrud() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("select ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer")))); clearData(); repo.save(customer); @@ -191,28 +191,28 @@ void testCrud() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("select ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer")), span -> span.hasName("UPDATE test.JpaCustomer") .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("update ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "UPDATE"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "UPDATE"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer")))); clearData(); customer = findByLastName(repo, "Anonymous").get(0); @@ -231,14 +231,14 @@ void testCrud() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("select ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer")))); clearData(); repo.delete(customer); @@ -257,28 +257,28 @@ void testCrud() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("select ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer")), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer")), span -> span.hasName("DELETE test.JpaCustomer") .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("delete ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "DELETE"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "DELETE"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer")))); } @SuppressWarnings("deprecation") // TODO DbIncubatingAttributes.DB_CONNECTION_STRING deprecation @@ -306,14 +306,14 @@ void testCustomRepositoryMethod() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("select ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer")))); } @SuppressWarnings("deprecation") // TODO DbIncubatingAttributes.DB_CONNECTION_STRING deprecation @@ -353,13 +353,13 @@ void testFailedRepositoryMethod() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), - equalTo(DbIncubatingAttributes.DB_NAME, "test"), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("select ")), - equalTo(DbIncubatingAttributes.DB_OPERATION, "SELECT"), - equalTo(DbIncubatingAttributes.DB_SQL_TABLE, "JpaCustomer")))); + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "JpaCustomer")))); } } diff --git a/instrumentation/spring/spring-integration-4.1/javaagent/src/test/groovy/SpringIntegrationAndRabbitTest.groovy b/instrumentation/spring/spring-integration-4.1/javaagent/src/test/groovy/SpringIntegrationAndRabbitTest.groovy index 33fc7906b3bf..6bcd93acdb0f 100644 --- a/instrumentation/spring/spring-integration-4.1/javaagent/src/test/groovy/SpringIntegrationAndRabbitTest.groovy +++ b/instrumentation/spring/spring-integration-4.1/javaagent/src/test/groovy/SpringIntegrationAndRabbitTest.groovy @@ -61,7 +61,7 @@ class SpringIntegrationAndRabbitTest extends AgentInstrumentationSpecification i "$NetworkAttributes.NETWORK_TYPE" { it == "ipv4" || it == "ipv6" || it == null } "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "rabbitmq" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "testTopic" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "publish" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "publish" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE" Long "$MessagingIncubatingAttributes.MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY" String } @@ -79,7 +79,7 @@ class SpringIntegrationAndRabbitTest extends AgentInstrumentationSpecification i "$NetworkAttributes.NETWORK_TYPE" { it == "ipv4" || it == "ipv6" || it == null } "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "rabbitmq" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "testTopic" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE" Long "$MessagingIncubatingAttributes.MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY" String } @@ -93,7 +93,7 @@ class SpringIntegrationAndRabbitTest extends AgentInstrumentationSpecification i attributes { "$MessagingIncubatingAttributes.MESSAGING_SYSTEM" "rabbitmq" "$MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME" "testTopic" - "$MessagingIncubatingAttributes.MESSAGING_OPERATION" "process" + "$MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE" "process" "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID" String "$MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE" Long } diff --git a/instrumentation/spring/spring-jms/spring-jms-2.0/testing/src/main/java/io/opentelemetry/instrumentation/spring/jms/v2_0/AbstractJmsTest.java b/instrumentation/spring/spring-jms/spring-jms-2.0/testing/src/main/java/io/opentelemetry/instrumentation/spring/jms/v2_0/AbstractJmsTest.java index 6e679ecd2f3d..4d878d0bf8c3 100644 --- a/instrumentation/spring/spring-jms/spring-jms-2.0/testing/src/main/java/io/opentelemetry/instrumentation/spring/jms/v2_0/AbstractJmsTest.java +++ b/instrumentation/spring/spring-jms/spring-jms-2.0/testing/src/main/java/io/opentelemetry/instrumentation/spring/jms/v2_0/AbstractJmsTest.java @@ -40,7 +40,7 @@ protected List producerAttributeAssertions( asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "jms"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)))); @@ -89,7 +89,7 @@ protected List consumerAttributeAssertions( asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "jms"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, operation))); + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, operation))); if (msgId != null) { attributeAssertions.add(equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, msgId)); } else { diff --git a/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringJmsListenerTest.java b/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringJmsListenerTest.java index d0f50978b3f0..efcad675d849 100644 --- a/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringJmsListenerTest.java +++ b/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringJmsListenerTest.java @@ -50,7 +50,7 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank))); @@ -69,7 +69,7 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank)), @@ -83,7 +83,7 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank)), @@ -136,7 +136,7 @@ void shouldCaptureHeaders(Class configClass) equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank), @@ -157,7 +157,7 @@ void shouldCaptureHeaders(Class configClass) equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank), @@ -176,7 +176,7 @@ void shouldCaptureHeaders(Class configClass) equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank), diff --git a/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringListenerSuppressReceiveSpansTest.java b/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringListenerSuppressReceiveSpansTest.java index 043cf148ab9b..727273bc9200 100644 --- a/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringListenerSuppressReceiveSpansTest.java +++ b/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringListenerSuppressReceiveSpansTest.java @@ -30,7 +30,7 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank)), @@ -44,7 +44,7 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank)), diff --git a/instrumentation/spring/spring-kafka-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/SpringKafkaTest.java b/instrumentation/spring/spring-kafka-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/SpringKafkaTest.java index edf932d59af9..b548767d575d 100644 --- a/instrumentation/spring/spring-kafka-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/SpringKafkaTest.java +++ b/instrumentation/spring/spring-kafka-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/SpringKafkaTest.java @@ -77,7 +77,7 @@ void shouldCreateSpansForSingleRecordProcess() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -102,7 +102,7 @@ void shouldCreateSpansForSingleRecordProcess() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testSingleListener"), @@ -121,7 +121,7 @@ void shouldCreateSpansForSingleRecordProcess() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), @@ -167,7 +167,7 @@ void shouldHandleFailureInKafkaListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testSingleListener"), @@ -179,7 +179,7 @@ void shouldHandleFailureInKafkaListener() { Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), @@ -212,7 +212,7 @@ void shouldHandleFailureInKafkaListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -286,7 +286,7 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -306,7 +306,7 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -332,7 +332,7 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), @@ -353,7 +353,7 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), @@ -393,7 +393,7 @@ void shouldHandleFailureInKafkaBatchListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -451,7 +451,7 @@ private static void assertReceiveSpan(SpanDataAssert span) { .hasAttributesSatisfyingExactly( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "receive"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), satisfies( @@ -469,7 +469,7 @@ private static void assertProcessSpan( .hasAttributesSatisfyingExactly( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), satisfies( diff --git a/instrumentation/spring/spring-kafka-2.7/testing/src/main/java/io/opentelemetry/testing/AbstractSpringKafkaNoReceiveTelemetryTest.java b/instrumentation/spring/spring-kafka-2.7/testing/src/main/java/io/opentelemetry/testing/AbstractSpringKafkaNoReceiveTelemetryTest.java index 53535037d566..1fa2a4598190 100644 --- a/instrumentation/spring/spring-kafka-2.7/testing/src/main/java/io/opentelemetry/testing/AbstractSpringKafkaNoReceiveTelemetryTest.java +++ b/instrumentation/spring/spring-kafka-2.7/testing/src/main/java/io/opentelemetry/testing/AbstractSpringKafkaNoReceiveTelemetryTest.java @@ -56,7 +56,7 @@ void shouldCreateSpansForSingleRecordProcess() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -80,7 +80,7 @@ void shouldCreateSpansForSingleRecordProcess() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), @@ -120,7 +120,7 @@ void shouldHandleFailureInKafkaListener() { Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), @@ -152,7 +152,7 @@ void shouldHandleFailureInKafkaListener() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -216,7 +216,7 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -237,7 +237,7 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -270,7 +270,7 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), @@ -302,7 +302,7 @@ void shouldHandleFailureInKafkaBatchListener() { Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), satisfies( @@ -325,7 +325,7 @@ void shouldHandleFailureInKafkaBatchListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), diff --git a/instrumentation/spring/spring-rabbit-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/v1_0/SpringRabbitMqTest.java b/instrumentation/spring/spring-rabbit-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/v1_0/SpringRabbitMqTest.java index 950ee620dbae..141c7c7dc5f0 100644 --- a/instrumentation/spring/spring-rabbit-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/v1_0/SpringRabbitMqTest.java +++ b/instrumentation/spring/spring-rabbit-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/rabbit/v1_0/SpringRabbitMqTest.java @@ -110,7 +110,7 @@ private static List getAssertions( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative))); if (operation != null) { - assertions.add(equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, operation)); + assertions.add(equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, operation)); } if (peerAddress != null) { assertions.add(equalTo(NetworkAttributes.NETWORK_TYPE, "ipv4")); diff --git a/instrumentation/spymemcached-2.12/javaagent/src/test/groovy/SpymemcachedTest.groovy b/instrumentation/spymemcached-2.12/javaagent/src/test/groovy/SpymemcachedTest.groovy index fed320ec30b2..5b72b5653eca 100644 --- a/instrumentation/spymemcached-2.12/javaagent/src/test/groovy/SpymemcachedTest.groovy +++ b/instrumentation/spymemcached-2.12/javaagent/src/test/groovy/SpymemcachedTest.groovy @@ -623,7 +623,7 @@ class SpymemcachedTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "memcached" - "$DbIncubatingAttributes.DB_OPERATION" operation + "$DbIncubatingAttributes.DB_OPERATION_NAME" operation if (error == "canceled") { "spymemcached.command.cancelled" true diff --git a/instrumentation/vertx/vertx-kafka-client-3.6/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafka/v3_6/AbstractVertxKafkaTest.java b/instrumentation/vertx/vertx-kafka-client-3.6/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafka/v3_6/AbstractVertxKafkaTest.java index 2fdacdf5f531..a462e4369cb3 100644 --- a/instrumentation/vertx/vertx-kafka-client-3.6/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafka/v3_6/AbstractVertxKafkaTest.java +++ b/instrumentation/vertx/vertx-kafka-client-3.6/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafka/v3_6/AbstractVertxKafkaTest.java @@ -202,7 +202,7 @@ protected static List sendAttributes( Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, record.topic()), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -234,7 +234,7 @@ private static List batchConsumerAttributes(String topic, St Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, topic), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, operation), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, operation), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("consumer")), @@ -255,7 +255,7 @@ protected static List processAttributes( Arrays.asList( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "kafka"), equalTo(MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, record.topic()), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("consumer")), diff --git a/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientTest.java b/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientTest.java index 69add7333329..11795ec6e996 100644 --- a/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientTest.java +++ b/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientTest.java @@ -202,8 +202,8 @@ void commandWithNoArguments() throws Exception { private static AttributeAssertion[] redisSpanAttributes(String operation, String statement) { return new AttributeAssertion[] { equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), - equalTo(DbIncubatingAttributes.DB_STATEMENT, statement), - equalTo(DbIncubatingAttributes.DB_OPERATION, operation), + equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, statement), + equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, operation), equalTo(DbIncubatingAttributes.DB_REDIS_DATABASE_INDEX, 1), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), diff --git a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy index 7e776c9ab177..dc5916ef686e 100644 --- a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy +++ b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy @@ -99,12 +99,12 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { childOf span(2) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" "SELECT id, name, price, weight FROM products" - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "products" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT id, name, price, weight FROM products" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "products" } } } @@ -199,12 +199,12 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { childOf(span(3)) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" "SELECT id AS request$requestId, name, price, weight FROM products" - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "products" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT id AS request$requestId, name, price, weight FROM products" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "products" } } } diff --git a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy index 9490912c8f93..de19bf2dba89 100644 --- a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy +++ b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy @@ -99,12 +99,12 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { childOf span(2) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" "SELECT id, name, price, weight FROM products" - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "products" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT id, name, price, weight FROM products" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "products" } } } @@ -198,12 +198,12 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { childOf(span(3)) attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" - "$DbIncubatingAttributes.DB_NAME" "test" + "$DbIncubatingAttributes.DB_NAMESPACE" "test" "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" - "$DbIncubatingAttributes.DB_STATEMENT" "SELECT id AS request$requestId, name, price, weight FROM products" - "$DbIncubatingAttributes.DB_OPERATION" "SELECT" - "$DbIncubatingAttributes.DB_SQL_TABLE" "products" + "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT id AS request$requestId, name, price, weight FROM products" + "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" + "$DbIncubatingAttributes.DB_COLLECTION_NAME" "products" } } } diff --git a/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java b/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java index 17f318eb375f..80e74a136f18 100644 --- a/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java +++ b/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java @@ -12,10 +12,10 @@ import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SQL_TABLE; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_STATEMENT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import io.opentelemetry.api.trace.SpanKind; @@ -137,11 +137,11 @@ void testSimpleSelect() throws Exception { .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), - equalTo(DB_STATEMENT, "select * from test"), - equalTo(DB_OPERATION, "SELECT"), - equalTo(DB_SQL_TABLE, "test"), + equalTo(DB_QUERY_TEXT, "select * from test"), + equalTo(DB_OPERATION_NAME, "SELECT"), + equalTo(DB_COLLECTION_NAME, "test"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)), span -> @@ -193,9 +193,9 @@ void testInvalidQuery() throws Exception { EXCEPTION_STACKTRACE, val -> val.isInstanceOf(String.class)))) .hasAttributesSatisfyingExactly( - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), - equalTo(DB_STATEMENT, "invalid"), + equalTo(DB_QUERY_TEXT, "invalid"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)), span -> @@ -227,11 +227,11 @@ private static void assertPreparedSelect() { .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), - equalTo(DB_STATEMENT, "select * from test where id = $1"), - equalTo(DB_OPERATION, "SELECT"), - equalTo(DB_SQL_TABLE, "test"), + equalTo(DB_QUERY_TEXT, "select * from test where id = $1"), + equalTo(DB_OPERATION_NAME, "SELECT"), + equalTo(DB_COLLECTION_NAME, "test"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)))); } @@ -257,11 +257,11 @@ void testBatch() throws Exception { .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), - equalTo(DB_STATEMENT, "insert into test values ($1, $2) returning *"), - equalTo(DB_OPERATION, "INSERT"), - equalTo(DB_SQL_TABLE, "test"), + equalTo(DB_QUERY_TEXT, "insert into test values ($1, $2) returning *"), + equalTo(DB_OPERATION_NAME, "INSERT"), + equalTo(DB_COLLECTION_NAME, "test"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)))); } @@ -343,11 +343,11 @@ void testManyQueries() throws Exception { .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), - equalTo(DB_STATEMENT, "select * from test"), - equalTo(DB_OPERATION, "SELECT"), - equalTo(DB_SQL_TABLE, "test"), + equalTo(DB_QUERY_TEXT, "select * from test"), + equalTo(DB_OPERATION_NAME, "SELECT"), + equalTo(DB_COLLECTION_NAME, "test"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)), span -> @@ -408,11 +408,11 @@ void testConcurrency() throws Exception { .hasKind(SpanKind.CLIENT) .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( - equalTo(DB_NAME, DB), + equalTo(DB_NAMESPACE, DB), equalTo(DB_USER, USER_DB), - equalTo(DB_STATEMENT, "select * from test where id = $1"), - equalTo(DB_OPERATION, "SELECT"), - equalTo(DB_SQL_TABLE, "test"), + equalTo(DB_QUERY_TEXT, "select * from test where id = $1"), + equalTo(DB_OPERATION_NAME, "SELECT"), + equalTo(DB_COLLECTION_NAME, "test"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)), span -> diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractKafkaSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractKafkaSpringStarterSmokeTest.java index 28a4d8980d9a..eea0519f9e28 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractKafkaSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractKafkaSpringStarterSmokeTest.java @@ -60,7 +60,7 @@ void shouldInstrumentProducerAndConsumer() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -81,7 +81,7 @@ void shouldInstrumentProducerAndConsumer() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION, "process"), + equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java index ec9af70ca329..c7ccca9c14d0 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java @@ -139,7 +139,7 @@ void shouldSendTelemetry() { spanDataAssert .hasKind(SpanKind.CLIENT) .hasAttribute( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "create table customer (id bigint not null, name varchar not null, primary key (id))")), traceAssert -> traceAssert.hasSpansSatisfyingExactly( @@ -221,7 +221,7 @@ void databaseQuery() { span -> span.hasKind(SpanKind.CLIENT) .hasAttribute( - DbIncubatingAttributes.DB_STATEMENT, + DbIncubatingAttributes.DB_QUERY_TEXT, "select name from customer where id = 1"))); } diff --git a/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelReactiveSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelReactiveSpringStarterSmokeTest.java index 7bc32e819fcc..1895789110dd 100644 --- a/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelReactiveSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelReactiveSpringStarterSmokeTest.java @@ -69,12 +69,12 @@ void webClientAndWebFluxAndR2dbc() { s -> assertThat(s.getName()) .isEqualToIgnoringCase("SELECT testdb.PLAYER")) - .hasAttribute(DbIncubatingAttributes.DB_NAME, "testdb") + .hasAttribute(DbIncubatingAttributes.DB_NAMESPACE, "testdb") // 2 is not replaced by ?, // otel.instrumentation.common.db-statement-sanitizer.enabled=false .hasAttributesSatisfying( a -> - assertThat(a.get(DbIncubatingAttributes.DB_STATEMENT)) + assertThat(a.get(DbIncubatingAttributes.DB_QUERY_TEXT)) .isEqualToIgnoringCase( "SELECT PLAYER.* FROM PLAYER WHERE PLAYER.ID = $1 LIMIT 2")) .hasAttribute(DbIncubatingAttributes.DB_SYSTEM, "h2"))); From 75a54b9798eaeedf9d2a72b44a40c1bd29811d7b Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 10:40:32 +0800 Subject: [PATCH 09/43] fix ci --- .../api/incubator/semconv/db/DbClientAttributesExtractor.java | 3 ++- .../api/incubator/semconv/db/SqlClientAttributesExtractor.java | 3 ++- .../semconv/db/SqlClientAttributesExtractorBuilder.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java index 41f13ac95e32..6ed81b24af11 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java @@ -26,7 +26,8 @@ public final class DbClientAttributesExtractor // copied from DbIncubatingAttributes private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); - private static final AttributeKey DB_OPERATION_NAME_NAME = AttributeKey.stringKey("db.operation.name"); + private static final AttributeKey DB_OPERATION_NAME_NAME = + AttributeKey.stringKey("db.operation.name"); /** Creates the database client attributes extractor with default configuration. */ public static AttributesExtractor create( diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java index 05772f5d2909..5f1d764eee85 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java @@ -28,7 +28,8 @@ public final class SqlClientAttributesExtractor // copied from DbIncubatingAttributes private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); - private static final AttributeKey DB_OPERATION_NAME_NAME = AttributeKey.stringKey("db.operation.name"); + private static final AttributeKey DB_OPERATION_NAME_NAME = + AttributeKey.stringKey("db.operation.name"); /** Creates the SQL client attributes extractor with default configuration. */ public static AttributesExtractor create( diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java index 8cd8783bd0f7..8c386498fd0c 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java @@ -15,7 +15,8 @@ public final class SqlClientAttributesExtractorBuilder { // copied from DbIncubatingAttributes - private static final AttributeKey DB_COLLECTION_NAME = AttributeKey.stringKey("db.sql.table"); + private static final AttributeKey DB_COLLECTION_NAME = + AttributeKey.stringKey("db.sql.table"); final SqlClientAttributesGetter getter; AttributeKey dbTableAttribute = DB_COLLECTION_NAME; From 6158610c6461bcc2dab3d617b3a1b08e7cb7453f Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 11:00:41 +0800 Subject: [PATCH 10/43] fix ci --- .../smoketest/AbstractKafkaSpringStarterSmokeTest.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractKafkaSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractKafkaSpringStarterSmokeTest.java index eea0519f9e28..741f5cecc773 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractKafkaSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractKafkaSpringStarterSmokeTest.java @@ -60,7 +60,8 @@ void shouldInstrumentProducerAndConsumer() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -81,7 +82,8 @@ void shouldInstrumentProducerAndConsumer() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), From d7cdfcc7731bb6c4a2c0377c6ccbe1f684510dfc Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 11:12:40 +0800 Subject: [PATCH 11/43] fix ci --- .../v2_2/AwsLambdaSqsEventWrapperTest.java | 3 +- .../v2_2/AwsLambdaSqsMessageHandlerTest.java | 9 ++++-- .../AbstractAwsLambdaSqsEventHandlerTest.java | 6 ++-- .../AbstractSqsSuppressReceiveSpansTest.java | 12 ++++--- .../awssdk/v1_11/AbstractSqsTracingTest.java | 12 ++++--- .../v2_2/TracingExecutionInterceptor.java | 3 +- .../v2_2/AbstractAws2SqsTracingTest.java | 10 ++++-- .../src/test/java/CassandraClientTest.java | 24 +++++++++----- .../hibernate/v3_3/AbstractHibernateTest.java | 3 +- .../hibernate/v6_0/EntityManagerTest.java | 6 ++-- .../hibernate/v6_0/SessionTest.java | 3 +- .../reactive/v1_0/HibernateReactiveTest.java | 2 +- .../reactive/v2_0/HibernateReactiveTest.java | 2 +- .../jms/v1_1/Jms2InstrumentationTest.java | 12 ++++--- .../jms/v1_1/AbstractJms1Test.java | 18 +++++++---- .../jms/v1_1/Jms1InstrumentationTest.java | 6 ++-- .../v1_1/Jms1SuppressReceiveSpansTest.java | 6 ++-- .../jms/v3_0/AbstractJms3Test.java | 12 ++++--- .../jms/v3_0/Jms3InstrumentationTest.java | 6 ++-- .../v3_0/Jms3SuppressReceiveSpansTest.java | 6 ++-- .../InterceptorsSuppressReceiveSpansTest.java | 6 ++-- .../kafkaclients/v2_6/InterceptorsTest.java | 9 ++++-- .../pulsar/v2_8/AbstractPulsarClientTest.java | 2 +- .../v1_0/AbstractR2dbcStatementTest.java | 2 +- .../v4_8/AbstractRocketMqClientTest.java | 31 +++++++++++++------ ...RocketMqClientSuppressReceiveSpanTest.java | 1 - .../v5_0/AbstractRocketMqClientTest.java | 1 - .../data/v3_0/ReactiveSpringDataTest.java | 2 +- .../jms/v6_0/SpringJmsListenerTest.java | 18 +++++++---- ...pringListenerSuppressReceiveSpansTest.java | 6 ++-- .../spring/kafka/v2_7/SpringKafkaTest.java | 27 ++++++++++------ ...ractSpringKafkaNoReceiveTelemetryTest.java | 24 +++++++++----- .../vertx/v4_0/sql/VertxSqlClientTest.java | 2 +- 33 files changed, 193 insertions(+), 99 deletions(-) diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsEventWrapperTest.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsEventWrapperTest.java index ea5cbcf0e084..ad3ea82679f1 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsEventWrapperTest.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsEventWrapperTest.java @@ -88,7 +88,8 @@ void eventTraced() { MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")))); + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process")))); } public static final class TestRequestHandler implements RequestHandler { diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsMessageHandlerTest.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsMessageHandlerTest.java index ce4c54006be8..8bf7031a8ec8 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsMessageHandlerTest.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/test/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AwsLambdaSqsMessageHandlerTest.java @@ -89,7 +89,8 @@ void processSpans() { equalTo( MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")) + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")) .hasLinks( LinkData.create( SpanContext.createFromRemoteParent( @@ -111,7 +112,8 @@ void processSpans() { equalTo( MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, "message1"), equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "queue1")) @@ -130,7 +132,8 @@ void processSpans() { equalTo( MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, "message2"), equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "queue1")) diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AbstractAwsLambdaSqsEventHandlerTest.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AbstractAwsLambdaSqsEventHandlerTest.java index fee367c3e03f..172cc11448d8 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AbstractAwsLambdaSqsEventHandlerTest.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/AbstractAwsLambdaSqsEventHandlerTest.java @@ -84,7 +84,8 @@ void sameSource() { MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")) + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process")) .hasLinksSatisfying( links -> assertThat(links) @@ -133,7 +134,8 @@ void differentSource() { MessagingIncubatingAttributes.MESSAGING_SYSTEM, MessagingIncubatingAttributes.MessagingSystemValues.AWS_SQS), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process")) + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process")) .hasLinksSatisfying( links -> assertThat(links) diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java index d13b7b8d99fb..b7f47ddc1316 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsSuppressReceiveSpansTest.java @@ -133,7 +133,8 @@ void testSimpleSqsProducerConsumerServices() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -163,7 +164,8 @@ void testSimpleSqsProducerConsumerServices() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -242,7 +244,8 @@ void testSimpleSqsProducerConsumerServicesWithParentSpan() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -272,7 +275,8 @@ void testSimpleSqsProducerConsumerServicesWithParentSpan() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), diff --git a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java index cf9936da3082..212958260a9c 100644 --- a/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java +++ b/instrumentation/aws-sdk/aws-sdk-1.11/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AbstractSqsTracingTest.java @@ -165,7 +165,8 @@ void testSimpleSqsProducerConsumerServicesCaptureHeaders(boolean testCaptureHead MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -209,7 +210,8 @@ void testSimpleSqsProducerConsumerServicesCaptureHeaders(boolean testCaptureHead MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT, 1), @@ -251,7 +253,8 @@ void testSimpleSqsProducerConsumerServicesCaptureHeaders(boolean testCaptureHead MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -342,7 +345,8 @@ void testSimpleSqsProducerConsumerServicesWithParentSpan() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java index cedaea3d042f..530b62e43bd9 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java @@ -44,7 +44,8 @@ final class TracingExecutionInterceptor implements ExecutionInterceptor { // copied from DbIncubatingAttributes - private static final AttributeKey DB_OPERATION_NAME = AttributeKey.stringKey("db.operation"); + private static final AttributeKey DB_OPERATION_NAME = + AttributeKey.stringKey("db.operation"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); // copied from DbIncubatingAttributes.DbSystemValues private static final String DB_SYSTEM_DYNAMODB = "dynamodb"; diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsTracingTest.java b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsTracingTest.java index c66f10e868e3..5f312559f2d8 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsTracingTest.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2SqsTracingTest.java @@ -221,7 +221,8 @@ void assertSqsTraces(Boolean withParent, Boolean captureHeaders) { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, v -> v.isInstanceOf(String.class)))); @@ -532,7 +533,8 @@ void testBatchSqsProducerConsumerServicesSync() throws URISyntaxException { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"))); + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"))); }, trace -> { List> spanAsserts = new ArrayList<>(); @@ -560,7 +562,9 @@ void testBatchSqsProducerConsumerServicesSync() throws URISyntaxException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSdkSqs"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT, 3))); diff --git a/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java b/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java index d2f594d57999..0cdcd25dddc3 100644 --- a/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java +++ b/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java @@ -117,8 +117,10 @@ void syncTest(Parameter parameter) { equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, parameter.keyspace), equalTo( - DbIncubatingAttributes.DB_QUERY_TEXT, parameter.expectedStatement), - equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), + DbIncubatingAttributes.DB_QUERY_TEXT, + parameter.expectedStatement), + equalTo( + DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo( DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)))); } else { @@ -137,8 +139,10 @@ void syncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), equalTo( - DbIncubatingAttributes.DB_QUERY_TEXT, parameter.expectedStatement), - equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), + DbIncubatingAttributes.DB_QUERY_TEXT, + parameter.expectedStatement), + equalTo( + DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo( DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)))); } @@ -196,8 +200,10 @@ void asyncTest(Parameter parameter) { equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, parameter.keyspace), equalTo( - DbIncubatingAttributes.DB_QUERY_TEXT, parameter.expectedStatement), - equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), + DbIncubatingAttributes.DB_QUERY_TEXT, + parameter.expectedStatement), + equalTo( + DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo(DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)), span -> span.hasName("callbackListener") @@ -220,8 +226,10 @@ void asyncTest(Parameter parameter) { equalTo(NetworkAttributes.NETWORK_PEER_PORT, cassandraPort), equalTo(DbIncubatingAttributes.DB_SYSTEM, "cassandra"), equalTo( - DbIncubatingAttributes.DB_QUERY_TEXT, parameter.expectedStatement), - equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), + DbIncubatingAttributes.DB_QUERY_TEXT, + parameter.expectedStatement), + equalTo( + DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo(DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)), span -> span.hasName("callbackListener") diff --git a/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java b/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java index 53114a7be614..ba797e26ecc2 100644 --- a/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java +++ b/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java @@ -67,7 +67,8 @@ static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData parent) { equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), - satisfies(DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), + satisfies( + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java index 5f13cd529175..e03714749120 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java @@ -298,7 +298,8 @@ private static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData par equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), - satisfies(DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), + satisfies( + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } @@ -314,7 +315,8 @@ private static SpanDataAssert assertClientSpan( equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), - satisfies(DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), + satisfies( + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java index 7c95b23cf468..22185d4c4996 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java @@ -813,7 +813,8 @@ private static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData par equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), - satisfies(DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), + satisfies( + DbIncubatingAttributes.DB_OPERATION_NAME, val -> val.isInstanceOf(String.class)), equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, "Value")); } diff --git a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java index a6adb4f2c59e..409c9c32d9ab 100644 --- a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java +++ b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java @@ -8,9 +8,9 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; diff --git a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java index eca7fc3eb4a2..e007f9c6f0d9 100644 --- a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java +++ b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java @@ -8,9 +8,9 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; diff --git a/instrumentation/jms/jms-1.1/javaagent/src/jms2Test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms2InstrumentationTest.java b/instrumentation/jms/jms-1.1/javaagent/src/jms2Test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms2InstrumentationTest.java index 80dab9eb04b2..166fcb8b9eab 100644 --- a/instrumentation/jms/jms-1.1/javaagent/src/jms2Test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms2InstrumentationTest.java +++ b/instrumentation/jms/jms-1.1/javaagent/src/jms2Test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms2InstrumentationTest.java @@ -171,7 +171,8 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))); @@ -190,7 +191,8 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)))); } @@ -238,7 +240,8 @@ void testMessageListener( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -250,7 +253,8 @@ void testMessageListener( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> span.hasName("consumer").hasParent(trace.getSpan(2)))); diff --git a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/AbstractJms1Test.java b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/AbstractJms1Test.java index da02bbbd978e..fcd6d7ee508d 100644 --- a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/AbstractJms1Test.java +++ b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/AbstractJms1Test.java @@ -131,7 +131,8 @@ void testMessageListener( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -143,7 +144,8 @@ void testMessageListener( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> span.hasName("consumer").hasParent(trace.getSpan(2)))); @@ -214,7 +216,8 @@ void shouldCaptureMessageHeaders( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary), equalTo( @@ -232,7 +235,8 @@ void shouldCaptureMessageHeaders( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary), equalTo( @@ -288,7 +292,8 @@ void shouldFailWhenSendingReadOnlyMessage( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))), trace -> @@ -303,7 +308,8 @@ void shouldFailWhenSendingReadOnlyMessage( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)))); } diff --git a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1InstrumentationTest.java b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1InstrumentationTest.java index 147261ab7f1f..4b1ee2554b79 100644 --- a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1InstrumentationTest.java +++ b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1InstrumentationTest.java @@ -64,7 +64,8 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))); @@ -83,7 +84,8 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)))); } diff --git a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1SuppressReceiveSpansTest.java b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1SuppressReceiveSpansTest.java index 1d292331970c..baf10f07f391 100644 --- a/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1SuppressReceiveSpansTest.java +++ b/instrumentation/jms/jms-1.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v1_1/Jms1SuppressReceiveSpansTest.java @@ -60,7 +60,8 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -73,7 +74,8 @@ void testMessageConsumer( equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, destinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))), trace -> diff --git a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/AbstractJms3Test.java b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/AbstractJms3Test.java index 16a9a2762eda..5e9014ffd038 100644 --- a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/AbstractJms3Test.java +++ b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/AbstractJms3Test.java @@ -147,7 +147,8 @@ void testMessageListener(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, producerDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -159,7 +160,8 @@ void testMessageListener(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, actualDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId)), span -> span.hasName("consumer").hasParent(trace.getSpan(2)))); } @@ -231,7 +233,8 @@ void shouldCaptureMessageHeaders(DestinationFactory destinationFactory, boolean equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, producerDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary), equalTo( @@ -249,7 +252,8 @@ void shouldCaptureMessageHeaders(DestinationFactory destinationFactory, boolean equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, actualDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), equalTo( stringArrayKey("messaging.header.test_message_header"), diff --git a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3InstrumentationTest.java b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3InstrumentationTest.java index 6fd620560fbd..f88c28e97c3f 100644 --- a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3InstrumentationTest.java +++ b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3InstrumentationTest.java @@ -67,7 +67,8 @@ void testMessageConsumer(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, producerDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary))); @@ -86,7 +87,8 @@ void testMessageConsumer(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, actualDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId)))); } diff --git a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3SuppressReceiveSpansTest.java b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3SuppressReceiveSpansTest.java index 1fdb40ec423a..3e47d2df00e1 100644 --- a/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3SuppressReceiveSpansTest.java +++ b/instrumentation/jms/jms-3.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jms/v3_0/Jms3SuppressReceiveSpansTest.java @@ -63,7 +63,8 @@ void testMessageConsumer(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, producerDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), equalTo(MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId), messagingTempDestination(isTemporary)), span -> @@ -76,7 +77,8 @@ void testMessageConsumer(DestinationFactory destinationFactory, boolean isTempor equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, actualDestinationName), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, messageId))), trace -> diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsSuppressReceiveSpansTest.java b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsSuppressReceiveSpansTest.java index aa5283a4199a..37248598a51e 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsSuppressReceiveSpansTest.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsSuppressReceiveSpansTest.java @@ -31,7 +31,8 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer"))), @@ -44,7 +45,8 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, greeting.getBytes(StandardCharsets.UTF_8).length), diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java index ef19371391ee..47e95bca624f 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/src/test/java/io/opentelemetry/instrumentation/kafkaclients/v2_6/InterceptorsTest.java @@ -38,7 +38,8 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")))); @@ -62,7 +63,8 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "test"), @@ -81,7 +83,8 @@ void assertTraces() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, SHARED_TOPIC), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, greeting.getBytes(StandardCharsets.UTF_8).length), diff --git a/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java b/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java index fc87720a376c..582f2e55acfa 100644 --- a/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java +++ b/instrumentation/pulsar/pulsar-2.8/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/pulsar/v2_8/AbstractPulsarClientTest.java @@ -292,7 +292,7 @@ static List processAttributes( Arrays.asList( equalTo(MESSAGING_SYSTEM, "pulsar"), equalTo(MESSAGING_DESTINATION_NAME, destination), - equalTo(MESSAGING_OPERATION, "process"), + equalTo(MESSAGING_OPERATION_TYPE, "process"), equalTo(MESSAGING_MESSAGE_ID, messageId), satisfies(MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative))); if (testHeaders) { diff --git a/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java b/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java index a8dca20ea9a4..885b23580555 100644 --- a/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java +++ b/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java @@ -8,10 +8,10 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CONNECTION_STRING; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/AbstractRocketMqClientTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/AbstractRocketMqClientTest.java index 433a0f8cb600..54ec0e7b8048 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/AbstractRocketMqClientTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/AbstractRocketMqClientTest.java @@ -143,7 +143,8 @@ public void onException(Throwable throwable) { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -166,7 +167,8 @@ public void onException(Throwable throwable) { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), @@ -219,7 +221,8 @@ void testRocketmqProduceAndConsume() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -242,7 +245,8 @@ void testRocketmqProduceAndConsume() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), @@ -307,7 +311,9 @@ void testRocketmqProduceAndBatchConsume() throws Exception { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -334,7 +340,8 @@ void testRocketmqProduceAndBatchConsume() throws Exception { .hasAttributesSatisfyingExactly( equalTo(MessagingIncubatingAttributes.MESSAGING_SYSTEM, "rocketmq"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive")), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "receive")), span -> span.hasName(sharedTopic + " process") .hasKind(SpanKind.CONSUMER) @@ -346,7 +353,8 @@ void testRocketmqProduceAndBatchConsume() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), @@ -376,7 +384,8 @@ void testRocketmqProduceAndBatchConsume() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), @@ -434,7 +443,8 @@ void captureMessageHeaderAsSpanAttributes() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, val -> val.isInstanceOf(String.class)), @@ -461,7 +471,8 @@ void captureMessageHeaderAsSpanAttributes() throws Exception { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, sharedTopic), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, val -> val.isInstanceOf(Long.class)), diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java index b9b4d577b8e0..c922382b4c00 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java @@ -9,7 +9,6 @@ import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID; -import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_CLIENT_GROUP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_KEYS; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_TAG; diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java index 3981a1d2bad8..544c74678948 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java @@ -11,7 +11,6 @@ import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID; -import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_CLIENT_GROUP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_DELIVERY_TIMESTAMP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_GROUP; diff --git a/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java b/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java index 11a2e11617a1..ca841c47788f 100644 --- a/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java +++ b/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java @@ -7,10 +7,10 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CONNECTION_STRING; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; diff --git a/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringJmsListenerTest.java b/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringJmsListenerTest.java index efcad675d849..543a27c70d3d 100644 --- a/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringJmsListenerTest.java +++ b/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringJmsListenerTest.java @@ -50,7 +50,8 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank))); @@ -69,7 +70,8 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank)), @@ -83,7 +85,8 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank)), @@ -136,7 +139,8 @@ void shouldCaptureHeaders(Class configClass) equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank), @@ -157,7 +161,8 @@ void shouldCaptureHeaders(Class configClass) equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank), @@ -176,7 +181,8 @@ void shouldCaptureHeaders(Class configClass) equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank), diff --git a/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringListenerSuppressReceiveSpansTest.java b/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringListenerSuppressReceiveSpansTest.java index 727273bc9200..44c80d9ce19d 100644 --- a/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringListenerSuppressReceiveSpansTest.java +++ b/instrumentation/spring/spring-jms/spring-jms-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/jms/v6_0/SpringListenerSuppressReceiveSpansTest.java @@ -30,7 +30,8 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank)), @@ -44,7 +45,8 @@ void assertSpringJmsListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "spring-jms-listener"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID, AbstractStringAssert::isNotBlank)), diff --git a/instrumentation/spring/spring-kafka-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/SpringKafkaTest.java b/instrumentation/spring/spring-kafka-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/SpringKafkaTest.java index b548767d575d..8a95bb35efda 100644 --- a/instrumentation/spring/spring-kafka-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/SpringKafkaTest.java +++ b/instrumentation/spring/spring-kafka-2.7/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/SpringKafkaTest.java @@ -77,7 +77,8 @@ void shouldCreateSpansForSingleRecordProcess() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -102,7 +103,8 @@ void shouldCreateSpansForSingleRecordProcess() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testSingleListener"), @@ -121,7 +123,8 @@ void shouldCreateSpansForSingleRecordProcess() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), @@ -212,7 +215,8 @@ void shouldHandleFailureInKafkaListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -286,7 +290,8 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -306,7 +311,8 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), @@ -332,7 +338,8 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "receive"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), @@ -353,7 +360,8 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), @@ -393,7 +401,8 @@ void shouldHandleFailureInKafkaBatchListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_DESTINATION_PARTITION_ID, AbstractStringAssert::isNotEmpty), diff --git a/instrumentation/spring/spring-kafka-2.7/testing/src/main/java/io/opentelemetry/testing/AbstractSpringKafkaNoReceiveTelemetryTest.java b/instrumentation/spring/spring-kafka-2.7/testing/src/main/java/io/opentelemetry/testing/AbstractSpringKafkaNoReceiveTelemetryTest.java index 1fa2a4598190..ecc416cbdbb2 100644 --- a/instrumentation/spring/spring-kafka-2.7/testing/src/main/java/io/opentelemetry/testing/AbstractSpringKafkaNoReceiveTelemetryTest.java +++ b/instrumentation/spring/spring-kafka-2.7/testing/src/main/java/io/opentelemetry/testing/AbstractSpringKafkaNoReceiveTelemetryTest.java @@ -56,7 +56,8 @@ void shouldCreateSpansForSingleRecordProcess() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -80,7 +81,8 @@ void shouldCreateSpansForSingleRecordProcess() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), satisfies( MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), @@ -152,7 +154,8 @@ void shouldHandleFailureInKafkaListener() { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testSingleTopic"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -216,7 +219,9 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -237,7 +242,9 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), @@ -270,7 +277,8 @@ void shouldCreateSpansForBatchReceiveAndProcess() throws InterruptedException { MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), equalTo( - MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "process"), + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "process"), equalTo( MessagingIncubatingAttributes.MESSAGING_KAFKA_CONSUMER_GROUP, "testBatchListener"), @@ -325,7 +333,9 @@ void shouldHandleFailureInKafkaBatchListener() { equalTo( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "testBatchTopic"), - equalTo(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish"), + equalTo( + MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, + "publish"), satisfies( MessagingIncubatingAttributes.MESSAGING_CLIENT_ID, stringAssert -> stringAssert.startsWith("producer")), diff --git a/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java b/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java index 80e74a136f18..3477283380c1 100644 --- a/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java +++ b/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java @@ -12,9 +12,9 @@ import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE; import static io.opentelemetry.semconv.ServerAttributes.SERVER_ADDRESS; import static io.opentelemetry.semconv.ServerAttributes.SERVER_PORT; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; From e324c319ed324e3be66ffa7d0addf3b7752501de Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 11:19:56 +0800 Subject: [PATCH 12/43] fix ci --- .../messaging/MessagingAttributesExtractor.java | 7 ++++--- .../internal/SqsEventAttributesExtractor.java | 8 +++++--- .../internal/SqsMessageAttributesExtractor.java | 8 +++++--- .../pulsar/v2_8/AbstractPulsarClientTest.java | 4 ++-- .../v4_8/RocketMqInstrumenterFactory.java | 7 ++++--- ...ractRocketMqClientSuppressReceiveSpanTest.java | 5 +++-- .../v5_0/AbstractRocketMqClientTest.java | 15 ++++++++------- 7 files changed, 31 insertions(+), 23 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java index f49d267f7989..e8f022aacad1 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java @@ -5,6 +5,7 @@ package io.opentelemetry.instrumentation.api.incubator.semconv.messaging; +import static io.opentelemetry.api.common.AttributeKey.stringKey; import static io.opentelemetry.instrumentation.api.internal.AttributesExtractorUtil.internalSet; import io.opentelemetry.api.common.AttributeKey; @@ -48,8 +49,8 @@ public final class MessagingAttributesExtractor AttributeKey.longKey("messaging.message.envelope.size"); private static final AttributeKey MESSAGING_MESSAGE_ID = AttributeKey.stringKey("messaging.message.id"); - private static final AttributeKey MESSAGING_OPERATION = - AttributeKey.stringKey("messaging.operation"); + private static final AttributeKey MESSAGING_OPERATION_TYPE = + stringKey("messaging.operation.type"); private static final AttributeKey MESSAGING_SYSTEM = AttributeKey.stringKey("messaging.system"); @@ -108,7 +109,7 @@ public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST attributes, MESSAGING_MESSAGE_ENVELOPE_SIZE, getter.getMessageEnvelopeSize(request)); internalSet(attributes, MESSAGING_CLIENT_ID, getter.getClientId(request)); if (operation != null) { - internalSet(attributes, MESSAGING_OPERATION, operation.operationName()); + internalSet(attributes, MESSAGING_OPERATION_TYPE, operation.operationName()); } } diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/SqsEventAttributesExtractor.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/SqsEventAttributesExtractor.java index f8aa3c80e137..75138f1d00a9 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/SqsEventAttributesExtractor.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/SqsEventAttributesExtractor.java @@ -5,6 +5,8 @@ package io.opentelemetry.instrumentation.awslambdaevents.v2_2.internal; +import static io.opentelemetry.api.common.AttributeKey.stringKey; + import com.amazonaws.services.lambda.runtime.events.SQSEvent; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; @@ -15,8 +17,8 @@ class SqsEventAttributesExtractor implements AttributesExtractor { // copied from MessagingIncubatingAttributes - private static final AttributeKey MESSAGING_OPERATION = - AttributeKey.stringKey("messaging.operation"); + private static final AttributeKey MESSAGING_OPERATION_TYPE = + stringKey("messaging.operation.type"); private static final AttributeKey MESSAGING_SYSTEM = AttributeKey.stringKey("messaging.system"); // copied from MessagingIncubatingAttributes.MessagingSystemValues @@ -25,7 +27,7 @@ class SqsEventAttributesExtractor implements AttributesExtractor @Override public void onStart(AttributesBuilder attributes, Context parentContext, SQSEvent event) { attributes.put(MESSAGING_SYSTEM, AWS_SQS); - attributes.put(MESSAGING_OPERATION, "process"); + attributes.put(MESSAGING_OPERATION_TYPE, "process"); } @Override diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/SqsMessageAttributesExtractor.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/SqsMessageAttributesExtractor.java index ad6358c34f50..0e9dfee389e5 100644 --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/SqsMessageAttributesExtractor.java +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/SqsMessageAttributesExtractor.java @@ -5,6 +5,8 @@ package io.opentelemetry.instrumentation.awslambdaevents.v2_2.internal; +import static io.opentelemetry.api.common.AttributeKey.stringKey; + import com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributesBuilder; @@ -19,8 +21,8 @@ class SqsMessageAttributesExtractor implements AttributesExtractor MESSAGING_MESSAGE_ID = AttributeKey.stringKey("messaging.message.id"); - private static final AttributeKey MESSAGING_OPERATION = - AttributeKey.stringKey("messaging.operation"); + private static final AttributeKey MESSAGING_OPERATION_TYPE = + stringKey("messaging.operation.type"); private static final AttributeKey MESSAGING_SYSTEM = AttributeKey.stringKey("messaging.system"); // copied from MessagingIncubatingAttributes.MessagingSystemValues @@ -29,7 +31,7 @@ class SqsMessageAttributesExtractor implements AttributesExtractor sendAttributes( equalTo(SERVER_ADDRESS, brokerHost), equalTo(SERVER_PORT, brokerPort), equalTo(MESSAGING_DESTINATION_NAME, destination), - equalTo(MESSAGING_OPERATION, "publish"), + equalTo(MESSAGING_OPERATION_TYPE, "publish"), equalTo(MESSAGING_MESSAGE_ID, messageId), satisfies(MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative), equalTo(MESSAGE_TYPE, "normal"))); @@ -270,7 +270,7 @@ static List receiveAttributes( equalTo(SERVER_ADDRESS, brokerHost), equalTo(SERVER_PORT, brokerPort), equalTo(MESSAGING_DESTINATION_NAME, destination), - equalTo(MESSAGING_OPERATION, "receive"), + equalTo(MESSAGING_OPERATION_TYPE, "receive"), equalTo(MESSAGING_MESSAGE_ID, messageId), satisfies(MESSAGING_MESSAGE_BODY_SIZE, AbstractLongAssert::isNotNegative))); if (testHeaders) { diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/RocketMqInstrumenterFactory.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/RocketMqInstrumenterFactory.java index f01f9b3ead35..a7b9007a7c4a 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/RocketMqInstrumenterFactory.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-4.8/library/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v4_8/RocketMqInstrumenterFactory.java @@ -5,6 +5,7 @@ package io.opentelemetry.instrumentation.rocketmqclient.v4_8; +import static io.opentelemetry.api.common.AttributeKey.stringKey; import static io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor.constant; import io.opentelemetry.api.OpenTelemetry; @@ -28,8 +29,8 @@ class RocketMqInstrumenterFactory { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.rocketmq-client-4.8"; // copied from MessagingIncubatingAttributes - private static final AttributeKey MESSAGING_OPERATION = - AttributeKey.stringKey("messaging.operation"); + private static final AttributeKey MESSAGING_OPERATION_TYPE = + stringKey("messaging.operation.type"); private static final AttributeKey MESSAGING_SYSTEM = AttributeKey.stringKey("messaging.system"); @@ -65,7 +66,7 @@ static RocketMqConsumerInstrumenter createConsumerInstrumenter( Instrumenter.builder( openTelemetry, INSTRUMENTATION_NAME, RocketMqInstrumenterFactory::spanNameOnReceive) .addAttributesExtractor(constant(MESSAGING_SYSTEM, "rocketmq")) - .addAttributesExtractor(constant(MESSAGING_OPERATION, "receive")); + .addAttributesExtractor(constant(MESSAGING_OPERATION_TYPE, "receive")); return new RocketMqConsumerInstrumenter( createProcessInstrumenter( diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java index c922382b4c00..bedd6c0c5bef 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientSuppressReceiveSpanTest.java @@ -9,6 +9,7 @@ import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID; +import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_CLIENT_GROUP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_KEYS; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_TAG; @@ -123,7 +124,7 @@ void testSendAndConsumeMessage() throws Throwable { MESSAGING_MESSAGE_ID, sendReceipt.getMessageId().toString()), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "publish")), + equalTo(MESSAGING_OPERATION_TYPE, "publish")), span -> span.hasKind(SpanKind.CONSUMER) .hasName(topic + " process") @@ -140,7 +141,7 @@ void testSendAndConsumeMessage() throws Throwable { MESSAGING_MESSAGE_ID, sendReceipt.getMessageId().toString()), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "process")), + equalTo(MESSAGING_OPERATION_TYPE, "process")), span -> span.hasName("child") .hasKind(SpanKind.INTERNAL) diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java index 544c74678948..c959f173a65c 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java @@ -9,6 +9,7 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME; +import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_CLIENT_GROUP; @@ -420,7 +421,7 @@ private static SpanDataAssert assertProducerSpan( equalTo(MESSAGING_SYSTEM, "rocketmq"), equalTo(MESSAGING_MESSAGE_ID, sendReceipt.getMessageId().toString()), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "publish"))); + equalTo(MESSAGING_OPERATION_TYPE, "publish"))); attributeAssertions.addAll(Arrays.asList(extraAttributes)); return span.hasKind(SpanKind.PRODUCER) @@ -451,7 +452,7 @@ private static SpanDataAssert assertProducerSpanWithFifoMessage( equalTo(MESSAGING_SYSTEM, "rocketmq"), equalTo(MESSAGING_MESSAGE_ID, sendReceipt.getMessageId().toString()), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "publish"))); + equalTo(MESSAGING_OPERATION_TYPE, "publish"))); attributeAssertions.addAll(Arrays.asList(extraAttributes)); return span.hasKind(SpanKind.PRODUCER) @@ -482,7 +483,7 @@ private static SpanDataAssert assertProducerSpanWithDelayMessage( equalTo(MESSAGING_SYSTEM, "rocketmq"), equalTo(MESSAGING_MESSAGE_ID, sendReceipt.getMessageId().toString()), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "publish"))); + equalTo(MESSAGING_OPERATION_TYPE, "publish"))); attributeAssertions.addAll(Arrays.asList(extraAttributes)); return span.hasKind(SpanKind.PRODUCER) @@ -500,7 +501,7 @@ private static SpanDataAssert assertReceiveSpan( equalTo(MESSAGING_ROCKETMQ_CLIENT_GROUP, consumerGroup), equalTo(MESSAGING_SYSTEM, "rocketmq"), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "receive"), + equalTo(MESSAGING_OPERATION_TYPE, "receive"), equalTo(MESSAGING_BATCH_MESSAGE_COUNT, 1)); } @@ -524,7 +525,7 @@ private static SpanDataAssert assertProcessSpan( equalTo(MESSAGING_SYSTEM, "rocketmq"), equalTo(MESSAGING_MESSAGE_ID, sendReceipt.getMessageId().toString()), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "process"))); + equalTo(MESSAGING_OPERATION_TYPE, "process"))); attributeAssertions.addAll(Arrays.asList(extraAttributes)); return span.hasKind(SpanKind.CONSUMER) @@ -557,7 +558,7 @@ private static SpanDataAssert assertProcessSpanWithFifoMessage( equalTo(MESSAGING_SYSTEM, "rocketmq"), equalTo(MESSAGING_MESSAGE_ID, sendReceipt.getMessageId().toString()), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "process"))); + equalTo(MESSAGING_OPERATION_TYPE, "process"))); attributeAssertions.addAll(Arrays.asList(extraAttributes)); return span.hasKind(SpanKind.CONSUMER) @@ -590,7 +591,7 @@ private static SpanDataAssert assertProcessSpanWithDelayMessage( equalTo(MESSAGING_SYSTEM, "rocketmq"), equalTo(MESSAGING_MESSAGE_ID, sendReceipt.getMessageId().toString()), equalTo(MESSAGING_DESTINATION_NAME, topic), - equalTo(MESSAGING_OPERATION, "process"))); + equalTo(MESSAGING_OPERATION_TYPE, "process"))); attributeAssertions.addAll(Arrays.asList(extraAttributes)); return span.hasKind(SpanKind.CONSUMER) From 5d267686683507fc6628bfd7ae61f7ef88f61bb4 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 11:22:21 +0800 Subject: [PATCH 13/43] fix ci --- .../rocketmqclient/v5_0/AbstractRocketMqClientTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java index c959f173a65c..5bef54777626 100644 --- a/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java +++ b/instrumentation/rocketmq/rocketmq-client/rocketmq-client-5.0/testing/src/main/java/io/opentelemetry/instrumentation/rocketmqclient/v5_0/AbstractRocketMqClientTest.java @@ -9,9 +9,9 @@ import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_BATCH_MESSAGE_COUNT; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME; -import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_BODY_SIZE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_MESSAGE_ID; +import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_CLIENT_GROUP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_DELIVERY_TIMESTAMP; import static io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes.MESSAGING_ROCKETMQ_MESSAGE_GROUP; From 7016470b2e2e3af9eba9c857d4242d291b19b5ea Mon Sep 17 00:00:00 2001 From: Liu Ziming Date: Wed, 10 Jul 2024 11:27:54 +0800 Subject: [PATCH 14/43] fix windows benchmark fail (#11698) --- .../java/io/opentelemetry/OverheadTests.java | 25 ++++++++++---- .../opentelemetry/containers/K6Container.java | 5 ++- .../results/ResultsCollector.java | 6 ++-- .../util/ContainerNamingConvention.java | 33 +++++++++++++++++++ .../util/LocalNamingConvention.java | 33 +++++++++++++++++++ .../opentelemetry/util/NamingConvention.java | 33 +++++-------------- .../opentelemetry/util/NamingConventions.java | 14 +++++--- 7 files changed, 106 insertions(+), 43 deletions(-) create mode 100644 benchmark-overhead/src/test/java/io/opentelemetry/util/ContainerNamingConvention.java create mode 100644 benchmark-overhead/src/test/java/io/opentelemetry/util/LocalNamingConvention.java diff --git a/benchmark-overhead/src/test/java/io/opentelemetry/OverheadTests.java b/benchmark-overhead/src/test/java/io/opentelemetry/OverheadTests.java index b69a6d708294..86756a230f39 100644 --- a/benchmark-overhead/src/test/java/io/opentelemetry/OverheadTests.java +++ b/benchmark-overhead/src/test/java/io/opentelemetry/OverheadTests.java @@ -110,7 +110,7 @@ void runAppOnce(TestConfig config, Agent agent) throws Exception { } private void startRecording(Agent agent, GenericContainer petclinic) throws Exception { - Path outFile = namingConventions.container.jfrFile(agent); + String outFile = namingConventions.container.jfrFile(agent); String[] command = { "jcmd", "1", @@ -123,16 +123,27 @@ private void startRecording(Agent agent, GenericContainer petclinic) throws E petclinic.execInContainer(command); } - private void doWarmupPhase(TestConfig testConfig, GenericContainer petclinic) throws IOException, InterruptedException { - System.out.println("Performing startup warming phase for " + testConfig.getWarmupSeconds() + " seconds..."); + private void doWarmupPhase(TestConfig testConfig, GenericContainer petclinic) + throws IOException, InterruptedException { + System.out.println( + "Performing startup warming phase for " + testConfig.getWarmupSeconds() + " seconds..."); // excluding the JFR recording from the warmup causes strange inconsistencies in the results System.out.println("Starting disposable JFR warmup recording..."); - String[] startCommand = {"jcmd", "1", "JFR.start", "settings=/app/overhead.jfc", "dumponexit=true", "name=warmup", "filename=warmup.jfr"}; + String[] startCommand = { + "jcmd", + "1", + "JFR.start", + "settings=/app/overhead.jfc", + "dumponexit=true", + "name=warmup", + "filename=warmup.jfr" + }; petclinic.execInContainer(startCommand); - long deadline = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(testConfig.getWarmupSeconds()); - while(System.currentTimeMillis() < deadline) { + long deadline = + System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(testConfig.getWarmupSeconds()); + while (System.currentTimeMillis() < deadline) { GenericContainer k6 = new GenericContainer<>(DockerImageName.parse("loadimpact/k6")) .withNetwork(NETWORK) @@ -151,7 +162,7 @@ private void doWarmupPhase(TestConfig testConfig, GenericContainer petclinic) private void writeStartupTimeFile(Agent agent, long start) throws IOException { long delta = System.currentTimeMillis() - start; - Path startupPath = namingConventions.local.startupDurationFile(agent); + Path startupPath = Path.of(namingConventions.local.startupDurationFile(agent)); Files.writeString(startupPath, String.valueOf(delta)); } } diff --git a/benchmark-overhead/src/test/java/io/opentelemetry/containers/K6Container.java b/benchmark-overhead/src/test/java/io/opentelemetry/containers/K6Container.java index ff022970dbb3..7f6994d1a5d7 100644 --- a/benchmark-overhead/src/test/java/io/opentelemetry/containers/K6Container.java +++ b/benchmark-overhead/src/test/java/io/opentelemetry/containers/K6Container.java @@ -8,7 +8,6 @@ import io.opentelemetry.agents.Agent; import io.opentelemetry.config.TestConfig; import io.opentelemetry.util.NamingConventions; -import java.nio.file.Path; import java.time.Duration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,7 +34,7 @@ public K6Container( } public GenericContainer build() { - Path k6OutputFile = namingConventions.container.k6Results(agent); + String k6OutputFile = namingConventions.container.k6Results(agent); return new GenericContainer<>(DockerImageName.parse("loadimpact/k6")) .withNetwork(network) .withNetworkAliases("k6") @@ -52,7 +51,7 @@ public GenericContainer build() { "--rps", String.valueOf(config.getMaxRequestRate()), "--summary-export", - k6OutputFile.toString(), + k6OutputFile, "/app/basic.js") .withStartupCheckStrategy( new OneShotStartupCheckStrategy().withTimeout(Duration.ofMinutes(15))); diff --git a/benchmark-overhead/src/test/java/io/opentelemetry/results/ResultsCollector.java b/benchmark-overhead/src/test/java/io/opentelemetry/results/ResultsCollector.java index c2012cdf41b9..d7b47bb7fbc9 100644 --- a/benchmark-overhead/src/test/java/io/opentelemetry/results/ResultsCollector.java +++ b/benchmark-overhead/src/test/java/io/opentelemetry/results/ResultsCollector.java @@ -54,14 +54,14 @@ private AppPerfResults readAgentResults(Agent agent, TestConfig config) { private AppPerfResults.Builder addStartupTime(AppPerfResults.Builder builder, Agent agent) throws IOException { - Path file = namingConvention.startupDurationFile(agent); + Path file = Path.of(namingConvention.startupDurationFile(agent)); long startupDuration = Long.parseLong(new String(Files.readAllBytes(file)).trim()); return builder.startupDurationMs(startupDuration); } private AppPerfResults.Builder addK6Results(AppPerfResults.Builder builder, Agent agent) throws IOException { - Path k6File = namingConvention.k6Results(agent); + Path k6File = Path.of(namingConvention.k6Results(agent)); String json = new String(Files.readAllBytes(k6File)); double iterationAvg = read(json, "$.metrics.iteration_duration.avg"); double iterationP95 = read(json, "$.metrics.iteration_duration['p(95)']"); @@ -82,7 +82,7 @@ private static double read(String json, String jsonPath) { private AppPerfResults.Builder addJfrResults(AppPerfResults.Builder builder, Agent agent) throws IOException { - Path jfrFile = namingConvention.jfrFile(agent); + Path jfrFile = Path.of(namingConvention.jfrFile(agent)); return builder .totalGCTime(readTotalGCTime(jfrFile)) .totalAllocated(readTotalAllocated(jfrFile)) diff --git a/benchmark-overhead/src/test/java/io/opentelemetry/util/ContainerNamingConvention.java b/benchmark-overhead/src/test/java/io/opentelemetry/util/ContainerNamingConvention.java new file mode 100644 index 000000000000..8866ea28e92c --- /dev/null +++ b/benchmark-overhead/src/test/java/io/opentelemetry/util/ContainerNamingConvention.java @@ -0,0 +1,33 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.util; + +import io.opentelemetry.agents.Agent; + +public class ContainerNamingConvention implements NamingConvention { + private final String dir; + + public ContainerNamingConvention(String dir) { + this.dir = dir; + } + + public String k6Results(Agent agent) { + + return String.join("/", dir, "k6_out_" + agent.getName() + ".json"); + } + + public String jfrFile(Agent agent) { + return String.join("/", dir, "petclinic-" + agent.getName() + ".jfr"); + } + + public String startupDurationFile(Agent agent) { + return String.join("/", dir, "startup-time-" + agent.getName() + ".txt"); + } + + public String root() { + return dir; + } +} diff --git a/benchmark-overhead/src/test/java/io/opentelemetry/util/LocalNamingConvention.java b/benchmark-overhead/src/test/java/io/opentelemetry/util/LocalNamingConvention.java new file mode 100644 index 000000000000..4c4305e849a3 --- /dev/null +++ b/benchmark-overhead/src/test/java/io/opentelemetry/util/LocalNamingConvention.java @@ -0,0 +1,33 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.util; + +import io.opentelemetry.agents.Agent; +import java.nio.file.Paths; + +public class LocalNamingConvention implements NamingConvention { + private final String dir; + + public LocalNamingConvention(String dir) { + this.dir = dir; + } + + public String k6Results(Agent agent) { + return Paths.get(dir, "k6_out_" + agent.getName() + ".json").toString(); + } + + public String jfrFile(Agent agent) { + return Paths.get(dir, "petclinic-" + agent.getName() + ".jfr").toString(); + } + + public String startupDurationFile(Agent agent) { + return Paths.get(dir, "startup-time-" + agent.getName() + ".txt").toString(); + } + + public String root() { + return dir; + } +} diff --git a/benchmark-overhead/src/test/java/io/opentelemetry/util/NamingConvention.java b/benchmark-overhead/src/test/java/io/opentelemetry/util/NamingConvention.java index 96a45eceeef3..afbdd653e9a5 100644 --- a/benchmark-overhead/src/test/java/io/opentelemetry/util/NamingConvention.java +++ b/benchmark-overhead/src/test/java/io/opentelemetry/util/NamingConvention.java @@ -6,51 +6,34 @@ package io.opentelemetry.util; import io.opentelemetry.agents.Agent; -import java.nio.file.Path; -import java.nio.file.Paths; /** * This utility class provides the standard file naming conventions, primarily for files that are * shared between containers and the test runner. It consolidates the naming logic into one place to * ensure consistency, reduce duplication, and decrease errors. */ -public class NamingConvention { - - private final String dir; - - public NamingConvention(String dir) { - this.dir = dir; - } - +public interface NamingConvention { /** - * Returns a path to the location of the k6 results json file. + * Returns a path string to the location of the k6 results json file. * * @param agent The agent to get results file path for */ - public Path k6Results(Agent agent) { - return Paths.get(dir, "k6_out_" + agent.getName() + ".json"); - } + String k6Results(Agent agent); /** - * Returns a path to the location of the jfr output file for a given agent run. + * Returns a path string to the location of the jfr output file for a given agent run. * * @param agent The agent to get the jfr file path for. */ - public Path jfrFile(Agent agent) { - return Paths.get(dir, "petclinic-" + agent.getName() + ".jfr"); - } + String jfrFile(Agent agent); /** - * Returns the path to the file that contains the startup duration for a given agent run. + * Returns the path string to the file that contains the startup duration for a given agent run. * * @param agent The agent to get the startup duration for. */ - public Path startupDurationFile(Agent agent) { - return Paths.get(dir, "startup-time-" + agent.getName() + ".txt"); - } + String startupDurationFile(Agent agent); /** Returns the root path that this naming convention was configured with. */ - public String root() { - return dir; - } + String root(); } diff --git a/benchmark-overhead/src/test/java/io/opentelemetry/util/NamingConventions.java b/benchmark-overhead/src/test/java/io/opentelemetry/util/NamingConventions.java index 6caf28dfef31..4aeca8f7a92e 100644 --- a/benchmark-overhead/src/test/java/io/opentelemetry/util/NamingConventions.java +++ b/benchmark-overhead/src/test/java/io/opentelemetry/util/NamingConventions.java @@ -5,18 +5,22 @@ package io.opentelemetry.util; -/** An container to hold both the local and container naming conventions. */ +/** A container to hold both the local and container naming conventions. */ public class NamingConventions { - public final NamingConvention container = new NamingConvention("/results"); - public final NamingConvention local = new NamingConvention("."); + public final NamingConvention container = new ContainerNamingConvention("/results"); + public final NamingConvention local = new LocalNamingConvention("."); - /** @return Root path for the local naming convention (where results are output) */ + /** + * @return Root path for the local naming convention (where results are output) + */ public String localResults() { return local.root(); } - /** @return Root path for the container naming convention (where results are output) */ + /** + * @return Root path for the container naming convention (where results are output) + */ public String containerResults() { return container.root(); } From ec91735598589658cd6acff688b328b4a5bf205e Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Wed, 10 Jul 2024 06:28:51 +0300 Subject: [PATCH 15/43] Alter instrumentation suppression behavior (#11640) --- .../InstrumentationModule.java | 4 ++ .../javaagent/tooling/config/AgentConfig.java | 14 ++---- .../tooling/config/AgentConfigTest.java | 44 +++++++++++++++---- 3 files changed, 43 insertions(+), 19 deletions(-) diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/InstrumentationModule.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/InstrumentationModule.java index 9d8bb78b8200..7f404090b679 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/InstrumentationModule.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/instrumentation/InstrumentationModule.java @@ -49,6 +49,10 @@ public abstract class InstrumentationModule implements Ordered { * InstrumentationModule} must have a default constructor (for SPI), so they have to pass the * instrumentation names to the super class constructor. * + *

When enabling or disabling the instrumentation module configuration property that + * corresponds to the main instrumentation name is considered first, after that additional + * instrumentation names are considered in the order they are listed here. + * *

The instrumentation names should follow several rules: * *

    diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/AgentConfig.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/AgentConfig.java index 3077b56536c0..66ac96401612 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/AgentConfig.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/AgentConfig.java @@ -11,20 +11,14 @@ public final class AgentConfig { public static boolean isInstrumentationEnabled( ConfigProperties config, Iterable instrumentationNames, boolean defaultEnabled) { - // If default is enabled, we want to enable individually, - // if default is disabled, we want to disable individually. - boolean anyEnabled = defaultEnabled; for (String name : instrumentationNames) { String propertyName = "otel.instrumentation." + name + ".enabled"; - boolean enabled = config.getBoolean(propertyName, defaultEnabled); - - if (defaultEnabled) { - anyEnabled &= enabled; - } else { - anyEnabled |= enabled; + Boolean enabled = config.getBoolean(propertyName); + if (enabled != null) { + return enabled; } } - return anyEnabled; + return defaultEnabled; } public static boolean isDebugModeEnabled(ConfigProperties config) { diff --git a/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/config/AgentConfigTest.java b/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/config/AgentConfigTest.java index e4b36be6c51a..ab428499269d 100644 --- a/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/config/AgentConfigTest.java +++ b/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/config/AgentConfigTest.java @@ -25,16 +25,14 @@ class AgentConfigTest { @ArgumentsSource(InstrumentationEnabledParams.class) void testIsInstrumentationEnabled( @SuppressWarnings("unused") String description, - boolean firstEnabled, - boolean secondEnabled, + Boolean firstEnabled, + Boolean secondEnabled, boolean defaultEnabled, boolean expected) { ConfigProperties config = mock(ConfigProperties.class); - when(config.getBoolean("otel.instrumentation.first.enabled", defaultEnabled)) - .thenReturn(firstEnabled); - when(config.getBoolean("otel.instrumentation.second.enabled", defaultEnabled)) - .thenReturn(secondEnabled); + when(config.getBoolean("otel.instrumentation.first.enabled")).thenReturn(firstEnabled); + when(config.getBoolean("otel.instrumentation.second.enabled")).thenReturn(secondEnabled); assertEquals( expected, @@ -49,13 +47,41 @@ public Stream provideArguments(ExtensionContext context) { return Stream.of( Arguments.of( "enabled by default, both instrumentations are off", false, false, true, false), - Arguments.of("enabled by default, one instrumentation is on", true, false, true, false), + Arguments.of("enabled by default, first instrumentation is on", true, null, true, true), + Arguments.of("enabled by default, second instrumentation is on", null, true, true, true), Arguments.of("enabled by default, both instrumentations are on", true, true, true, true), + Arguments.of( + "enabled by default, first instrumentation is off, second is on", + false, + true, + true, + false), + Arguments.of( + "enabled by default, first instrumentation is on, second is off", + true, + false, + true, + true), + Arguments.of("enabled by default", null, null, true, true), Arguments.of( "disabled by default, both instrumentations are off", false, false, false, false), - Arguments.of("disabled by default, one instrumentation is on", true, false, false, true), + Arguments.of("disabled by default, first instrumentation is on", true, null, false, true), + Arguments.of( + "disabled by default, second instrumentation is on", null, true, false, true), + Arguments.of("disabled by default, both instrumentation are on", true, true, false, true), + Arguments.of( + "disabled by default, first instrumentation is off, second is on", + false, + true, + false, + false), Arguments.of( - "disabled by default, both instrumentation are on", true, true, false, true)); + "disabled by default, first instrumentation is on, second is off", + true, + false, + false, + true), + Arguments.of("disabled by default", null, null, false, false)); } } } From 6b654473004f2a5127953fc76b7fa90398d3d378 Mon Sep 17 00:00:00 2001 From: John Bley Date: Tue, 9 Jul 2024 23:29:04 -0400 Subject: [PATCH 16/43] Propagate otel context through custom aws client context for lambda direct calls (#11675) Co-authored-by: Lauri Tulmin --- .../AwsLambdaFunctionInstrumenter.java | 12 +- .../internal/InstrumenterExtractionTest.java | 45 ++++++++ .../aws-sdk-2.2/javaagent/build.gradle.kts | 18 +++ .../awssdk/v2_2/LambdaAdviceBridge.java | 15 +++ .../v2_2/LambdaInstrumentationModule.java | 47 ++++++++ .../awssdk/v2_2/Aws2LambdaTest.java | 35 ++++++ .../library-autoconfigure/build.gradle.kts | 1 + .../aws-sdk-2.2/library/build.gradle.kts | 17 +++ .../awssdk/v2_2/LambdaAccess.java | 21 ++++ .../awssdk/v2_2/LambdaImpl.java | 102 +++++++++++++++++ .../v2_2/TracingExecutionInterceptor.java | 4 + .../awssdk/v2_2/Aws2LambdaTest.java | 107 ++++++++++++++++++ .../aws-sdk-2.2/testing/build.gradle.kts | 1 + .../awssdk/v2_2/AbstractAws2LambdaTest.java | 78 +++++++++++++ 14 files changed, 502 insertions(+), 1 deletion(-) create mode 100644 instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/test/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/InstrumenterExtractionTest.java create mode 100644 instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaAdviceBridge.java create mode 100644 instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/LambdaInstrumentationModule.java create mode 100644 instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/Aws2LambdaTest.java create mode 100644 instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaAccess.java create mode 100644 instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaImpl.java create mode 100644 instrumentation/aws-sdk/aws-sdk-2.2/library/src/testLambda/java/io/opentelemetry/instrumentation/awssdk/v2_2/Aws2LambdaTest.java create mode 100644 instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2LambdaTest.java diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/AwsLambdaFunctionInstrumenter.java b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/AwsLambdaFunctionInstrumenter.java index 4136e7bed954..9341bf6f79dc 100644 --- a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/AwsLambdaFunctionInstrumenter.java +++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/AwsLambdaFunctionInstrumenter.java @@ -11,6 +11,7 @@ import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.internal.ContextPropagationDebug; import io.opentelemetry.instrumentation.awslambdacore.v1_0.AwsLambdaRequest; +import java.util.HashMap; import java.util.Locale; import java.util.Map; import javax.annotation.Nullable; @@ -48,11 +49,20 @@ public void end( public Context extract(AwsLambdaRequest input) { ContextPropagationDebug.debugContextLeakIfEnabled(); + // Look in both the http headers and the custom client context + Map headers = input.getHeaders(); + if (input.getAwsContext() != null && input.getAwsContext().getClientContext() != null) { + Map customContext = input.getAwsContext().getClientContext().getCustom(); + if (customContext != null) { + headers = new HashMap<>(headers); + headers.putAll(customContext); + } + } return openTelemetry .getPropagators() .getTextMapPropagator() - .extract(Context.root(), input.getHeaders(), MapGetter.INSTANCE); + .extract(Context.root(), headers, MapGetter.INSTANCE); } private enum MapGetter implements TextMapGetter> { diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/test/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/InstrumenterExtractionTest.java b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/test/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/InstrumenterExtractionTest.java new file mode 100644 index 000000000000..cb19d1e56879 --- /dev/null +++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/test/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/internal/InstrumenterExtractionTest.java @@ -0,0 +1,45 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.awslambdacore.v1_0.internal; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import com.amazonaws.services.lambda.runtime.ClientContext; +import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.SpanContext; +import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator; +import io.opentelemetry.context.Context; +import io.opentelemetry.context.propagation.ContextPropagators; +import io.opentelemetry.instrumentation.awslambdacore.v1_0.AwsLambdaRequest; +import java.util.HashMap; +import org.junit.jupiter.api.Test; + +class InstrumenterExtractionTest { + @Test + public void useCustomContext() { + AwsLambdaFunctionInstrumenter instr = + AwsLambdaFunctionInstrumenterFactory.createInstrumenter( + OpenTelemetry.propagating( + ContextPropagators.create(W3CTraceContextPropagator.getInstance()))); + com.amazonaws.services.lambda.runtime.Context awsContext = + mock(com.amazonaws.services.lambda.runtime.Context.class); + ClientContext clientContext = mock(ClientContext.class); + when(awsContext.getClientContext()).thenReturn(clientContext); + HashMap customMap = new HashMap<>(); + customMap.put("traceparent", "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"); + when(clientContext.getCustom()).thenReturn(customMap); + + AwsLambdaRequest input = AwsLambdaRequest.create(awsContext, new HashMap<>(), new HashMap<>()); + + Context extracted = instr.extract(input); + SpanContext spanContext = Span.fromContext(extracted).getSpanContext(); + assertThat(spanContext.getTraceId()).isEqualTo("4bf92f3577b34da6a3ce929d0e0e4736"); + assertThat(spanContext.getSpanId()).isEqualTo("00f067aa0ba902b7"); + } +} diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/build.gradle.kts index 4cfaae6135b2..9f83480f5511 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/build.gradle.kts @@ -13,6 +13,7 @@ muzzle { excludeInstrumentationName("aws-sdk-2.2-sqs") excludeInstrumentationName("aws-sdk-2.2-sns") + excludeInstrumentationName("aws-sdk-2.2-lambda") // several software.amazon.awssdk artifacts are missing for this version skip("2.17.200") @@ -43,6 +44,7 @@ muzzle { extraDependency("software.amazon.awssdk:protocol-core") excludeInstrumentationName("aws-sdk-2.2-sns") + excludeInstrumentationName("aws-sdk-2.2-lambda") // several software.amazon.awssdk artifacts are missing for this version skip("2.17.200") @@ -57,6 +59,21 @@ muzzle { extraDependency("software.amazon.awssdk:protocol-core") excludeInstrumentationName("aws-sdk-2.2-sqs") + excludeInstrumentationName("aws-sdk-2.2-lambda") + + // several software.amazon.awssdk artifacts are missing for this version + skip("2.17.200") + } + pass { + group.set("software.amazon.awssdk") + module.set("lambda") + versions.set("[2.17.0,)") + // Used by all SDK services, the only case it isn't is an SDK extension such as a custom HTTP + // client, which is not target of instrumentation anyways. + extraDependency("software.amazon.awssdk:protocol-core") + + excludeInstrumentationName("aws-sdk-2.2-sqs") + excludeInstrumentationName("aws-sdk-2.2-sns") // several software.amazon.awssdk artifacts are missing for this version skip("2.17.200") @@ -81,6 +98,7 @@ dependencies { testLibrary("software.amazon.awssdk:dynamodb:2.2.0") testLibrary("software.amazon.awssdk:ec2:2.2.0") testLibrary("software.amazon.awssdk:kinesis:2.2.0") + testLibrary("software.amazon.awssdk:lambda:2.2.0") testLibrary("software.amazon.awssdk:rds:2.2.0") testLibrary("software.amazon.awssdk:s3:2.2.0") testLibrary("software.amazon.awssdk:sqs:2.2.0") diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaAdviceBridge.java b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaAdviceBridge.java new file mode 100644 index 000000000000..3aaa17525137 --- /dev/null +++ b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaAdviceBridge.java @@ -0,0 +1,15 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.awssdk.v2_2; + +public final class LambdaAdviceBridge { + private LambdaAdviceBridge() {} + + public static void referenceForMuzzleOnly() { + throw new UnsupportedOperationException( + LambdaImpl.class.getName() + " referencing for muzzle, should never be actually called"); + } +} diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/LambdaInstrumentationModule.java b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/LambdaInstrumentationModule.java new file mode 100644 index 000000000000..575bb5ec7fbc --- /dev/null +++ b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/LambdaInstrumentationModule.java @@ -0,0 +1,47 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.awssdk.v2_2; + +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed; +import static net.bytebuddy.matcher.ElementMatchers.none; + +import com.google.auto.service.AutoService; +import io.opentelemetry.instrumentation.awssdk.v2_2.LambdaAdviceBridge; +import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule; +import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; +import net.bytebuddy.asm.Advice; +import net.bytebuddy.matcher.ElementMatcher; + +@AutoService(InstrumentationModule.class) +public class LambdaInstrumentationModule extends AbstractAwsSdkInstrumentationModule { + + public LambdaInstrumentationModule() { + super("aws-sdk-2.2-lambda"); + } + + @Override + public ElementMatcher.Junction classLoaderMatcher() { + return hasClassesNamed( + "software.amazon.awssdk.services.lambda.model.InvokeRequest", + "software.amazon.awssdk.protocols.jsoncore.JsonNode"); + } + + @Override + public void doTransform(TypeTransformer transformer) { + transformer.applyAdviceToMethod( + none(), LambdaInstrumentationModule.class.getName() + "$RegisterAdvice"); + } + + @SuppressWarnings("unused") + public static class RegisterAdvice { + @Advice.OnMethodExit(suppress = Throwable.class) + public static void onExit() { + // (indirectly) using LambdaImpl class here to make sure it is available from LambdaAccess + // (injected into app classloader) and checked by Muzzle + LambdaAdviceBridge.referenceForMuzzleOnly(); + } + } +} diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/Aws2LambdaTest.java b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/Aws2LambdaTest.java new file mode 100644 index 000000000000..0991e804956e --- /dev/null +++ b/instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/Aws2LambdaTest.java @@ -0,0 +1,35 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.awssdk.v2_2; + +import io.opentelemetry.instrumentation.awssdk.v2_2.AbstractAws2LambdaTest; +import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; +import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; +import org.junit.jupiter.api.extension.RegisterExtension; +import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; + +class Aws2LambdaTest extends AbstractAws2LambdaTest { + + @RegisterExtension + private static final AgentInstrumentationExtension testing = + AgentInstrumentationExtension.create(); + + @Override + protected InstrumentationExtension getTesting() { + return testing; + } + + @Override + protected boolean canTestLambdaInvoke() { + // only supported since 2.17.0 + return Boolean.getBoolean("testLatestDeps"); + } + + @Override + protected ClientOverrideConfiguration.Builder createOverrideConfigurationBuilder() { + return ClientOverrideConfiguration.builder(); + } +} diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure/build.gradle.kts index 6e0ea36a64bd..7f621f4977d2 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library-autoconfigure/build.gradle.kts @@ -17,6 +17,7 @@ dependencies { testLibrary("software.amazon.awssdk:dynamodb:2.2.0") testLibrary("software.amazon.awssdk:ec2:2.2.0") testLibrary("software.amazon.awssdk:kinesis:2.2.0") + testLibrary("software.amazon.awssdk:lambda:2.2.0") testLibrary("software.amazon.awssdk:rds:2.2.0") testLibrary("software.amazon.awssdk:s3:2.2.0") testLibrary("software.amazon.awssdk:sqs:2.2.0") diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts index 862df156ae14..e4be5bdfe30a 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/build.gradle.kts @@ -7,8 +7,11 @@ dependencies { library("software.amazon.awssdk:aws-core:2.2.0") library("software.amazon.awssdk:sqs:2.2.0") + library("software.amazon.awssdk:lambda:2.2.0") library("software.amazon.awssdk:sns:2.2.0") library("software.amazon.awssdk:aws-json-protocol:2.2.0") + // json-utils was added in 2.17.0 + compileOnly("software.amazon.awssdk:json-utils:2.17.0") compileOnly(project(":muzzle")) // For @NoMuzzle testImplementation(project(":instrumentation:aws-sdk:aws-sdk-2.2:testing")) @@ -38,10 +41,24 @@ testing { implementation("software.amazon.awssdk:aws-core:+") implementation("software.amazon.awssdk:aws-json-protocol:+") implementation("software.amazon.awssdk:dynamodb:+") + implementation("software.amazon.awssdk:lambda:+") } else { implementation("software.amazon.awssdk:aws-core:2.2.0") implementation("software.amazon.awssdk:aws-json-protocol:2.2.0") implementation("software.amazon.awssdk:dynamodb:2.2.0") + implementation("software.amazon.awssdk:lambda:2.2.0") + } + } + } + + val testLambda by registering(JvmTestSuite::class) { + dependencies { + implementation(project()) + implementation(project(":instrumentation:aws-sdk:aws-sdk-2.2:testing")) + if (findProperty("testLatestDeps") as Boolean) { + implementation("software.amazon.awssdk:lambda:+") + } else { + implementation("software.amazon.awssdk:lambda:2.17.0") } } } diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaAccess.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaAccess.java new file mode 100644 index 000000000000..33d792c0c826 --- /dev/null +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaAccess.java @@ -0,0 +1,21 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.awssdk.v2_2; + +import io.opentelemetry.context.Context; +import io.opentelemetry.javaagent.tooling.muzzle.NoMuzzle; +import software.amazon.awssdk.core.SdkRequest; + +final class LambdaAccess { + private LambdaAccess() {} + + private static final boolean enabled = PluginImplUtil.isImplPresent("LambdaImpl"); + + @NoMuzzle + public static SdkRequest modifyRequest(SdkRequest request, Context otelContext) { + return enabled ? LambdaImpl.modifyRequest(request, otelContext) : null; + } +} diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaImpl.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaImpl.java new file mode 100644 index 000000000000..fae5edf5e12a --- /dev/null +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/LambdaImpl.java @@ -0,0 +1,102 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.awssdk.v2_2; + +import io.opentelemetry.api.GlobalOpenTelemetry; +import java.nio.charset.StandardCharsets; +import java.util.Base64; +import java.util.LinkedHashMap; +import java.util.Map; +import javax.annotation.Nullable; +import software.amazon.awssdk.core.SdkRequest; +import software.amazon.awssdk.protocols.jsoncore.JsonNode; +import software.amazon.awssdk.protocols.jsoncore.internal.ObjectJsonNode; +import software.amazon.awssdk.protocols.jsoncore.internal.StringJsonNode; +import software.amazon.awssdk.services.lambda.model.InvokeRequest; + +// this class is only used from LambdaAccess from method with @NoMuzzle annotation + +// Direct lambda invocations (e.g., not through an api gateway) currently strip +// away the otel propagation headers (but leave x-ray ones intact). Use the +// custom client context header as an additional propagation mechanism for this +// very specific scenario. For reference, the header is named "X-Amz-Client-Context" but the api to +// manipulate it abstracts that away. The client context field is documented in +// https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html#API_Invoke_RequestParameters + +final class LambdaImpl { + static { + // Force loading of InvokeRequest; this ensures that an exception is thrown at this point when + // the Lambda library is not present, which will cause DirectLambdaAccess to have + // enabled=false in library mode. + @SuppressWarnings("unused") + String invokeRequestName = InvokeRequest.class.getName(); + // was added in 2.17.0 + @SuppressWarnings("unused") + String jsonNodeName = JsonNode.class.getName(); + } + + private static final String CLIENT_CONTEXT_CUSTOM_FIELDS_KEY = "custom"; + static final int MAX_CLIENT_CONTEXT_LENGTH = 3583; // visible for testing + + private LambdaImpl() {} + + @Nullable + static SdkRequest modifyRequest( + SdkRequest request, io.opentelemetry.context.Context otelContext) { + if (isDirectLambdaInvocation(request)) { + return modifyOrAddCustomContextHeader((InvokeRequest) request, otelContext); + } + return null; + } + + static boolean isDirectLambdaInvocation(SdkRequest request) { + return request instanceof InvokeRequest; + } + + static SdkRequest modifyOrAddCustomContextHeader( + InvokeRequest request, io.opentelemetry.context.Context otelContext) { + InvokeRequest.Builder builder = request.toBuilder(); + // Unfortunately the value of this thing is a base64-encoded json with a character limit; also + // therefore not comma-composable like many http headers + String clientContextString = request.clientContext(); + String clientContextJsonString = "{}"; + if (clientContextString != null && !clientContextString.isEmpty()) { + clientContextJsonString = + new String(Base64.getDecoder().decode(clientContextString), StandardCharsets.UTF_8); + } + JsonNode jsonNode = JsonNode.parser().parse(clientContextJsonString); + if (!jsonNode.isObject()) { + return null; + } + JsonNode customNode = + jsonNode + .asObject() + .computeIfAbsent( + CLIENT_CONTEXT_CUSTOM_FIELDS_KEY, (k) -> new ObjectJsonNode(new LinkedHashMap<>())); + if (!customNode.isObject()) { + return null; + } + Map map = customNode.asObject(); + GlobalOpenTelemetry.getPropagators() + .getTextMapPropagator() + .inject(otelContext, map, (nodes, key, value) -> nodes.put(key, new StringJsonNode(value))); + if (map.isEmpty()) { + return null; + } + + // turn it back into a string (json encode) + String newJson = jsonNode.toString(); + + // turn it back into a base64 string + String newJson64 = Base64.getEncoder().encodeToString(newJson.getBytes(StandardCharsets.UTF_8)); + // check it for length (err on the safe side with >=) + if (newJson64.length() >= MAX_CLIENT_CONTEXT_LENGTH) { + return null; + } + builder.clientContext(newJson64); + return builder.build(); + } +} diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java index 4b718e0abc40..ada21457d45b 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java @@ -212,6 +212,10 @@ public SdkRequest modifyRequest( if (modifiedRequest != null) { return modifiedRequest; } + modifiedRequest = LambdaAccess.modifyRequest(request, otelContext); + if (modifiedRequest != null) { + return modifiedRequest; + } // Insert other special handling here, following the same pattern as SQS and SNS. diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/testLambda/java/io/opentelemetry/instrumentation/awssdk/v2_2/Aws2LambdaTest.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/testLambda/java/io/opentelemetry/instrumentation/awssdk/v2_2/Aws2LambdaTest.java new file mode 100644 index 000000000000..3bfe7788e066 --- /dev/null +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/testLambda/java/io/opentelemetry/instrumentation/awssdk/v2_2/Aws2LambdaTest.java @@ -0,0 +1,107 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.awssdk.v2_2; + +import static org.assertj.core.api.Assertions.assertThat; + +import io.opentelemetry.context.Context; +import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; +import io.opentelemetry.instrumentation.testing.junit.LibraryInstrumentationExtension; +import java.nio.charset.StandardCharsets; +import java.util.Base64; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; +import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; +import software.amazon.awssdk.services.lambda.model.InvokeRequest; + +class Aws2LambdaTest extends AbstractAws2LambdaTest { + + @RegisterExtension + private static final LibraryInstrumentationExtension testing = + LibraryInstrumentationExtension.create(); + + private static Context context; + private static AwsSdkTelemetry telemetry; + + @BeforeAll + static void setup() { + testing.runWithHttpServerSpan( + () -> { + context = Context.current(); + }); + + telemetry = AwsSdkTelemetry.create(testing.getOpenTelemetry()); + } + + @Override + protected InstrumentationExtension getTesting() { + return testing; + } + + @Override + protected ClientOverrideConfiguration.Builder createOverrideConfigurationBuilder() { + return ClientOverrideConfiguration.builder() + .addExecutionInterceptor(telemetry.newExecutionInterceptor()); + } + + private static String base64ify(String json) { + return Base64.getEncoder().encodeToString(json.getBytes(StandardCharsets.UTF_8)); + } + + @Test + void noExistingClientContext() { + InvokeRequest request = InvokeRequest.builder().build(); + + InvokeRequest newRequest = + (InvokeRequest) LambdaImpl.modifyOrAddCustomContextHeader(request, context); + + String newClientContext = newRequest.clientContext(); + newClientContext = + new String(Base64.getDecoder().decode(newClientContext), StandardCharsets.UTF_8); + assertThat(newClientContext.contains("traceparent")).isTrue(); + } + + @Test + void withExistingClientContext() { + String clientContext = + base64ify( + "{\"otherStuff\": \"otherValue\", \"custom\": {\"preExisting\": \"somevalue\"} }"); + InvokeRequest request = InvokeRequest.builder().clientContext(clientContext).build(); + + InvokeRequest newRequest = + (InvokeRequest) LambdaImpl.modifyOrAddCustomContextHeader(request, context); + + String newClientContext = newRequest.clientContext(); + newClientContext = + new String(Base64.getDecoder().decode(newClientContext), StandardCharsets.UTF_8); + assertThat(newClientContext.contains("traceparent")).isTrue(); + assertThat(newClientContext.contains("preExisting")).isTrue(); + assertThat(newClientContext.contains("otherStuff")).isTrue(); + } + + @Test + void exceedingMaximumLengthDoesNotModify() { + // awkward way to build a valid json that is almost but not quite too long + StringBuilder buffer = new StringBuilder("x"); + String long64edClientContext = ""; + while (true) { + buffer.append("x"); + String newClientContext = base64ify("{\"" + buffer + "\": \"" + buffer + "\"}"); + if (newClientContext.length() >= LambdaImpl.MAX_CLIENT_CONTEXT_LENGTH) { + break; + } + long64edClientContext = newClientContext; + } + + InvokeRequest request = InvokeRequest.builder().clientContext(long64edClientContext).build(); + assertThat(request.clientContext().equals(long64edClientContext)).isTrue(); + + InvokeRequest newRequest = + (InvokeRequest) LambdaImpl.modifyOrAddCustomContextHeader(request, context); + assertThat(newRequest).isNull(); // null return means no modification performed + } +} diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts b/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts index 9981aa9a1965..f9c0791bd205 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/build.gradle.kts @@ -14,6 +14,7 @@ dependencies { compileOnly("software.amazon.awssdk:dynamodb:2.2.0") compileOnly("software.amazon.awssdk:ec2:2.2.0") compileOnly("software.amazon.awssdk:kinesis:2.2.0") + compileOnly("software.amazon.awssdk:lambda:2.2.0") compileOnly("software.amazon.awssdk:rds:2.2.0") compileOnly("software.amazon.awssdk:s3:2.2.0") compileOnly("software.amazon.awssdk:sqs:2.2.0") diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2LambdaTest.java b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2LambdaTest.java new file mode 100644 index 000000000000..64c8a48a6c77 --- /dev/null +++ b/instrumentation/aws-sdk/aws-sdk-2.2/testing/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AbstractAws2LambdaTest.java @@ -0,0 +1,78 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.awssdk.v2_2; + +import static org.assertj.core.api.Assertions.assertThat; + +import io.opentelemetry.api.trace.SpanKind; +import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; +import io.opentelemetry.testing.internal.armeria.common.HttpResponse; +import io.opentelemetry.testing.internal.armeria.common.HttpStatus; +import io.opentelemetry.testing.internal.armeria.common.MediaType; +import io.opentelemetry.testing.internal.armeria.testing.junit5.server.mock.MockWebServerExtension; +import java.nio.charset.StandardCharsets; +import java.util.Base64; +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; +import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.lambda.LambdaClient; +import software.amazon.awssdk.services.lambda.LambdaClientBuilder; +import software.amazon.awssdk.services.lambda.model.InvokeRequest; +import software.amazon.awssdk.services.lambda.model.InvokeResponse; + +public abstract class AbstractAws2LambdaTest { + + @RegisterExtension + private static final MockWebServerExtension server = new MockWebServerExtension(); + + private static final StaticCredentialsProvider CREDENTIALS_PROVIDER = + StaticCredentialsProvider.create( + AwsBasicCredentials.create("my-access-key", "my-secret-key")); + + protected abstract InstrumentationExtension getTesting(); + + protected abstract ClientOverrideConfiguration.Builder createOverrideConfigurationBuilder(); + + protected boolean canTestLambdaInvoke() { + return true; + } + + @Test + void testInvokeLambda() { + Assumptions.assumeTrue(canTestLambdaInvoke()); + + LambdaClientBuilder builder = LambdaClient.builder(); + builder + .overrideConfiguration(createOverrideConfigurationBuilder().build()) + .endpointOverride(server.httpUri()); + builder.region(Region.AP_NORTHEAST_1).credentialsProvider(CREDENTIALS_PROVIDER); + LambdaClient client = builder.build(); + + server.enqueue(HttpResponse.of(HttpStatus.OK, MediaType.PLAIN_TEXT_UTF_8, "ok")); + + InvokeRequest request = InvokeRequest.builder().functionName("test").build(); + InvokeResponse response = client.invoke(request); + assertThat(response.statusCode()).isEqualTo(200); + assertThat(response.payload().asUtf8String()).isEqualTo("ok"); + + String clientContextHeader = + server.takeRequest().request().headers().get("x-amz-client-context"); + assertThat(clientContextHeader).isNotEmpty(); + String clientContextJson = + new String(Base64.getDecoder().decode(clientContextHeader), StandardCharsets.UTF_8); + assertThat(clientContextJson).contains("traceparent"); + + getTesting() + .waitAndAssertTraces( + trace -> + trace.hasSpansSatisfyingExactly( + span -> span.hasName("Lambda.Invoke").hasKind(SpanKind.CLIENT).hasNoParent())); + } +} From 3291d9ffd89f978709083c82bc1a8b9598053df5 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 11:47:39 +0800 Subject: [PATCH 17/43] fix ci --- .../armeria/grpc/v1_14/ArmeriaGrpcTest.java | 17 ++- .../grpc/v1_6/TracingClientInterceptor.java | 12 +- .../grpc/v1_6/TracingServerInterceptor.java | 12 +- .../grpc/v1_6/AbstractGrpcStreamingTest.java | 5 +- .../grpc/v1_6/AbstractGrpcTest.java | 129 +++++++++--------- 5 files changed, 88 insertions(+), 87 deletions(-) diff --git a/instrumentation/armeria/armeria-grpc-1.14/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/armeria/grpc/v1_14/ArmeriaGrpcTest.java b/instrumentation/armeria/armeria-grpc-1.14/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/armeria/grpc/v1_14/ArmeriaGrpcTest.java index 2402365b9efa..437d5dd0a5a5 100644 --- a/instrumentation/armeria/armeria-grpc-1.14/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/armeria/grpc/v1_14/ArmeriaGrpcTest.java +++ b/instrumentation/armeria/armeria-grpc-1.14/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/armeria/grpc/v1_14/ArmeriaGrpcTest.java @@ -19,7 +19,6 @@ import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; import io.opentelemetry.semconv.ServerAttributes; -import io.opentelemetry.semconv.incubating.MessageIncubatingAttributes; import io.opentelemetry.semconv.incubating.RpcIncubatingAttributes; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; @@ -87,15 +86,15 @@ void grpcInstrumentation() { event .hasName("message") .hasAttributesSatisfyingExactly( - equalTo(MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName("example.Greeter/SayHello") .hasKind(SpanKind.SERVER) @@ -115,13 +114,13 @@ void grpcInstrumentation() { .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( - equalTo(MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))))); + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))))); } } diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java index 8790dad4c493..971e4381df5d 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingClientInterceptor.java @@ -27,8 +27,9 @@ final class TracingClientInterceptor implements ClientInterceptor { // copied from MessageIncubatingAttributes - private static final AttributeKey MESSAGE_ID = AttributeKey.longKey("message.id"); - private static final AttributeKey MESSAGE_TYPE = AttributeKey.stringKey("message.type"); + private static final AttributeKey RPC_MESSAGE_ID = AttributeKey.longKey("rpc.message.id"); + private static final AttributeKey RPC_MESSAGE_TYPE = + AttributeKey.stringKey("rpc.message.type"); // copied from MessageIncubatingAttributes.MessageTypeValues private static final String SENT = "SENT"; private static final String RECEIVED = "RECEIVED"; @@ -117,7 +118,8 @@ public void sendMessage(REQUEST message) { } Span span = Span.fromContext(context); Attributes attributes = - Attributes.of(MESSAGE_TYPE, SENT, MESSAGE_ID, MESSAGE_ID_UPDATER.incrementAndGet(this)); + Attributes.of( + RPC_MESSAGE_TYPE, SENT, RPC_MESSAGE_ID, MESSAGE_ID_UPDATER.incrementAndGet(this)); span.addEvent("message", attributes); } @@ -144,9 +146,9 @@ public void onMessage(RESPONSE message) { Span span = Span.fromContext(context); Attributes attributes = Attributes.of( - MESSAGE_TYPE, + RPC_MESSAGE_TYPE, RECEIVED, - MESSAGE_ID, + RPC_MESSAGE_ID, MESSAGE_ID_UPDATER.incrementAndGet(TracingClientCall.this)); span.addEvent("message", attributes); try (Scope ignored = context.makeCurrent()) { diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingServerInterceptor.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingServerInterceptor.java index 241f94188b4d..9efed6c2d367 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingServerInterceptor.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/TracingServerInterceptor.java @@ -26,8 +26,9 @@ final class TracingServerInterceptor implements ServerInterceptor { // copied from MessageIncubatingAttributes - private static final AttributeKey MESSAGE_ID = AttributeKey.longKey("message.id"); - private static final AttributeKey MESSAGE_TYPE = AttributeKey.stringKey("message.type"); + private static final AttributeKey RPC_MESSAGE_ID = AttributeKey.longKey("rpc.message.id"); + private static final AttributeKey RPC_MESSAGE_TYPE = + AttributeKey.stringKey("rpc.message.type"); // copied from MessageIncubatingAttributes.MessageTypeValues private static final String SENT = "SENT"; private static final String RECEIVED = "RECEIVED"; @@ -108,7 +109,8 @@ public void sendMessage(RESPONSE message) { } Span span = Span.fromContext(context); Attributes attributes = - Attributes.of(MESSAGE_TYPE, SENT, MESSAGE_ID, MESSAGE_ID_UPDATER.incrementAndGet(this)); + Attributes.of( + RPC_MESSAGE_TYPE, SENT, RPC_MESSAGE_ID, MESSAGE_ID_UPDATER.incrementAndGet(this)); span.addEvent("message", attributes); } @@ -138,9 +140,9 @@ final class TracingServerCallListener public void onMessage(REQUEST message) { Attributes attributes = Attributes.of( - MESSAGE_TYPE, + RPC_MESSAGE_TYPE, RECEIVED, - MESSAGE_ID, + RPC_MESSAGE_ID, MESSAGE_ID_UPDATER.incrementAndGet(TracingServerCall.this)); Span.fromContext(context).addEvent("message", attributes); delegate().onMessage(message); diff --git a/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcStreamingTest.java b/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcStreamingTest.java index 9153436ba922..18fc2b72197d 100644 --- a/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcStreamingTest.java +++ b/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcStreamingTest.java @@ -27,7 +27,6 @@ import io.opentelemetry.sdk.trace.data.EventData; import io.opentelemetry.semconv.NetworkAttributes; import io.opentelemetry.semconv.ServerAttributes; -import io.opentelemetry.semconv.incubating.MessageIncubatingAttributes; import io.opentelemetry.semconv.incubating.RpcIncubatingAttributes; import java.util.ArrayList; import java.util.List; @@ -165,13 +164,13 @@ public void onCompleted() { assertThat(attrs) .hasSize(2) .hasEntrySatisfying( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, val -> assertThat(val) .satisfiesAnyOf( v -> assertThat(v).isEqualTo("RECEIVED"), v -> assertThat(v).isEqualTo("SENT"))) - .containsEntry(MessageIncubatingAttributes.MESSAGE_ID, messageId))); + .containsEntry(RpcIncubatingAttributes.RPC_MESSAGE_ID, messageId))); } testing() diff --git a/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcTest.java b/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcTest.java index 0e41014eb4c3..9847083fa87e 100644 --- a/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcTest.java +++ b/instrumentation/grpc-1.6/testing/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/AbstractGrpcTest.java @@ -50,7 +50,6 @@ import io.opentelemetry.sdk.trace.data.StatusData; import io.opentelemetry.semconv.NetworkAttributes; import io.opentelemetry.semconv.ServerAttributes; -import io.opentelemetry.semconv.incubating.MessageIncubatingAttributes; import io.opentelemetry.semconv.incubating.RpcIncubatingAttributes; import java.util.ArrayList; import java.util.Arrays; @@ -150,16 +149,16 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName("example.Greeter/SayHello") .hasKind(SpanKind.SERVER) @@ -184,16 +183,16 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))))); + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))))); testing() .waitAndAssertMetrics( "io.opentelemetry.grpc-1.6", @@ -318,16 +317,16 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName("example.Greeter/SayHello") .hasKind(SpanKind.SERVER) @@ -352,16 +351,16 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName("child") .hasKind(SpanKind.INTERNAL) @@ -498,16 +497,16 @@ public void onCompleted() { .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName("example.Greeter/SayHello") .hasKind(SpanKind.SERVER) @@ -532,16 +531,16 @@ public void onCompleted() { .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName("child") .hasKind(SpanKind.INTERNAL) @@ -653,8 +652,8 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L))), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L))), span -> span.hasName("example.Greeter/SayHello") .hasKind(SpanKind.SERVER) @@ -681,8 +680,8 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)); + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)); if (status.getCause() == null) { assertThat(events).hasSize(1); } else { @@ -805,8 +804,8 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L))), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L))), span -> span.hasName("example.Greeter/SayHello") .hasKind(SpanKind.SERVER) @@ -833,8 +832,8 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)); + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)); span.hasException(status.asRuntimeException()); }))); testing() @@ -1053,16 +1052,16 @@ public void onCompleted() { .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName("example.Greeter/SayHello") .hasKind(SpanKind.SERVER) @@ -1087,16 +1086,16 @@ public void onCompleted() { .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))))); + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))))); } @Test @@ -1176,14 +1175,14 @@ public void onCompleted() { assertThat(events.get(0)) .hasName("message") .hasAttributesSatisfyingExactly( - equalTo(MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)); + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)); assertThat(events.get(1)) .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L)); + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L)); span.hasException(thrown); }), span -> @@ -1210,16 +1209,16 @@ public void onCompleted() { .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))))); + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))))); } @Test @@ -1298,16 +1297,16 @@ public void onCompleted() { .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName( "grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo") @@ -1335,16 +1334,16 @@ public void onCompleted() { .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))))); + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))))); } @Test @@ -1408,16 +1407,16 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))), span -> span.hasName("example.Greeter/SayHello") .hasKind(SpanKind.SERVER) @@ -1442,16 +1441,16 @@ public void sayHello( .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "RECEIVED"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 1L)), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 1L)), event -> event .hasName("message") .hasAttributesSatisfyingExactly( equalTo( - MessageIncubatingAttributes.MESSAGE_TYPE, "SENT"), - equalTo(MessageIncubatingAttributes.MESSAGE_ID, 2L))))); + RpcIncubatingAttributes.RPC_MESSAGE_TYPE, "SENT"), + equalTo(RpcIncubatingAttributes.RPC_MESSAGE_ID, 2L))))); } // Regression test for From 045794a26184fc0e78b5aec2266c771956d031a8 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 12:35:53 +0800 Subject: [PATCH 18/43] fix ci --- .../semconv/db/SqlClientAttributesExtractorTest.java | 4 ++-- .../cassandra/v3_0/CassandraSingletons.java | 2 +- .../javaagent/src/test/java/CassandraClientTest.java | 8 ++++---- .../cassandra/v4/common/AbstractCassandraTest.java | 6 +++--- .../cassandra/v4_0/CassandraSingletons.java | 2 +- .../cassandra/v4_4/CassandraTelemetryBuilder.java | 6 +++--- .../testing/cassandra/v4_4/AbstractCassandra44Test.java | 4 ++-- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java index 2e93c664b8ed..f4b5f102c377 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java @@ -118,7 +118,7 @@ void shouldExtractTableToSpecifiedKey() { AttributesExtractor, Void> underTest = SqlClientAttributesExtractor., Void>builder(new TestAttributesGetter()) - .setTableAttribute(DbIncubatingAttributes.DB_CASSANDRA_TABLE) + .setTableAttribute(DbIncubatingAttributes.DB_COLLECTION_NAME) .build(); // when @@ -130,7 +130,7 @@ void shouldExtractTableToSpecifiedKey() { .containsOnly( entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM table"), entry(DbIncubatingAttributes.DB_OPERATION_NAME, "SELECT"), - entry(DbIncubatingAttributes.DB_CASSANDRA_TABLE, "table")); + entry(DbIncubatingAttributes.DB_COLLECTION_NAME, "table")); } @Test diff --git a/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraSingletons.java b/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraSingletons.java index 841f48fdbc6e..f70a2f80bcbb 100644 --- a/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraSingletons.java +++ b/instrumentation/cassandra/cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0/CassandraSingletons.java @@ -32,7 +32,7 @@ public final class CassandraSingletons { DbClientSpanNameExtractor.create(attributesGetter)) .addAttributesExtractor( SqlClientAttributesExtractor.builder(attributesGetter) - .setTableAttribute(DbIncubatingAttributes.DB_CASSANDRA_TABLE) + .setTableAttribute(DbIncubatingAttributes.DB_COLLECTION_NAME) .setStatementSanitizationEnabled( AgentCommonConfig.get().isStatementSanitizationEnabled()) .build()) diff --git a/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java b/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java index 0cdcd25dddc3..acac200902ac 100644 --- a/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java +++ b/instrumentation/cassandra/cassandra-3.0/javaagent/src/test/java/CassandraClientTest.java @@ -122,7 +122,7 @@ void syncTest(Parameter parameter) { equalTo( DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo( - DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)))); + DbIncubatingAttributes.DB_COLLECTION_NAME, parameter.table)))); } else { testing.waitAndAssertTraces( trace -> @@ -144,7 +144,7 @@ void syncTest(Parameter parameter) { equalTo( DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), equalTo( - DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)))); + DbIncubatingAttributes.DB_COLLECTION_NAME, parameter.table)))); } session.close(); @@ -204,7 +204,7 @@ void asyncTest(Parameter parameter) { parameter.expectedStatement), equalTo( DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), - equalTo(DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, parameter.table)), span -> span.hasName("callbackListener") .hasKind(SpanKind.INTERNAL) @@ -230,7 +230,7 @@ void asyncTest(Parameter parameter) { parameter.expectedStatement), equalTo( DbIncubatingAttributes.DB_OPERATION_NAME, parameter.operation), - equalTo(DbIncubatingAttributes.DB_CASSANDRA_TABLE, parameter.table)), + equalTo(DbIncubatingAttributes.DB_COLLECTION_NAME, parameter.table)), span -> span.hasName("callbackListener") .hasKind(SpanKind.INTERNAL) diff --git a/instrumentation/cassandra/cassandra-4-common/testing/src/main/java/io/opentelemetry/cassandra/v4/common/AbstractCassandraTest.java b/instrumentation/cassandra/cassandra-4-common/testing/src/main/java/io/opentelemetry/cassandra/v4/common/AbstractCassandraTest.java index f924b150c8e7..a52b44dfff2e 100644 --- a/instrumentation/cassandra/cassandra-4-common/testing/src/main/java/io/opentelemetry/cassandra/v4/common/AbstractCassandraTest.java +++ b/instrumentation/cassandra/cassandra-4-common/testing/src/main/java/io/opentelemetry/cassandra/v4/common/AbstractCassandraTest.java @@ -16,7 +16,7 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_IDEMPOTENCE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_PAGE_SIZE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_TABLE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; @@ -126,7 +126,7 @@ void syncTest(Parameter parameter) { val -> val.isInstanceOf(Boolean.class)), equalTo(DB_CASSANDRA_PAGE_SIZE, 5000), equalTo(DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, 0), - equalTo(DB_CASSANDRA_TABLE, parameter.table)))); + equalTo(DB_COLLECTION_NAME, parameter.table)))); session.close(); } @@ -180,7 +180,7 @@ void asyncTest(Parameter parameter) throws Exception { val -> val.isInstanceOf(Boolean.class)), equalTo(DB_CASSANDRA_PAGE_SIZE, 5000), equalTo(DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, 0), - equalTo(DB_CASSANDRA_TABLE, parameter.table)), + equalTo(DB_COLLECTION_NAME, parameter.table)), span -> span.hasName("child") .hasKind(SpanKind.INTERNAL) diff --git a/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraSingletons.java b/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraSingletons.java index 4da5b599d0a6..a12b497c555e 100644 --- a/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraSingletons.java +++ b/instrumentation/cassandra/cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0/CassandraSingletons.java @@ -31,7 +31,7 @@ public final class CassandraSingletons { DbClientSpanNameExtractor.create(attributesGetter)) .addAttributesExtractor( SqlClientAttributesExtractor.builder(attributesGetter) - .setTableAttribute(DbIncubatingAttributes.DB_CASSANDRA_TABLE) + .setTableAttribute(DbIncubatingAttributes.DB_COLLECTION_NAME) .setStatementSanitizationEnabled( AgentCommonConfig.get().isStatementSanitizationEnabled()) .build()) diff --git a/instrumentation/cassandra/cassandra-4.4/library/src/main/java/io/opentelemetry/instrumentation/cassandra/v4_4/CassandraTelemetryBuilder.java b/instrumentation/cassandra/cassandra-4.4/library/src/main/java/io/opentelemetry/instrumentation/cassandra/v4_4/CassandraTelemetryBuilder.java index 6d39ac2d6f0a..3dd1b4be5c21 100644 --- a/instrumentation/cassandra/cassandra-4.4/library/src/main/java/io/opentelemetry/instrumentation/cassandra/v4_4/CassandraTelemetryBuilder.java +++ b/instrumentation/cassandra/cassandra-4.4/library/src/main/java/io/opentelemetry/instrumentation/cassandra/v4_4/CassandraTelemetryBuilder.java @@ -20,8 +20,8 @@ public class CassandraTelemetryBuilder { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.cassandra-4.4"; // copied from DbIncubatingAttributes - private static final AttributeKey DB_CASSANDRA_TABLE = - AttributeKey.stringKey("db.cassandra.table"); + private static final AttributeKey DB_COLLECTION_NAME = + AttributeKey.stringKey("db.collection.name"); private final OpenTelemetry openTelemetry; @@ -58,7 +58,7 @@ protected Instrumenter createInstrumenter( openTelemetry, INSTRUMENTATION_NAME, DbClientSpanNameExtractor.create(attributesGetter)) .addAttributesExtractor( SqlClientAttributesExtractor.builder(attributesGetter) - .setTableAttribute(DB_CASSANDRA_TABLE) + .setTableAttribute(DB_COLLECTION_NAME) .setStatementSanitizationEnabled(statementSanitizationEnabled) .build()) .addAttributesExtractor( diff --git a/instrumentation/cassandra/cassandra-4.4/testing/src/main/java/io/opentelemetry/testing/cassandra/v4_4/AbstractCassandra44Test.java b/instrumentation/cassandra/cassandra-4.4/testing/src/main/java/io/opentelemetry/testing/cassandra/v4_4/AbstractCassandra44Test.java index 9d99d800c3c0..ec3f5fc76363 100644 --- a/instrumentation/cassandra/cassandra-4.4/testing/src/main/java/io/opentelemetry/testing/cassandra/v4_4/AbstractCassandra44Test.java +++ b/instrumentation/cassandra/cassandra-4.4/testing/src/main/java/io/opentelemetry/testing/cassandra/v4_4/AbstractCassandra44Test.java @@ -16,7 +16,7 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_IDEMPOTENCE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_PAGE_SIZE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CASSANDRA_TABLE; +import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_COLLECTION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; @@ -83,7 +83,7 @@ void reactiveTest(Parameter parameter) { val -> val.isInstanceOf(Boolean.class)), equalTo(DB_CASSANDRA_PAGE_SIZE, 5000), equalTo(DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT, 0), - equalTo(DB_CASSANDRA_TABLE, parameter.table)), + equalTo(DB_COLLECTION_NAME, parameter.table)), span -> span.hasName("child") .hasKind(SpanKind.INTERNAL) From 46615bae3a659e9ee104d79568b96ff4641bc70e Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 12:54:41 +0800 Subject: [PATCH 19/43] fix ci --- .../lettuce/v4_0/LettuceConnectAttributesExtractor.java | 2 +- .../lettuce/v5_0/LettuceConnectAttributesExtractor.java | 2 +- .../vertx/v4_0/redis/VertxRedisClientAttributesExtractor.java | 4 +++- .../vertx/v4_0/redis/VertxRedisClientTest.java | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectAttributesExtractor.java b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectAttributesExtractor.java index 7609edbc402c..cc70d546d9fe 100644 --- a/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectAttributesExtractor.java +++ b/instrumentation/lettuce/lettuce-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v4_0/LettuceConnectAttributesExtractor.java @@ -20,7 +20,7 @@ public void onStart(AttributesBuilder attributes, Context parentContext, RedisUR int database = redisUri.getDatabase(); if (database != 0) { - attributes.put(DbIncubatingAttributes.DB_REDIS_DATABASE_INDEX, (long) database); + attributes.put(DbIncubatingAttributes.DB_NAMESPACE, String.valueOf(database)); } } diff --git a/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectAttributesExtractor.java b/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectAttributesExtractor.java index 142e7b15abb6..becb1f7cb528 100644 --- a/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectAttributesExtractor.java +++ b/instrumentation/lettuce/lettuce-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_0/LettuceConnectAttributesExtractor.java @@ -20,7 +20,7 @@ public void onStart(AttributesBuilder attributes, Context parentContext, RedisUR int database = redisUri.getDatabase(); if (database != 0) { - attributes.put(DbIncubatingAttributes.DB_REDIS_DATABASE_INDEX, (long) database); + attributes.put(DbIncubatingAttributes.DB_NAMESPACE, String.valueOf(database)); } } diff --git a/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientAttributesExtractor.java b/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientAttributesExtractor.java index 5203ed1e96b8..5dfd8f8091c4 100644 --- a/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientAttributesExtractor.java +++ b/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientAttributesExtractor.java @@ -21,7 +21,9 @@ enum VertxRedisClientAttributesExtractor public void onStart( AttributesBuilder attributes, Context parentContext, VertxRedisClientRequest request) { internalSet( - attributes, DbIncubatingAttributes.DB_REDIS_DATABASE_INDEX, request.getDatabaseIndex()); + attributes, + DbIncubatingAttributes.DB_NAMESPACE, + String.valueOf(request.getDatabaseIndex())); } @Override diff --git a/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientTest.java b/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientTest.java index 11795ec6e996..06544ad24f6e 100644 --- a/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientTest.java +++ b/instrumentation/vertx/vertx-redis-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/redis/VertxRedisClientTest.java @@ -204,7 +204,7 @@ private static AttributeAssertion[] redisSpanAttributes(String operation, String equalTo(DbIncubatingAttributes.DB_SYSTEM, "redis"), equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, statement), equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, operation), - equalTo(DbIncubatingAttributes.DB_REDIS_DATABASE_INDEX, 1), + equalTo(DbIncubatingAttributes.DB_NAMESPACE, "1"), equalTo(ServerAttributes.SERVER_ADDRESS, host), equalTo(ServerAttributes.SERVER_PORT, port), equalTo(NetworkAttributes.NETWORK_PEER_PORT, port), From de22d6054434b8929ef71e4e388d7270931030ab Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 13:42:53 +0800 Subject: [PATCH 20/43] fix ci --- .../semconv/db/DbClientCommonAttributesExtractor.java | 2 -- .../semconv/db/DbClientAttributesExtractorTest.java | 1 - .../semconv/db/SqlClientAttributesExtractorTest.java | 1 - .../hibernate/v3_3/AbstractHibernateTest.java | 2 -- .../instrumentation/hibernate/v4_0/CriteriaTest.java | 1 - .../instrumentation/hibernate/v4_0/EntityManagerTest.java | 5 ----- .../instrumentation/hibernate/v4_0/QueryTest.java | 3 --- .../hibernate/reactive/v2_0/HibernateReactiveTest.java | 2 -- .../jdbc/internal/DataSourceDbAttributesExtractor.java | 2 -- .../spring/data/v3_0/ReactiveSpringDataTest.java | 2 -- .../groovy/VertxReactivePropagationTest.groovy | 2 -- .../groovy/VertxReactivePropagationTest.groovy | 2 -- .../instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java | 7 ------- 13 files changed, 32 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java index fe932f5f0206..172b5cc05724 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java @@ -22,7 +22,6 @@ abstract class DbClientCommonAttributesExtractor< // copied from DbIncubatingAttributes private static final AttributeKey DB_NAMESPACE = AttributeKey.stringKey("db.name"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); - private static final AttributeKey DB_USER = AttributeKey.stringKey("db.user"); private static final AttributeKey DB_CONNECTION_STRING = AttributeKey.stringKey("db.connection_string"); @@ -35,7 +34,6 @@ abstract class DbClientCommonAttributesExtractor< @Override public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST request) { internalSet(attributes, DB_SYSTEM, getter.getSystem(request)); - internalSet(attributes, DB_USER, getter.getUser(request)); internalSet(attributes, DB_NAMESPACE, getter.getName(request)); internalSet(attributes, DB_CONNECTION_STRING, getter.getConnectionString(request)); } diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java index a331d578453c..2b94aa05ad98 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractorTest.java @@ -80,7 +80,6 @@ void shouldExtractAllAvailableAttributes() { assertThat(startAttributes.build()) .containsOnly( entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"), - entry(DbIncubatingAttributes.DB_USER, "username"), entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"), entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato"), diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java index f4b5f102c377..d6577084441c 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorTest.java @@ -76,7 +76,6 @@ void shouldExtractAllAttributes() { assertThat(startAttributes.build()) .containsOnly( entry(DbIncubatingAttributes.DB_SYSTEM, "myDb"), - entry(DbIncubatingAttributes.DB_USER, "username"), entry(DbIncubatingAttributes.DB_NAMESPACE, "potatoes"), entry(DbIncubatingAttributes.DB_CONNECTION_STRING, "mydb:///potatoes"), entry(DbIncubatingAttributes.DB_QUERY_TEXT, "SELECT * FROM potato WHERE id=?"), diff --git a/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java b/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java index ba797e26ecc2..a760083269ee 100644 --- a/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java +++ b/instrumentation/hibernate/hibernate-3.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/AbstractHibernateTest.java @@ -64,7 +64,6 @@ static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData parent) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( @@ -80,7 +79,6 @@ static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData parent, Str .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaTest.java index a65be18b41cf..432fc77198bc 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/CriteriaTest.java @@ -68,7 +68,6 @@ void testCriteria(String methodName, Consumer interaction) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/EntityManagerTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/EntityManagerTest.java index 8a95d2b37eaa..f4c37a81d1ff 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/EntityManagerTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/EntityManagerTest.java @@ -102,7 +102,6 @@ void testHibernateActions(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -133,7 +132,6 @@ void testHibernateActions(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -219,7 +217,6 @@ void testHibernatePersist() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -245,7 +242,6 @@ void testHibernatePersist() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -294,7 +290,6 @@ void testAttachesStateToQuery(Function queryBuildMethod) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryTest.java index f9f862d64458..c3e664bba1d0 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/QueryTest.java @@ -63,7 +63,6 @@ void testHibernateQueryExecuteUpdateWithTransaction() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -121,7 +120,6 @@ void testHibernateQuerySingleCall(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -195,7 +193,6 @@ void testHibernateQueryIterate() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, diff --git a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java index e007f9c6f0d9..1eae3d57be66 100644 --- a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java +++ b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java @@ -12,7 +12,6 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; @@ -297,7 +296,6 @@ private static void assertTrace() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo( DB_QUERY_TEXT, "select v1_0.id,v1_0.name from Value v1_0 where v1_0.id=$1"), diff --git a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java index f4f0ef922803..f369711a6aa0 100644 --- a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java +++ b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java @@ -21,7 +21,6 @@ enum DataSourceDbAttributesExtractor implements AttributesExtractor DB_NAMESPACE = AttributeKey.stringKey("db.name"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); - private static final AttributeKey DB_USER = AttributeKey.stringKey("db.user"); private static final AttributeKey DB_CONNECTION_STRING = AttributeKey.stringKey("db.connection_string"); @@ -40,7 +39,6 @@ public void onEnd( return; } internalSet(attributes, DB_SYSTEM, dbInfo.getSystem()); - internalSet(attributes, DB_USER, dbInfo.getUser()); internalSet(attributes, DB_NAMESPACE, getName(dbInfo)); internalSet(attributes, DB_CONNECTION_STRING, dbInfo.getShortUrl()); } diff --git a/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java b/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java index ca841c47788f..4ece3165d53f 100644 --- a/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java +++ b/instrumentation/spring/spring-data/spring-data-3.0/testing/src/reactiveTest/java/io/opentelemetry/javaagent/instrumentation/spring/data/v3_0/ReactiveSpringDataTest.java @@ -13,7 +13,6 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.trace.SpanKind; @@ -83,7 +82,6 @@ void testFindAll() { .hasAttributesSatisfyingExactly( equalTo(DB_SYSTEM, "h2"), equalTo(DB_NAMESPACE, "db"), - equalTo(DB_USER, "sa"), equalTo(DB_QUERY_TEXT, "SELECT CUSTOMER.* FROM CUSTOMER"), equalTo(DB_OPERATION_NAME, "SELECT"), equalTo(DB_COLLECTION_NAME, "CUSTOMER"), diff --git a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy index dc5916ef686e..2ff8b865fe1c 100644 --- a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy +++ b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/latestDepTest/groovy/VertxReactivePropagationTest.groovy @@ -100,7 +100,6 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT id, name, price, weight FROM products" "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -200,7 +199,6 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT id AS request$requestId, name, price, weight FROM products" "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" diff --git a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy index de19bf2dba89..9bc757268ff4 100644 --- a/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy +++ b/instrumentation/vertx/vertx-rx-java-3.5/javaagent/src/version35Test/groovy/VertxReactivePropagationTest.groovy @@ -100,7 +100,6 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT id, name, price, weight FROM products" "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -199,7 +198,6 @@ class VertxReactivePropagationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT id AS request$requestId, name, price, weight FROM products" "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" diff --git a/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java b/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java index 3477283380c1..89b27ce0aae0 100644 --- a/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java +++ b/instrumentation/vertx/vertx-sql-client-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/vertx/v4_0/sql/VertxSqlClientTest.java @@ -16,7 +16,6 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.testing.internal.AutoCleanupExtension; @@ -138,7 +137,6 @@ void testSimpleSelect() throws Exception { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo(DB_QUERY_TEXT, "select * from test"), equalTo(DB_OPERATION_NAME, "SELECT"), equalTo(DB_COLLECTION_NAME, "test"), @@ -194,7 +192,6 @@ void testInvalidQuery() throws Exception { val -> val.isInstanceOf(String.class)))) .hasAttributesSatisfyingExactly( equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo(DB_QUERY_TEXT, "invalid"), equalTo(SERVER_ADDRESS, host), equalTo(SERVER_PORT, port)), @@ -228,7 +225,6 @@ private static void assertPreparedSelect() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo(DB_QUERY_TEXT, "select * from test where id = $1"), equalTo(DB_OPERATION_NAME, "SELECT"), equalTo(DB_COLLECTION_NAME, "test"), @@ -258,7 +254,6 @@ void testBatch() throws Exception { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo(DB_QUERY_TEXT, "insert into test values ($1, $2) returning *"), equalTo(DB_OPERATION_NAME, "INSERT"), equalTo(DB_COLLECTION_NAME, "test"), @@ -344,7 +339,6 @@ void testManyQueries() throws Exception { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo(DB_QUERY_TEXT, "select * from test"), equalTo(DB_OPERATION_NAME, "SELECT"), equalTo(DB_COLLECTION_NAME, "test"), @@ -409,7 +403,6 @@ void testConcurrency() throws Exception { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo(DB_QUERY_TEXT, "select * from test where id = $1"), equalTo(DB_OPERATION_NAME, "SELECT"), equalTo(DB_COLLECTION_NAME, "test"), From 0bcee2e370c9850d88030e7534817ab1d140f267 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 14:32:13 +0800 Subject: [PATCH 21/43] fix ci --- .../incubator/semconv/messaging/MessagingMetricsAdvice.java | 6 +++--- .../semconv/messaging/MessagingProducerMetricsTest.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingMetricsAdvice.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingMetricsAdvice.java index 8ada61c1683f..1d93bfb87048 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingMetricsAdvice.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingMetricsAdvice.java @@ -25,8 +25,8 @@ final class MessagingMetricsAdvice { AttributeKey.stringKey("messaging.system"); private static final AttributeKey MESSAGING_DESTINATION_NAME = AttributeKey.stringKey("messaging.destination.name"); - private static final AttributeKey MESSAGING_OPERATION = - AttributeKey.stringKey("messaging.operation"); + private static final AttributeKey MESSAGING_OPERATION_TYPE = + AttributeKey.stringKey("messaging.operation.type"); private static final AttributeKey MESSAGING_BATCH_MESSAGE_COUNT = AttributeKey.longKey("messaging.batch.message_count"); @@ -39,7 +39,7 @@ static void applyPublishDurationAdvice(DoubleHistogramBuilder builder) { asList( MESSAGING_SYSTEM, MESSAGING_DESTINATION_NAME, - MESSAGING_OPERATION, + MESSAGING_OPERATION_TYPE, MESSAGING_BATCH_MESSAGE_COUNT, ErrorAttributes.ERROR_TYPE, ServerAttributes.SERVER_PORT, diff --git a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetricsTest.java b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetricsTest.java index 491387253ee9..7965d7ce49a0 100644 --- a/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetricsTest.java +++ b/instrumentation-api-incubator/src/test/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingProducerMetricsTest.java @@ -42,7 +42,7 @@ void collectsMetrics() { .put( MessagingIncubatingAttributes.MESSAGING_DESTINATION_NAME, "persistent://public/default/topic") - .put(MessagingIncubatingAttributes.MESSAGING_OPERATION, "publish") + .put(MessagingIncubatingAttributes.MESSAGING_OPERATION_TYPE, "publish") .put(ServerAttributes.SERVER_PORT, 6650) .put(ServerAttributes.SERVER_ADDRESS, "localhost") .build(); From d9006bed84b74a50507bc686ed798eeec04d203c Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 14:48:57 +0800 Subject: [PATCH 22/43] fix ci --- .../instrumentation/hibernate/v4_3/ProcedureCallTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/instrumentation/hibernate/hibernate-procedure-call-4.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallTest.java b/instrumentation/hibernate/hibernate-procedure-call-4.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallTest.java index eed5fb2fa5ba..21d8e2922c62 100644 --- a/instrumentation/hibernate/hibernate-procedure-call-4.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallTest.java +++ b/instrumentation/hibernate/hibernate-procedure-call-4.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/ProcedureCallTest.java @@ -116,7 +116,6 @@ void testProcedureCall() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "{call TEST_PROC()}"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "CALL")), From 7e74d2fe2d67a00bbc82ec542c49fb890feb2c2e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 10:50:02 +0300 Subject: [PATCH 23/43] fix(deps): update armeria packages to v1.29.2 (main) (patch) (#11785) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- smoke-tests/images/fake-backend/build.gradle.kts | 2 +- testing/armeria-shaded-for-testing/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/smoke-tests/images/fake-backend/build.gradle.kts b/smoke-tests/images/fake-backend/build.gradle.kts index e9f778b5f45f..6b5e965d8cd3 100644 --- a/smoke-tests/images/fake-backend/build.gradle.kts +++ b/smoke-tests/images/fake-backend/build.gradle.kts @@ -12,7 +12,7 @@ plugins { } dependencies { - implementation("com.linecorp.armeria:armeria-grpc:1.29.1") + implementation("com.linecorp.armeria:armeria-grpc:1.29.2") implementation("io.opentelemetry.proto:opentelemetry-proto") runtimeOnly("org.slf4j:slf4j-simple") } diff --git a/testing/armeria-shaded-for-testing/build.gradle.kts b/testing/armeria-shaded-for-testing/build.gradle.kts index 9b157fdde048..832490f4d7de 100644 --- a/testing/armeria-shaded-for-testing/build.gradle.kts +++ b/testing/armeria-shaded-for-testing/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } dependencies { - implementation("com.linecorp.armeria:armeria-junit5:1.29.1") + implementation("com.linecorp.armeria:armeria-junit5:1.29.2") } tasks { From bb2346ae15658a9a71619592b612206ad9ce383f Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 16:20:12 +0800 Subject: [PATCH 24/43] fix ci --- .../hibernate/reactive/v1_0/HibernateReactiveTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java index 409c9c32d9ab..8011bd140606 100644 --- a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java +++ b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java @@ -12,7 +12,6 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_NAMESPACE; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanKind; @@ -305,7 +304,6 @@ private static void assertTrace() { .hasParent(trace.getSpan(0)) .hasAttributesSatisfyingExactly( equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo( DB_QUERY_TEXT, "select value0_.id as id1_0_0_, value0_.name as name2_0_0_ from Value value0_ where value0_.id=$1"), From ac2b7e9c7d0e801b8bc18c2754e944ef55076044 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 17:49:10 +0800 Subject: [PATCH 25/43] fix ci --- .../semconv/db/DbClientCommonAttributesExtractor.java | 2 +- .../semconv/db/SqlClientAttributesExtractorBuilder.java | 2 +- .../semconv/messaging/MessagingAttributesExtractor.java | 2 +- .../awssdk/v2_2/TracingExecutionInterceptor.java | 2 +- .../jdbc/internal/DataSourceDbAttributesExtractor.java | 2 +- .../instrumentation/lettuce/v5_1/OpenTelemetryTracing.java | 2 +- .../mongo/v3_1/MongoAttributesExtractor.java | 6 +++--- .../mongo/testing/AbstractMongoClientTest.groovy | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java index 172b5cc05724..9ea3ec9ef6aa 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientCommonAttributesExtractor.java @@ -20,7 +20,7 @@ abstract class DbClientCommonAttributesExtractor< implements AttributesExtractor, SpanKeyProvider { // copied from DbIncubatingAttributes - private static final AttributeKey DB_NAMESPACE = AttributeKey.stringKey("db.name"); + private static final AttributeKey DB_NAMESPACE = AttributeKey.stringKey("db.namespace"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); private static final AttributeKey DB_CONNECTION_STRING = AttributeKey.stringKey("db.connection_string"); diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java index 8c386498fd0c..1a4e392ee144 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractorBuilder.java @@ -16,7 +16,7 @@ public final class SqlClientAttributesExtractorBuilder { // copied from DbIncubatingAttributes private static final AttributeKey DB_COLLECTION_NAME = - AttributeKey.stringKey("db.sql.table"); + AttributeKey.stringKey("db.collection.name"); final SqlClientAttributesGetter getter; AttributeKey dbTableAttribute = DB_COLLECTION_NAME; diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java index e8f022aacad1..57ae153a6e76 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/messaging/MessagingAttributesExtractor.java @@ -32,7 +32,7 @@ public final class MessagingAttributesExtractor private static final AttributeKey MESSAGING_BATCH_MESSAGE_COUNT = AttributeKey.longKey("messaging.batch.message_count"); private static final AttributeKey MESSAGING_CLIENT_ID = - AttributeKey.stringKey("messaging.client_id"); + AttributeKey.stringKey("messaging.client.id"); private static final AttributeKey MESSAGING_DESTINATION_ANONYMOUS = AttributeKey.booleanKey("messaging.destination.anonymous"); private static final AttributeKey MESSAGING_DESTINATION_NAME = diff --git a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java index 88a3f7e52852..7fb9c5cbec29 100644 --- a/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java +++ b/instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/TracingExecutionInterceptor.java @@ -45,7 +45,7 @@ final class TracingExecutionInterceptor implements ExecutionInterceptor { // copied from DbIncubatingAttributes private static final AttributeKey DB_OPERATION_NAME = - AttributeKey.stringKey("db.operation"); + AttributeKey.stringKey("db.operation.name"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); // copied from DbIncubatingAttributes.DbSystemValues private static final String DB_SYSTEM_DYNAMODB = "dynamodb"; diff --git a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java index f369711a6aa0..00e5307a6a7e 100644 --- a/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java +++ b/instrumentation/jdbc/library/src/main/java/io/opentelemetry/instrumentation/jdbc/internal/DataSourceDbAttributesExtractor.java @@ -19,7 +19,7 @@ enum DataSourceDbAttributesExtractor implements AttributesExtractor DB_NAMESPACE = AttributeKey.stringKey("db.name"); + private static final AttributeKey DB_NAMESPACE = AttributeKey.stringKey("db.namespace"); private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); private static final AttributeKey DB_CONNECTION_STRING = AttributeKey.stringKey("db.connection_string"); diff --git a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java index 9c6a948a9fdc..d2d1f704771b 100644 --- a/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java +++ b/instrumentation/lettuce/lettuce-5.1/library/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/OpenTelemetryTracing.java @@ -40,7 +40,7 @@ final class OpenTelemetryTracing implements Tracing { // copied from DbIncubatingAttributes private static final AttributeKey DB_SYSTEM = AttributeKey.stringKey("db.system"); - private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.statement"); + private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); // copied from DbIncubatingAttributes.DbSystemValues private static final String REDIS = "redis"; diff --git a/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoAttributesExtractor.java b/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoAttributesExtractor.java index 6890025d5c8a..dadd705965e9 100644 --- a/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoAttributesExtractor.java +++ b/instrumentation/mongo/mongo-3.1/library/src/main/java/io/opentelemetry/instrumentation/mongo/v3_1/MongoAttributesExtractor.java @@ -19,15 +19,15 @@ class MongoAttributesExtractor implements AttributesExtractor { // copied from DbIncubatingAttributes - private static final AttributeKey DB_MONGODB_COLLECTION = - AttributeKey.stringKey("db.mongodb.collection"); + private static final AttributeKey DB_COLLECTION_NAME = + AttributeKey.stringKey("db.collection.name"); @Override public void onStart( AttributesBuilder attributes, Context parentContext, CommandStartedEvent event) { String collectionName = collectionName(event); if (collectionName != null) { - attributes.put(DB_MONGODB_COLLECTION, collectionName); + attributes.put(DB_COLLECTION_NAME, collectionName); } } diff --git a/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy b/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy index 9e54ca506461..3e87fcf0d237 100644 --- a/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy +++ b/instrumentation/mongo/mongo-common/testing/src/main/groovy/io/opentelemetry/instrumentation/mongo/testing/AbstractMongoClientTest.groovy @@ -425,7 +425,7 @@ abstract class AbstractMongoClientTest extends InstrumentationSpecification { "$DbIncubatingAttributes.DB_CONNECTION_STRING" "mongodb://localhost:" + port "$DbIncubatingAttributes.DB_NAMESPACE" dbName "$DbIncubatingAttributes.DB_OPERATION_NAME" operation - "$DbIncubatingAttributes.DB_MONGODB_COLLECTION" collection + "$DbIncubatingAttributes.DB_COLLECTION_NAME" collection } } } From 596cbe355a874b44e3a86ab557479701aab2bc22 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Wed, 10 Jul 2024 20:28:58 +0800 Subject: [PATCH 26/43] fix ci --- .../hibernate/v4_0/SessionTest.java | 9 ------- .../test/java/spring/jpa/SpringJpaTest.java | 11 --------- .../hibernate/v6_0/CriteriaTest.java | 1 - .../hibernate/v6_0/EntityManagerTest.java | 3 --- .../hibernate/v6_0/ProcedureCallTest.java | 1 - .../hibernate/v6_0/SessionTest.java | 3 --- .../src/test/groovy/SpringJpaTest.groovy | 10 -------- .../groovy/JdbcInstrumentationTest.groovy | 24 ------------------- .../scalaexecutors/SlickTest.scala | 1 - .../internal/OpenTelemetryConnectionTest.java | 1 - .../v1_0/AbstractR2dbcStatementTest.java | 2 -- .../src/main/java/AbstractSpringJpaTest.java | 11 --------- 12 files changed, 77 deletions(-) diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionTest.java index 0edb6321287b..1741cfba2b98 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionTest.java @@ -66,7 +66,6 @@ void testHibernateAction(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -177,7 +176,6 @@ void testHibernateActionStateless(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -324,7 +322,6 @@ void testHibernateReplicate(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -350,7 +347,6 @@ void testHibernateReplicate(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -484,7 +480,6 @@ void testHibernateCommitAction(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -663,7 +658,6 @@ void testAttachesStateToQueryCreated(Consumer queryBuilder) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -764,7 +758,6 @@ void testHibernateOverlappingSessions() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -808,7 +801,6 @@ void testHibernateOverlappingSessions() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -822,7 +814,6 @@ void testHibernateOverlappingSessions() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/spring/jpa/SpringJpaTest.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/spring/jpa/SpringJpaTest.java index 9592eb01a9e0..936de283e01a 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/spring/jpa/SpringJpaTest.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/test/java/spring/jpa/SpringJpaTest.java @@ -68,7 +68,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -123,7 +122,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -166,7 +164,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo( DbIncubatingAttributes.DB_QUERY_TEXT, "call next value for hibernate_sequence"), @@ -190,7 +187,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -237,7 +233,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -265,7 +260,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), equalTo( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -303,7 +297,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -341,7 +334,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -373,7 +365,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), equalTo( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -406,7 +397,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -446,7 +436,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), equalTo( DbIncubatingAttributes.DB_QUERY_TEXT, diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/CriteriaTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/CriteriaTest.java index 188c05ab4d5f..08352bac8314 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/CriteriaTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/CriteriaTest.java @@ -78,7 +78,6 @@ void testCriteriaQuery(Consumer> interaction) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java index e03714749120..89cba8a9e5b4 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java @@ -140,7 +140,6 @@ void testAttachesStateToQuery(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -295,7 +294,6 @@ private static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData par .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( @@ -312,7 +310,6 @@ private static SpanDataAssert assertClientSpan( .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/ProcedureCallTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/ProcedureCallTest.java index 31b6c35f7423..4ef547bcd01c 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/ProcedureCallTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/ProcedureCallTest.java @@ -104,7 +104,6 @@ void testProcedureCall() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, "{call TEST_PROC()}"), equalTo(DbIncubatingAttributes.DB_OPERATION_NAME, "CALL")), diff --git a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java index 22185d4c4996..cb1763eb2ea8 100644 --- a/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java +++ b/instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/SessionTest.java @@ -245,7 +245,6 @@ void testAttachesStateToQuery(Parameter parameter) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -810,7 +809,6 @@ private static SpanDataAssert assertClientSpan(SpanDataAssert span, SpanData par .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies(DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.isInstanceOf(String.class)), satisfies( @@ -827,7 +825,6 @@ private static SpanDataAssert assertClientSpan( .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "h2"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "db1"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, diff --git a/instrumentation/hibernate/hibernate-6.0/spring-testing/src/test/groovy/SpringJpaTest.groovy b/instrumentation/hibernate/hibernate-6.0/spring-testing/src/test/groovy/SpringJpaTest.groovy index d6f95b604794..a0afda30c7ab 100644 --- a/instrumentation/hibernate/hibernate-6.0/spring-testing/src/test/groovy/SpringJpaTest.groovy +++ b/instrumentation/hibernate/hibernate-6.0/spring-testing/src/test/groovy/SpringJpaTest.groovy @@ -63,7 +63,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName(.*)from Customer(.*)/ "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -119,7 +118,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_QUERY_TEXT" "call next value for Customer_SEQ" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_OPERATION_NAME" "CALL" @@ -140,7 +138,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/insert into Customer \(.*\) values \(.*\)/ "$DbIncubatingAttributes.DB_OPERATION_NAME" "INSERT" @@ -155,7 +152,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/insert into Customer \(.*\) values \(.*\)/ "$DbIncubatingAttributes.DB_OPERATION_NAME" "INSERT" @@ -210,7 +206,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -231,7 +226,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/update Customer set firstName=\?,(.*)lastName=\? where id=\?/ "$DbIncubatingAttributes.DB_OPERATION_NAME" "UPDATE" @@ -274,7 +268,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)(where ([^.]+)\.lastName( ?)=( ?)\?|)/ "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -318,7 +311,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -343,7 +335,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" ~/select ([^.]+)\.id([^,]*),([^.]+)\.firstName([^,]*),([^.]+)\.lastName (.*)from Customer (.*)where ([^.]+)\.id( ?)=( ?)\?/ "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -373,7 +364,6 @@ class SpringJpaTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" "test" - "$DbIncubatingAttributes.DB_USER" "sa" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" "delete from Customer where id=?" "$DbIncubatingAttributes.DB_OPERATION_NAME" "DELETE" diff --git a/instrumentation/jdbc/javaagent/src/test/groovy/JdbcInstrumentationTest.groovy b/instrumentation/jdbc/javaagent/src/test/groovy/JdbcInstrumentationTest.groovy index 413d8962de33..23e6b208a2a5 100644 --- a/instrumentation/jdbc/javaagent/src/test/groovy/JdbcInstrumentationTest.groovy +++ b/instrumentation/jdbc/javaagent/src/test/groovy/JdbcInstrumentationTest.groovy @@ -192,9 +192,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower - if (username != null) { - "$DbIncubatingAttributes.DB_USER" username - } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -252,9 +249,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower - if (username != null) { - "$DbIncubatingAttributes.DB_USER" username - } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -304,9 +298,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower - if (username != null) { - "$DbIncubatingAttributes.DB_USER" username - } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -356,9 +347,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_NAMESPACE" dbName.toLowerCase() - if (username != null) { - "$DbIncubatingAttributes.DB_USER" username - } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -408,9 +396,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower - if (username != null) { - "$DbIncubatingAttributes.DB_USER" username - } "$DbIncubatingAttributes.DB_QUERY_TEXT" query "$DbIncubatingAttributes.DB_CONNECTION_STRING" url "$DbIncubatingAttributes.DB_OPERATION_NAME" "CREATE TABLE" @@ -463,9 +448,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_NAMESPACE" dbName.toLowerCase() - if (username != null) { - "$DbIncubatingAttributes.DB_USER" username - } "$DbIncubatingAttributes.DB_QUERY_TEXT" query "$DbIncubatingAttributes.DB_CONNECTION_STRING" url "$DbIncubatingAttributes.DB_OPERATION_NAME" "CREATE TABLE" @@ -530,9 +512,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" system "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower - if (username != null) { - "$DbIncubatingAttributes.DB_USER" username - } "$DbIncubatingAttributes.DB_CONNECTION_STRING" url "$DbIncubatingAttributes.DB_QUERY_TEXT" sanitizedQuery "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" @@ -588,7 +567,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { "$CodeIncubatingAttributes.CODE_NAMESPACE" datasource.class.name "$CodeIncubatingAttributes.CODE_FUNCTION" "getConnection" "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_USER" { user == null | user == it } "$DbIncubatingAttributes.DB_NAMESPACE" "jdbcunittest" "$DbIncubatingAttributes.DB_CONNECTION_STRING" connectionString } @@ -602,7 +580,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { "$CodeIncubatingAttributes.CODE_NAMESPACE" datasource.class.name "$CodeIncubatingAttributes.CODE_FUNCTION" "getConnection" "$DbIncubatingAttributes.DB_SYSTEM" system - "$DbIncubatingAttributes.DB_USER" { user == null | user == it } "$DbIncubatingAttributes.DB_NAMESPACE" "jdbcunittest" "$DbIncubatingAttributes.DB_CONNECTION_STRING" connectionString } @@ -751,7 +728,6 @@ class JdbcInstrumentationTest extends AgentInstrumentationSpecification { attributes { "$DbIncubatingAttributes.DB_SYSTEM" "hsqldb" "$DbIncubatingAttributes.DB_NAMESPACE" dbNameLower - "$DbIncubatingAttributes.DB_USER" "SA" "$DbIncubatingAttributes.DB_CONNECTION_STRING" "hsqldb:mem:" "$DbIncubatingAttributes.DB_QUERY_TEXT" "SELECT ? FROM INFORMATION_SCHEMA.SYSTEM_USERS" "$DbIncubatingAttributes.DB_OPERATION_NAME" "SELECT" diff --git a/instrumentation/jdbc/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/scalaexecutors/SlickTest.scala b/instrumentation/jdbc/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/scalaexecutors/SlickTest.scala index d3f2c737ff53..f0c943838dad 100644 --- a/instrumentation/jdbc/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/scalaexecutors/SlickTest.scala +++ b/instrumentation/jdbc/javaagent/src/test/scala/io/opentelemetry/javaagent/instrumentation/scalaexecutors/SlickTest.scala @@ -84,7 +84,6 @@ class SlickTest { DbSystemValues.H2 ), equalTo(DbIncubatingAttributes.DB_NAMESPACE, Db), - equalTo(DbIncubatingAttributes.DB_USER, Username), equalTo( DbIncubatingAttributes.DB_CONNECTION_STRING, "h2:mem:" diff --git a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/OpenTelemetryConnectionTest.java b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/OpenTelemetryConnectionTest.java index 7d5930cb03e7..cc54a867856c 100644 --- a/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/OpenTelemetryConnectionTest.java +++ b/instrumentation/jdbc/library/src/test/java/io/opentelemetry/instrumentation/jdbc/internal/OpenTelemetryConnectionTest.java @@ -189,7 +189,6 @@ private static void jdbcTraceAssertion(DbInfo dbInfo, String query) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, dbInfo.getSystem()), equalTo(DbIncubatingAttributes.DB_NAMESPACE, dbInfo.getName()), - equalTo(DbIncubatingAttributes.DB_USER, dbInfo.getUser()), equalTo( DbIncubatingAttributes.DB_CONNECTION_STRING, dbInfo.getShortUrl()), equalTo(DbIncubatingAttributes.DB_QUERY_TEXT, query), diff --git a/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java b/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java index 885b23580555..6af3290b979c 100644 --- a/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java +++ b/instrumentation/r2dbc-1.0/testing/src/main/java/io/opentelemetry/instrumentation/r2dbc/v1_0/AbstractR2dbcStatementTest.java @@ -14,7 +14,6 @@ import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_OPERATION_NAME; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_QUERY_TEXT; import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM; -import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER; import static io.r2dbc.spi.ConnectionFactoryOptions.DATABASE; import static io.r2dbc.spi.ConnectionFactoryOptions.DRIVER; import static io.r2dbc.spi.ConnectionFactoryOptions.HOST; @@ -171,7 +170,6 @@ void testQueries(Parameter parameter) { parameter.system + "://localhost:" + port), equalTo(DB_SYSTEM, parameter.system), equalTo(DB_NAMESPACE, DB), - equalTo(DB_USER, USER_DB), equalTo(DB_QUERY_TEXT, parameter.expectedStatement), equalTo(DB_OPERATION_NAME, parameter.operation), equalTo(DB_COLLECTION_NAME, parameter.table), diff --git a/instrumentation/spring/spring-data/spring-data-common/testing/src/main/java/AbstractSpringJpaTest.java b/instrumentation/spring/spring-data/spring-data-common/testing/src/main/java/AbstractSpringJpaTest.java index bd3a64c644df..b9ddf9756ce3 100644 --- a/instrumentation/spring/spring-data/spring-data-common/testing/src/main/java/AbstractSpringJpaTest.java +++ b/instrumentation/spring/spring-data/spring-data-common/testing/src/main/java/AbstractSpringJpaTest.java @@ -82,7 +82,6 @@ static void assertHibernate4Trace(TraceAssert trace, String repoClassName) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("insert ")), @@ -105,7 +104,6 @@ static void assertHibernateTrace(TraceAssert trace, String repoClassName) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -118,7 +116,6 @@ static void assertHibernateTrace(TraceAssert trace, String repoClassName) { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, val -> val.startsWith("insert ")), @@ -154,7 +151,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -192,7 +188,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -206,7 +201,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -232,7 +226,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -258,7 +251,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -272,7 +264,6 @@ void testCrud() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -307,7 +298,6 @@ void testCustomRepositoryMethod() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, @@ -354,7 +344,6 @@ void testFailedRepositoryMethod() { .hasAttributesSatisfyingExactly( equalTo(DbIncubatingAttributes.DB_SYSTEM, "hsqldb"), equalTo(DbIncubatingAttributes.DB_NAMESPACE, "test"), - equalTo(DbIncubatingAttributes.DB_USER, "sa"), equalTo(DbIncubatingAttributes.DB_CONNECTION_STRING, "hsqldb:mem:"), satisfies( DbIncubatingAttributes.DB_QUERY_TEXT, From 6ec0f1f95d9ff97354da0486a388f1a3ca84091d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 15:32:15 +0300 Subject: [PATCH 27/43] fix(deps): update dependency io.quarkus:quarkus-bom to v3.12.2 (main) (#11787) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- smoke-tests/images/quarkus/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smoke-tests/images/quarkus/build.gradle.kts b/smoke-tests/images/quarkus/build.gradle.kts index 06983310e86b..94ede4cac9b5 100644 --- a/smoke-tests/images/quarkus/build.gradle.kts +++ b/smoke-tests/images/quarkus/build.gradle.kts @@ -16,7 +16,7 @@ plugins { } dependencies { - implementation(enforcedPlatform("io.quarkus:quarkus-bom:3.12.1")) + implementation(enforcedPlatform("io.quarkus:quarkus-bom:3.12.2")) implementation("io.quarkus:quarkus-resteasy") } From fa72a652bc51074668ae7632a7e3c1fa339326b3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 17:07:12 +0300 Subject: [PATCH 28/43] chore(deps): update plugin io.quarkus to v3.12.2 (main) (#11789) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- smoke-tests/images/quarkus/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smoke-tests/images/quarkus/build.gradle.kts b/smoke-tests/images/quarkus/build.gradle.kts index 94ede4cac9b5..b61074f9de95 100644 --- a/smoke-tests/images/quarkus/build.gradle.kts +++ b/smoke-tests/images/quarkus/build.gradle.kts @@ -12,7 +12,7 @@ plugins { id("otel.java-conventions") id("com.google.cloud.tools.jib") - id("io.quarkus") version "3.12.1" + id("io.quarkus") version "3.12.2" } dependencies { From 948a58e5910527de5f0a7bbc217bf08438252636 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 10 Jul 2024 17:26:02 +0200 Subject: [PATCH 29/43] Spring autoconf deps (#11784) --- .../spring/spring-boot-autoconfigure-3/build.gradle.kts | 2 +- .../META-INF/additional-spring-configuration-metadata.json | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts b/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts index 17e54b614de3..538de846c7e1 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts +++ b/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts @@ -13,7 +13,7 @@ otelJava { dependencies { val springBootVersion = "3.2.4" library("org.springframework.boot:spring-boot-starter-web:$springBootVersion") - compileOnly(project(":instrumentation:spring:spring-boot-autoconfigure")) + implementation(project(":instrumentation:spring:spring-boot-autoconfigure")) implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") implementation(project(":instrumentation:spring:spring-web:spring-web-3.1:library")) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 1bd1e0c59f07..19f162d812d0 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -279,6 +279,12 @@ "description": "Enables the DB statement sanitization.", "defaultValue": true }, + { + "name": "otel.instrumentation.common.default-enabled", + "type": "java.lang.Boolean", + "description": "Enables all instrumentations. Set to false to disable all instrumentations and then enable specific modules individually, e.g. otel.instrumentation.jdbc.enabled=true.", + "defaultValue": true + }, { "name": "otel.instrumentation.common.peer-service-mapping", "type": "java.util.Map", From e36fc46fd5654be2431f202067df288042697635 Mon Sep 17 00:00:00 2001 From: Jean Bisutti Date: Wed, 10 Jul 2024 17:26:52 +0200 Subject: [PATCH 30/43] GraalVM native support for the OpenTelemetry annotations (#11757) Co-authored-by: Trask Stalnaker --- .../OpenTelemetryAnnotationsRuntimeHints.java | 24 +++++++++++++++++++ .../resources/META-INF/spring/aot.factories | 2 ++ .../spring-boot-2/build.gradle.kts | 1 + .../spring-boot-3.2/build.gradle.kts | 1 + .../smoketest/OtelSpringStarterSmokeTest.java | 3 ++- .../spring-boot-3/build.gradle.kts | 1 + .../spring-boot-common/build.gradle.kts | 1 + .../AbstractOtelSpringStarterSmokeTest.java | 7 +++--- .../OtelSpringStarterSmokeTestController.java | 6 ++++- .../spring/smoketest/SpringComponent.java | 18 ++++++++++++++ .../AbstractSpringStarterSmokeTest.java | 7 ++++++ 11 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java create mode 100644 instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories create mode 100644 smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/SpringComponent.java diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java new file mode 100644 index 000000000000..ae01b6efa4ac --- /dev/null +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java @@ -0,0 +1,24 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; + +import org.springframework.aot.hint.MemberCategory; +import org.springframework.aot.hint.RuntimeHints; +import org.springframework.aot.hint.RuntimeHintsRegistrar; +import org.springframework.aot.hint.TypeReference; + +class OpenTelemetryAnnotationsRuntimeHints implements RuntimeHintsRegistrar { + + @Override + public void registerHints(RuntimeHints hints, ClassLoader classLoader) { + hints + .reflection() + .registerType( + TypeReference.of( + "io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations.InstrumentationWithSpanAspect"), + hint -> hint.withMembers(MemberCategory.INVOKE_PUBLIC_METHODS)); + } +} diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 000000000000..a1905a126f02 --- /dev/null +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1,2 @@ +org.springframework.aot.hint.RuntimeHintsRegistrar=\ +io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations.OpenTelemetryAnnotationsRuntimeHints diff --git a/smoke-tests-otel-starter/spring-boot-2/build.gradle.kts b/smoke-tests-otel-starter/spring-boot-2/build.gradle.kts index 7483b76355d2..9fe628dd698b 100644 --- a/smoke-tests-otel-starter/spring-boot-2/build.gradle.kts +++ b/smoke-tests-otel-starter/spring-boot-2/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { implementation("org.apache.commons:commons-dbcp2") implementation("org.springframework.kafka:spring-kafka") implementation("org.springframework.boot:spring-boot-starter-data-mongodb") + implementation("org.springframework.boot:spring-boot-starter-aop") implementation(platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)) implementation(project(":smoke-tests-otel-starter:spring-boot-common")) diff --git a/smoke-tests-otel-starter/spring-boot-3.2/build.gradle.kts b/smoke-tests-otel-starter/spring-boot-3.2/build.gradle.kts index 502de91d64af..8b125966863b 100644 --- a/smoke-tests-otel-starter/spring-boot-3.2/build.gradle.kts +++ b/smoke-tests-otel-starter/spring-boot-3.2/build.gradle.kts @@ -17,6 +17,7 @@ dependencies { implementation("org.apache.commons:commons-dbcp2") implementation("org.springframework.kafka:spring-kafka") implementation("org.springframework.boot:spring-boot-starter-data-mongodb") + implementation("org.springframework.boot:spring-boot-starter-aop") implementation(platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)) implementation(project(":smoke-tests-otel-starter:spring-boot-common")) diff --git a/smoke-tests-otel-starter/spring-boot-3.2/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-3.2/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java index cfb46104aadd..84e97bdf84d5 100644 --- a/smoke-tests-otel-starter/spring-boot-3.2/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-3.2/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java @@ -52,6 +52,7 @@ void restClient() { private static void assertClient(TraceAssert traceAssert) { traceAssert.hasSpansSatisfyingExactly( span -> AbstractOtelSpringStarterSmokeTest.assertClientSpan(span, "/ping"), - span -> span.hasKind(SpanKind.SERVER).hasAttribute(HttpAttributes.HTTP_ROUTE, "/ping")); + span -> span.hasKind(SpanKind.SERVER).hasAttribute(HttpAttributes.HTTP_ROUTE, "/ping"), + span -> withSpanAssert(span)); } } diff --git a/smoke-tests-otel-starter/spring-boot-3/build.gradle.kts b/smoke-tests-otel-starter/spring-boot-3/build.gradle.kts index a9e7e556e4f8..78e01e6685e1 100644 --- a/smoke-tests-otel-starter/spring-boot-3/build.gradle.kts +++ b/smoke-tests-otel-starter/spring-boot-3/build.gradle.kts @@ -17,6 +17,7 @@ dependencies { implementation("org.apache.commons:commons-dbcp2") implementation("org.springframework.kafka:spring-kafka") implementation("org.springframework.boot:spring-boot-starter-data-mongodb") + implementation("org.springframework.boot:spring-boot-starter-aop") implementation(platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)) implementation(project(":smoke-tests-otel-starter:spring-boot-common")) diff --git a/smoke-tests-otel-starter/spring-boot-common/build.gradle.kts b/smoke-tests-otel-starter/spring-boot-common/build.gradle.kts index e32d7771828e..1e4df320a25f 100644 --- a/smoke-tests-otel-starter/spring-boot-common/build.gradle.kts +++ b/smoke-tests-otel-starter/spring-boot-common/build.gradle.kts @@ -19,6 +19,7 @@ dependencies { compileOnly("org.testcontainers:junit-jupiter") compileOnly("org.testcontainers:kafka") compileOnly("org.testcontainers:mongodb") + compileOnly("org.springframework.boot:spring-boot-starter-aop") api(project(":smoke-tests-otel-starter:spring-smoke-testing")) diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java index ec9af70ca329..e3c48ca0d25c 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java @@ -175,7 +175,8 @@ void shouldSendTelemetry() { equalTo(ClientAttributes.CLIENT_ADDRESS, "127.0.0.1"), satisfies( ServerAttributes.SERVER_PORT, - integerAssert -> integerAssert.isNotZero())))); + integerAssert -> integerAssert.isNotZero())), + span -> withSpanAssert(span))); // Metric testing.waitAndAssertMetrics( @@ -236,8 +237,8 @@ void restTemplate() { traceAssert.hasSpansSatisfyingExactly( span -> assertClientSpan(span, "/ping"), span -> - span.hasKind(SpanKind.SERVER) - .hasAttribute(HttpAttributes.HTTP_ROUTE, "/ping"))); + span.hasKind(SpanKind.SERVER).hasAttribute(HttpAttributes.HTTP_ROUTE, "/ping"), + span -> withSpanAssert(span))); } public static void assertClientSpan(SpanDataAssert span, String path) { diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTestController.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTestController.java index 891666797bf6..7d02c29d5fc1 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTestController.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTestController.java @@ -20,15 +20,19 @@ public class OtelSpringStarterSmokeTestController { public static final String TEST_HISTOGRAM = "histogram-test-otel-spring-starter"; public static final String METER_SCOPE_NAME = "scope"; private final LongHistogram histogram; + private final SpringComponent component; - public OtelSpringStarterSmokeTestController(OpenTelemetry openTelemetry) { + public OtelSpringStarterSmokeTestController( + OpenTelemetry openTelemetry, SpringComponent springComponent) { Meter meter = openTelemetry.getMeter(METER_SCOPE_NAME); histogram = meter.histogramBuilder(TEST_HISTOGRAM).ofLongs().build(); + this.component = springComponent; } @GetMapping(PING) public String ping() { histogram.record(10); + component.withSpanMethod("from-controller"); return "pong"; } } diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/SpringComponent.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/SpringComponent.java new file mode 100644 index 000000000000..072b39393b01 --- /dev/null +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/SpringComponent.java @@ -0,0 +1,18 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.spring.smoketest; + +import io.opentelemetry.instrumentation.annotations.SpanAttribute; +import io.opentelemetry.instrumentation.annotations.WithSpan; +import org.springframework.stereotype.Component; + +@Component +public class SpringComponent { + + @SuppressWarnings("MethodCanBeStatic") + @WithSpan + public void withSpanMethod(@SpanAttribute String paramName) {} +} diff --git a/smoke-tests-otel-starter/spring-smoke-testing/src/main/java/io/opentelemetry/spring/smoketest/AbstractSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-smoke-testing/src/main/java/io/opentelemetry/spring/smoketest/AbstractSpringStarterSmokeTest.java index d762c78de4d4..7ca5cab29615 100644 --- a/smoke-tests-otel-starter/spring-smoke-testing/src/main/java/io/opentelemetry/spring/smoketest/AbstractSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-smoke-testing/src/main/java/io/opentelemetry/spring/smoketest/AbstractSpringStarterSmokeTest.java @@ -8,6 +8,8 @@ import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.sdk.testing.assertj.SpanDataAssert; import java.util.Arrays; import java.util.List; import org.junit.jupiter.api.AfterEach; @@ -61,4 +63,9 @@ void checkSpringLogs(CapturedOutput output) { } }); } + + static SpanDataAssert withSpanAssert(SpanDataAssert span) { + return span.hasName("SpringComponent.withSpanMethod") + .hasAttribute(AttributeKey.stringKey("paramName"), "from-controller"); + } } From 9bbfe7fe4e3f65cb698d6d2320ac87372d5d572f Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 10 Jul 2024 19:32:17 +0200 Subject: [PATCH 31/43] Use config properties for spring starter (http server) (#11667) Co-authored-by: Lauri Tulmin Co-authored-by: Trask Stalnaker --- .../DefaultHttpServerInstrumenterBuilder.java | 219 ++++++++++++++++++ .../web/RestClientBeanPostProcessor.java | 2 +- .../jdbc/DataSourcePostProcessor.java | 2 +- ...lientInstrumentationAutoConfiguration.java | 2 +- .../R2dbcInstrumentingPostProcessor.java | 2 +- .../web/RestTemplateInstrumentation.java | 2 +- ...bfluxInstrumentationAutoConfiguration.java | 12 +- .../webflux/WebClientBeanPostProcessor.java | 22 +- ...bMvc5InstrumentationAutoConfiguration.java | 12 +- ...bMvc6InstrumentationAutoConfiguration.java | 12 +- .../internal/InstrumentationConfigUtil.java | 21 -- .../properties/InstrumentationConfigUtil.java | 40 +++- ...itional-spring-configuration-metadata.json | 16 ++ ...xInstrumentationAutoConfigurationTest.java | 6 + .../WebClientBeanPostProcessorTest.java | 25 +- ...Instrumentation5AutoConfigurationTest.java | 6 + ...Instrumentation6AutoConfigurationTest.java | 6 + .../webflux/v5_0/client/WebClientHelper.java | 23 +- .../v5_3/SpringWebfluxTelemetryBuilder.java | 136 ++++------- .../internal/ClientInstrumenterFactory.java | 80 ------- .../internal/SpringWebfluxBuilderUtil.java | 64 +++++ .../v5_3/SpringWebMvcTelemetryBuilder.java | 79 ++----- .../v5_3/internal/SpringMvcBuilderUtil.java | 41 ++++ .../v6_0/SpringWebMvcTelemetryBuilder.java | 78 ++----- .../v6_0/internal/SpringMvcBuilderUtil.java | 41 ++++ .../smoketest/OtelSpringStarterSmokeTest.java | 2 +- .../AbstractOtelSpringStarterSmokeTest.java | 18 +- .../src/main/resources/application.yaml | 2 + ...actOtelReactiveSpringStarterSmokeTest.java | 15 +- .../src/main/resources/application.yaml | 5 + .../spring/smoketest/HttpSpanDataAssert.java | 62 +++++ 31 files changed, 671 insertions(+), 382 deletions(-) create mode 100644 instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java delete mode 100644 instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/InstrumentationConfigUtil.java delete mode 100644 instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/ClientInstrumenterFactory.java create mode 100644 instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/SpringWebfluxBuilderUtil.java create mode 100644 instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/internal/SpringMvcBuilderUtil.java create mode 100644 instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/internal/SpringMvcBuilderUtil.java create mode 100644 smoke-tests-otel-starter/spring-smoke-testing/src/main/java/io/opentelemetry/spring/smoketest/HttpSpanDataAssert.java diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java new file mode 100644 index 000000000000..b229a7126e48 --- /dev/null +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java @@ -0,0 +1,219 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.api.incubator.builder.internal; + +import com.google.errorprone.annotations.CanIgnoreReturnValue; +import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.context.propagation.TextMapGetter; +import io.opentelemetry.instrumentation.api.incubator.config.internal.CommonConfig; +import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpExperimentalAttributesExtractor; +import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpServerExperimentalMetrics; +import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; +import io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor; +import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder; +import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesGetter; +import io.opentelemetry.instrumentation.api.semconv.http.HttpServerMetrics; +import io.opentelemetry.instrumentation.api.semconv.http.HttpServerRoute; +import io.opentelemetry.instrumentation.api.semconv.http.HttpServerRouteBuilder; +import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractor; +import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder; +import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanStatusExtractor; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Supplier; +import javax.annotation.Nullable; + +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ +public final class DefaultHttpServerInstrumenterBuilder { + + private final String instrumentationName; + private final OpenTelemetry openTelemetry; + + private final List> additionalExtractors = + new ArrayList<>(); + private Function< + SpanStatusExtractor, + ? extends SpanStatusExtractor> + statusExtractorTransformer = Function.identity(); + private final HttpServerAttributesExtractorBuilder + httpAttributesExtractorBuilder; + private final HttpSpanNameExtractorBuilder httpSpanNameExtractorBuilder; + + @Nullable private TextMapGetter headerGetter; + private Function, ? extends SpanNameExtractor> + spanNameExtractorTransformer = Function.identity(); + private final HttpServerRouteBuilder httpServerRouteBuilder; + private final HttpServerAttributesGetter attributesGetter; + private boolean emitExperimentalHttpServerMetrics = false; + + public DefaultHttpServerInstrumenterBuilder( + String instrumentationName, + OpenTelemetry openTelemetry, + HttpServerAttributesGetter attributesGetter) { + this.instrumentationName = instrumentationName; + this.openTelemetry = openTelemetry; + httpAttributesExtractorBuilder = HttpServerAttributesExtractor.builder(attributesGetter); + httpSpanNameExtractorBuilder = HttpSpanNameExtractor.builder(attributesGetter); + httpServerRouteBuilder = HttpServerRoute.builder(attributesGetter); + this.attributesGetter = attributesGetter; + } + + /** + * Adds an additional {@link AttributesExtractor} to invoke to set attributes to instrumented + * items. + */ + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder addAttributesExtractor( + AttributesExtractor attributesExtractor) { + additionalExtractors.add(attributesExtractor); + return this; + } + + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder setStatusExtractor( + Function< + SpanStatusExtractor, + ? extends SpanStatusExtractor> + statusExtractor) { + this.statusExtractorTransformer = statusExtractor; + return this; + } + + /** + * Configures the HTTP request headers that will be captured as span attributes. + * + * @param requestHeaders A list of HTTP header names. + */ + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder setCapturedRequestHeaders( + List requestHeaders) { + httpAttributesExtractorBuilder.setCapturedRequestHeaders(requestHeaders); + return this; + } + + /** + * Configures the HTTP response headers that will be captured as span attributes. + * + * @param responseHeaders A list of HTTP header names. + */ + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder setCapturedResponseHeaders( + List responseHeaders) { + httpAttributesExtractorBuilder.setCapturedResponseHeaders(responseHeaders); + return this; + } + + /** + * Configures the instrumentation to recognize an alternative set of HTTP request methods. + * + *

    By default, this instrumentation defines "known" methods as the ones listed in RFC9110 and the PATCH + * method defined in RFC5789. + * + *

    Note: calling this method overrides the default known method sets completely; it does + * not supplement it. + * + * @param knownMethods A set of recognized HTTP request methods. + * @see HttpServerAttributesExtractorBuilder#setKnownMethods(Set) + */ + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder setKnownMethods( + Set knownMethods) { + httpAttributesExtractorBuilder.setKnownMethods(knownMethods); + httpSpanNameExtractorBuilder.setKnownMethods(knownMethods); + httpServerRouteBuilder.setKnownMethods(knownMethods); + return this; + } + + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder setHeaderGetter( + @Nullable TextMapGetter headerGetter) { + this.headerGetter = headerGetter; + return this; + } + + /** + * Configures the instrumentation to emit experimental HTTP server metrics. + * + * @param emitExperimentalHttpServerMetrics {@code true} if the experimental HTTP server metrics + * are to be emitted. + */ + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder + setEmitExperimentalHttpServerMetrics(boolean emitExperimentalHttpServerMetrics) { + this.emitExperimentalHttpServerMetrics = emitExperimentalHttpServerMetrics; + return this; + } + + /** Sets custom {@link SpanNameExtractor} via transform function. */ + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder setSpanNameExtractor( + Function, ? extends SpanNameExtractor> + spanNameExtractorTransformer) { + this.spanNameExtractorTransformer = spanNameExtractorTransformer; + return this; + } + + public Instrumenter build() { + InstrumenterBuilder builder = builder(); + + if (headerGetter != null) { + return builder.buildServerInstrumenter(headerGetter); + } + return builder.buildInstrumenter(SpanKindExtractor.alwaysServer()); + } + + private InstrumenterBuilder builder() { + SpanNameExtractor spanNameExtractor = + spanNameExtractorTransformer.apply(httpSpanNameExtractorBuilder.build()); + + InstrumenterBuilder builder = + Instrumenter.builder( + openTelemetry, instrumentationName, spanNameExtractor) + .setSpanStatusExtractor( + statusExtractorTransformer.apply(HttpSpanStatusExtractor.create(attributesGetter))) + .addAttributesExtractor(httpAttributesExtractorBuilder.build()) + .addAttributesExtractors(additionalExtractors) + .addContextCustomizer(httpServerRouteBuilder.build()) + .addOperationMetrics(HttpServerMetrics.get()); + if (emitExperimentalHttpServerMetrics) { + builder + .addAttributesExtractor(HttpExperimentalAttributesExtractor.create(attributesGetter)) + .addOperationMetrics(HttpServerExperimentalMetrics.get()); + } + + return builder; + } + + @CanIgnoreReturnValue + public DefaultHttpServerInstrumenterBuilder configure(CommonConfig config) { + set(config::getKnownHttpRequestMethods, this::setKnownMethods); + set(config::getServerRequestHeaders, this::setCapturedRequestHeaders); + set(config::getServerResponseHeaders, this::setCapturedResponseHeaders); + set( + config::shouldEmitExperimentalHttpServerTelemetry, + this::setEmitExperimentalHttpServerMetrics); + return this; + } + + private static void set(Supplier supplier, Consumer consumer) { + T t = supplier.get(); + if (t != null) { + consumer.accept(t); + } + } +} diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientBeanPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientBeanPostProcessor.java index 469fdfadd741..afc7df6824b6 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientBeanPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientBeanPostProcessor.java @@ -56,7 +56,7 @@ private static RestClient addRestClientInterceptorIfNotPresent( static ClientHttpRequestInterceptor getInterceptor( OpenTelemetry openTelemetry, ConfigProperties config) { - return InstrumentationConfigUtil.configureBuilder( + return InstrumentationConfigUtil.configureClientBuilder( config, SpringWebTelemetry.builder(openTelemetry), WebTelemetryUtil.getBuilderExtractor()) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/DataSourcePostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/DataSourcePostProcessor.java index d733caa22b43..f0884f171e1f 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/DataSourcePostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/DataSourcePostProcessor.java @@ -8,7 +8,7 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.jdbc.datasource.JdbcTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import javax.sql.DataSource; import org.springframework.aop.scope.ScopedProxyUtils; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java index 0eee74e37965..7885c2088aea 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java @@ -9,7 +9,7 @@ import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.mongo.v3_1.MongoTelemetry; import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java index d3bddb3d8055..95ad7aad333c 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java @@ -7,7 +7,7 @@ import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.r2dbc.v1_0.R2dbcTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.r2dbc.spi.ConnectionFactory; import io.r2dbc.spi.ConnectionFactoryOptions; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateInstrumentation.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateInstrumentation.java index deb84cfcc23b..6cd79283afae 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateInstrumentation.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateInstrumentation.java @@ -24,7 +24,7 @@ static RestTemplate addIfNotPresent( RestTemplate restTemplate, OpenTelemetry openTelemetry, ConfigProperties config) { ClientHttpRequestInterceptor instrumentationInterceptor = - InstrumentationConfigUtil.configureBuilder( + InstrumentationConfigUtil.configureClientBuilder( config, SpringWebTelemetry.builder(openTelemetry), WebTelemetryUtil.getBuilderExtractor()) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java index cfd5f5eb5ed7..7a0cc4f29d91 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java @@ -7,7 +7,7 @@ import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; -import io.opentelemetry.instrumentation.spring.webflux.v5_3.SpringWebfluxTelemetry; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; @@ -30,14 +30,14 @@ public SpringWebfluxInstrumentationAutoConfiguration() {} // static to avoid "is not eligible for getting processed by all BeanPostProcessors" warning @Bean static WebClientBeanPostProcessor otelWebClientBeanPostProcessor( - ObjectProvider openTelemetryProvider) { - return new WebClientBeanPostProcessor(openTelemetryProvider); + ObjectProvider openTelemetryProvider, + ObjectProvider configPropertiesProvider) { + return new WebClientBeanPostProcessor(openTelemetryProvider, configPropertiesProvider); } @Bean - WebFilter telemetryFilter(OpenTelemetry openTelemetry) { - return SpringWebfluxTelemetry.builder(openTelemetry) - .build() + WebFilter telemetryFilter(OpenTelemetry openTelemetry, ConfigProperties config) { + return WebClientBeanPostProcessor.getWebfluxTelemetry(openTelemetry, config) .createWebFilterAndRegisterReactorHook(); } } diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessor.java index 1ee2c56c1da0..d4a995da8297 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessor.java @@ -6,7 +6,10 @@ package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux; import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.instrumentation.spring.webflux.v5_3.SpringWebfluxTelemetry; +import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.SpringWebfluxBuilderUtil; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.web.reactive.function.client.WebClient; @@ -19,9 +22,23 @@ final class WebClientBeanPostProcessor implements BeanPostProcessor { private final ObjectProvider openTelemetryProvider; + private final ObjectProvider configPropertiesProvider; - WebClientBeanPostProcessor(ObjectProvider openTelemetryProvider) { + WebClientBeanPostProcessor( + ObjectProvider openTelemetryProvider, + ObjectProvider configPropertiesProvider) { this.openTelemetryProvider = openTelemetryProvider; + this.configPropertiesProvider = configPropertiesProvider; + } + + static SpringWebfluxTelemetry getWebfluxTelemetry( + OpenTelemetry openTelemetry, ConfigProperties config) { + return InstrumentationConfigUtil.configureClientAndServerBuilder( + config, + SpringWebfluxTelemetry.builder(openTelemetry), + SpringWebfluxBuilderUtil.getClientBuilderExtractor(), + SpringWebfluxBuilderUtil.getServerBuilderExtractor()) + .build(); } @Override @@ -38,7 +55,8 @@ public Object postProcessAfterInitialization(Object bean, String beanName) { private WebClient.Builder wrapBuilder(WebClient.Builder webClientBuilder) { SpringWebfluxTelemetry instrumentation = - SpringWebfluxTelemetry.create(openTelemetryProvider.getObject()); + getWebfluxTelemetry( + openTelemetryProvider.getObject(), configPropertiesProvider.getObject()); return webClientBuilder.filters(instrumentation::addClientTracingFilter); } } diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java index a57d2ab79df5..ccd077a42d09 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java @@ -7,7 +7,10 @@ import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.instrumentation.spring.webmvc.v5_3.SpringWebMvcTelemetry; +import io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal.SpringMvcBuilderUtil; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import javax.servlet.Filter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; @@ -22,7 +25,12 @@ public class SpringWebMvc5InstrumentationAutoConfiguration { @Bean - Filter otelWebMvcFilter(OpenTelemetry openTelemetry) { - return SpringWebMvcTelemetry.create(openTelemetry).createServletFilter(); + Filter otelWebMvcFilter(OpenTelemetry openTelemetry, ConfigProperties config) { + return InstrumentationConfigUtil.configureServerBuilder( + config, + SpringWebMvcTelemetry.builder(openTelemetry), + SpringMvcBuilderUtil.getBuilderExtractor()) + .build() + .createServletFilter(); } } diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java index ca68d0e90d19..18dd08df56ef 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java @@ -7,7 +7,10 @@ import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.instrumentation.spring.webmvc.v6_0.SpringWebMvcTelemetry; +import io.opentelemetry.instrumentation.spring.webmvc.v6_0.internal.SpringMvcBuilderUtil; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import jakarta.servlet.Filter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; @@ -22,7 +25,12 @@ public class SpringWebMvc6InstrumentationAutoConfiguration { @Bean - Filter otelWebMvcFilter(OpenTelemetry openTelemetry) { - return SpringWebMvcTelemetry.create(openTelemetry).createServletFilter(); + Filter otelWebMvcFilter(OpenTelemetry openTelemetry, ConfigProperties config) { + return InstrumentationConfigUtil.configureServerBuilder( + config, + SpringWebMvcTelemetry.builder(openTelemetry), + SpringMvcBuilderUtil.getBuilderExtractor()) + .build() + .createServletFilter(); } } diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/InstrumentationConfigUtil.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/InstrumentationConfigUtil.java deleted file mode 100644 index 0fec424a5e85..000000000000 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/InstrumentationConfigUtil.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.instrumentation.spring.autoconfigure.internal; - -import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; - -/** - * This class is internal and is hence not for public use. Its APIs are unstable and can change at - * any time. - */ -public class InstrumentationConfigUtil { - private InstrumentationConfigUtil() {} - - public static boolean isStatementSanitizationEnabled(ConfigProperties config, String key) { - return config.getBoolean( - key, config.getBoolean("otel.instrumentation.common.db-statement-sanitizer.enabled", true)); - } -} diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/InstrumentationConfigUtil.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/InstrumentationConfigUtil.java index 692f7296b375..747cf33dcb09 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/InstrumentationConfigUtil.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/InstrumentationConfigUtil.java @@ -7,6 +7,7 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder; +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder; import io.opentelemetry.instrumentation.api.incubator.config.internal.CommonConfig; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import java.util.function.Function; @@ -15,15 +16,48 @@ * This class is internal and is hence not for public use. Its APIs are unstable and can change at * any time. */ -public class InstrumentationConfigUtil { +public final class InstrumentationConfigUtil { private InstrumentationConfigUtil() {} @CanIgnoreReturnValue - public static T configureBuilder( + public static + T configureClientAndServerBuilder( + ConfigProperties config, + T builder, + Function> + getClientBuilder, + Function> + getServerBuilder) { + CommonConfig commonConfig = getConfig(config); + getClientBuilder.apply(builder).configure(commonConfig); + getServerBuilder.apply(builder).configure(commonConfig); + return builder; + } + + @CanIgnoreReturnValue + public static T configureClientBuilder( ConfigProperties config, T builder, Function> getBuilder) { - getBuilder.apply(builder).configure(new CommonConfig(new ConfigPropertiesBridge(config))); + getBuilder.apply(builder).configure(getConfig(config)); + return builder; + } + + @CanIgnoreReturnValue + public static T configureServerBuilder( + ConfigProperties config, + T builder, + Function> getBuilder) { + getBuilder.apply(builder).configure(getConfig(config)); return builder; } + + private static CommonConfig getConfig(ConfigProperties config) { + return new CommonConfig(new ConfigPropertiesBridge(config)); + } + + public static boolean isStatementSanitizationEnabled(ConfigProperties config, String key) { + return config.getBoolean( + key, config.getBoolean("otel.instrumentation.common.db-statement-sanitizer.enabled", true)); + } } diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 19f162d812d0..3b309aae4739 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -312,6 +312,22 @@ "description": "Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as _OTHER.", "defaultValue": "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE" }, + { + "name": "otel.instrumentation.http.server.capture-request-headers", + "type": "java.util.List", + "description": "List of HTTP request headers to capture in HTTP servers." + }, + { + "name": "otel.instrumentation.http.server.capture-response-headers", + "type": "java.util.List", + "description": "List of HTTP response headers to capture in HTTP servers." + }, + { + "name": "otel.instrumentation.http.server.emit-experimental-telemetry", + "type": "java.lang.Boolean", + "description": "Enable the capture of experimental HTTP server telemetry. Add the http.request.body.size and http.response.body.size attributes to spans, and record the http.server.request.body.size and http.server.response.body.size metrics.", + "defaultValue": false + }, { "name": "otel.instrumentation.jdbc.enabled", "type": "java.lang.Boolean", diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java index aeecebf37807..ba1bca851cf7 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java @@ -8,6 +8,9 @@ import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; +import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; +import java.util.Collections; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -17,6 +20,9 @@ class SpringWebfluxInstrumentationAutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withBean(OpenTelemetry.class, OpenTelemetry::noop) + .withBean( + ConfigProperties.class, + () -> DefaultConfigProperties.createFromMap(Collections.emptyMap())) .withConfiguration( AutoConfigurations.of(SpringWebfluxInstrumentationAutoConfiguration.class)); diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessorTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessorTest.java index 55abca473a01..7289ea828950 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessorTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessorTest.java @@ -8,6 +8,9 @@ import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; +import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; +import java.util.Collections; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.config.BeanPostProcessor; @@ -20,6 +23,8 @@ class WebClientBeanPostProcessorTest { static { beanFactory.registerSingleton("openTelemetry", OpenTelemetry.noop()); + beanFactory.registerSingleton( + "configProperties", DefaultConfigProperties.createFromMap(Collections.emptyMap())); } @Test @@ -27,7 +32,9 @@ class WebClientBeanPostProcessorTest { "when processed bean is NOT of type WebClient or WebClientBuilder should return Object") void returnsObject() { BeanPostProcessor underTest = - new WebClientBeanPostProcessor(beanFactory.getBeanProvider(OpenTelemetry.class)); + new WebClientBeanPostProcessor( + beanFactory.getBeanProvider(OpenTelemetry.class), + beanFactory.getBeanProvider(ConfigProperties.class)); assertThat(underTest.postProcessAfterInitialization(new Object(), "testObject")) .isExactlyInstanceOf(Object.class); @@ -37,7 +44,9 @@ void returnsObject() { @DisplayName("when processed bean is of type WebClient should return WebClient") void returnsWebClient() { BeanPostProcessor underTest = - new WebClientBeanPostProcessor(beanFactory.getBeanProvider(OpenTelemetry.class)); + new WebClientBeanPostProcessor( + beanFactory.getBeanProvider(OpenTelemetry.class), + beanFactory.getBeanProvider(ConfigProperties.class)); assertThat(underTest.postProcessAfterInitialization(WebClient.create(), "testWebClient")) .isInstanceOf(WebClient.class); @@ -47,7 +56,9 @@ void returnsWebClient() { @DisplayName("when processed bean is of type WebClientBuilder should return WebClientBuilder") void returnsWebClientBuilder() { BeanPostProcessor underTest = - new WebClientBeanPostProcessor(beanFactory.getBeanProvider(OpenTelemetry.class)); + new WebClientBeanPostProcessor( + beanFactory.getBeanProvider(OpenTelemetry.class), + beanFactory.getBeanProvider(ConfigProperties.class)); assertThat( underTest.postProcessAfterInitialization(WebClient.builder(), "testWebClientBuilder")) @@ -58,7 +69,9 @@ void returnsWebClientBuilder() { @DisplayName("when processed bean is of type WebClient should add exchange filter to WebClient") void addsExchangeFilterWebClient() { BeanPostProcessor underTest = - new WebClientBeanPostProcessor(beanFactory.getBeanProvider(OpenTelemetry.class)); + new WebClientBeanPostProcessor( + beanFactory.getBeanProvider(OpenTelemetry.class), + beanFactory.getBeanProvider(ConfigProperties.class)); WebClient webClient = WebClient.create(); Object processedWebClient = @@ -81,7 +94,9 @@ void addsExchangeFilterWebClient() { "when processed bean is of type WebClientBuilder should add ONE exchange filter to WebClientBuilder") void addsExchangeFilterWebClientBuilder() { BeanPostProcessor underTest = - new WebClientBeanPostProcessor(beanFactory.getBeanProvider(OpenTelemetry.class)); + new WebClientBeanPostProcessor( + beanFactory.getBeanProvider(OpenTelemetry.class), + beanFactory.getBeanProvider(ConfigProperties.class)); WebClient.Builder webClientBuilder = WebClient.builder(); underTest.postProcessAfterInitialization(webClientBuilder, "testWebClientBuilder"); diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java index fffc164eabfd..fd3144b46e5b 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java @@ -9,6 +9,9 @@ import static org.junit.jupiter.api.Assumptions.assumeFalse; import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; +import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; +import java.util.Collections; import javax.servlet.Filter; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -20,6 +23,9 @@ class SpringWebMvcInstrumentation5AutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withBean(OpenTelemetry.class, OpenTelemetry::noop) + .withBean( + ConfigProperties.class, + () -> DefaultConfigProperties.createFromMap(Collections.emptyMap())) .withConfiguration( AutoConfigurations.of(SpringWebMvc5InstrumentationAutoConfiguration.class)); diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java index 4b37d5819b10..d84df1a203ef 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java @@ -9,7 +9,10 @@ import static org.junit.jupiter.api.Assumptions.assumeTrue; import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; +import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; import jakarta.servlet.Filter; +import java.util.Collections; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; @@ -20,6 +23,9 @@ class SpringWebMvcInstrumentation6AutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withBean(OpenTelemetry.class, OpenTelemetry::noop) + .withBean( + ConfigProperties.class, + () -> DefaultConfigProperties.createFromMap(Collections.emptyMap())) .withConfiguration( AutoConfigurations.of(SpringWebMvc6InstrumentationAutoConfiguration.class)); diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/v5_0/client/WebClientHelper.java b/instrumentation/spring/spring-webflux/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/v5_0/client/WebClientHelper.java index b13e8a67a2e8..99ee1a3f9273 100644 --- a/instrumentation/spring/spring-webflux/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/v5_0/client/WebClientHelper.java +++ b/instrumentation/spring/spring-webflux/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/v5_0/client/WebClientHelper.java @@ -5,17 +5,12 @@ package io.opentelemetry.javaagent.instrumentation.spring.webflux.v5_0.client; -import static java.util.Collections.singletonList; - import io.opentelemetry.api.GlobalOpenTelemetry; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpClientPeerServiceAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.ClientInstrumenterFactory; import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.WebClientHttpAttributesGetter; import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.WebClientTracingFilter; -import io.opentelemetry.javaagent.bootstrap.internal.AgentCommonConfig; +import io.opentelemetry.javaagent.bootstrap.internal.JavaagentHttpClientInstrumenters; import java.util.List; -import java.util.function.Function; import org.springframework.web.reactive.function.client.ClientRequest; import org.springframework.web.reactive.function.client.ClientResponse; import org.springframework.web.reactive.function.client.ExchangeFilterFunction; @@ -23,20 +18,8 @@ public final class WebClientHelper { private static final Instrumenter instrumenter = - ClientInstrumenterFactory.create( - GlobalOpenTelemetry.get(), - builder -> - builder - .setCapturedRequestHeaders(AgentCommonConfig.get().getClientRequestHeaders()) - .setCapturedResponseHeaders(AgentCommonConfig.get().getClientResponseHeaders()) - .setKnownMethods(AgentCommonConfig.get().getKnownHttpRequestMethods()), - builder -> builder.setKnownMethods(AgentCommonConfig.get().getKnownHttpRequestMethods()), - Function.identity(), - singletonList( - HttpClientPeerServiceAttributesExtractor.create( - WebClientHttpAttributesGetter.INSTANCE, - AgentCommonConfig.get().getPeerServiceResolver())), - AgentCommonConfig.get().shouldEmitExperimentalHttpClientTelemetry()); + JavaagentHttpClientInstrumenters.create( + "io.opentelemetry.spring-webflux-5.0", WebClientHttpAttributesGetter.INSTANCE); public static void addFilter(List exchangeFilterFunctions) { for (ExchangeFilterFunction filterFunction : exchangeFilterFunctions) { diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxTelemetryBuilder.java b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxTelemetryBuilder.java index a24930d01695..e8387880cd32 100644 --- a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxTelemetryBuilder.java +++ b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/SpringWebfluxTelemetryBuilder.java @@ -7,26 +7,16 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpExperimentalAttributesExtractor; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpServerExperimentalMetrics; +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder; +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractor; import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerMetrics; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerRoute; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerRouteBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractor; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanStatusExtractor; -import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.ClientInstrumenterFactory; -import java.util.ArrayList; +import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.SpringWebfluxBuilderUtil; +import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.WebClientHttpAttributesGetter; import java.util.List; import java.util.Set; -import java.util.function.Consumer; import java.util.function.Function; import org.springframework.web.reactive.function.client.ClientRequest; import org.springframework.web.reactive.function.client.ClientResponse; @@ -36,38 +26,25 @@ public final class SpringWebfluxTelemetryBuilder { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-webflux-5.3"; - private final OpenTelemetry openTelemetry; + private final DefaultHttpClientInstrumenterBuilder clientBuilder; + private final DefaultHttpServerInstrumenterBuilder + serverBuilder; - private final List> - clientAdditionalExtractors = new ArrayList<>(); - private final List> - serverAdditionalExtractors = new ArrayList<>(); - - private final HttpServerAttributesExtractorBuilder - httpServerAttributesExtractorBuilder = - HttpServerAttributesExtractor.builder(WebfluxServerHttpAttributesGetter.INSTANCE); - private final HttpSpanNameExtractorBuilder httpServerSpanNameExtractorBuilder = - HttpSpanNameExtractor.builder(WebfluxServerHttpAttributesGetter.INSTANCE); - private final HttpServerRouteBuilder httpServerRouteBuilder = - HttpServerRoute.builder(WebfluxServerHttpAttributesGetter.INSTANCE); - - private Function< - SpanNameExtractor, ? extends SpanNameExtractor> - clientSpanNameExtractorTransformer = Function.identity(); - private Function< - SpanNameExtractor, - ? extends SpanNameExtractor> - serverSpanNameExtractorTransformer = Function.identity(); - - private Consumer> - clientExtractorConfigurer = builder -> {}; - private Consumer> clientSpanNameExtractorConfigurer = - builder -> {}; - private boolean emitExperimentalHttpClientTelemetry = false; - private boolean emitExperimentalHttpServerTelemetry = false; + static { + SpringWebfluxBuilderUtil.setClientBuilderExtractor( + SpringWebfluxTelemetryBuilder::getClientBuilder); + SpringWebfluxBuilderUtil.setServerBuilderExtractor( + SpringWebfluxTelemetryBuilder::getServerBuilder); + } SpringWebfluxTelemetryBuilder(OpenTelemetry openTelemetry) { - this.openTelemetry = openTelemetry; + clientBuilder = + new DefaultHttpClientInstrumenterBuilder<>( + INSTRUMENTATION_NAME, openTelemetry, WebClientHttpAttributesGetter.INSTANCE); + serverBuilder = + new DefaultHttpServerInstrumenterBuilder<>( + INSTRUMENTATION_NAME, openTelemetry, WebfluxServerHttpAttributesGetter.INSTANCE) + .setHeaderGetter(WebfluxTextMapGetter.INSTANCE); } /** @@ -77,7 +54,7 @@ public final class SpringWebfluxTelemetryBuilder { @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder addClientAttributesExtractor( AttributesExtractor attributesExtractor) { - clientAdditionalExtractors.add(attributesExtractor); + clientBuilder.addAttributeExtractor(attributesExtractor); return this; } @@ -89,9 +66,7 @@ public SpringWebfluxTelemetryBuilder addClientAttributesExtractor( @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setCapturedClientRequestHeaders( List requestHeaders) { - clientExtractorConfigurer = - clientExtractorConfigurer.andThen( - builder -> builder.setCapturedRequestHeaders(requestHeaders)); + clientBuilder.setCapturedRequestHeaders(requestHeaders); return this; } @@ -103,9 +78,7 @@ public SpringWebfluxTelemetryBuilder setCapturedClientRequestHeaders( @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setCapturedClientResponseHeaders( List responseHeaders) { - clientExtractorConfigurer = - clientExtractorConfigurer.andThen( - builder -> builder.setCapturedResponseHeaders(responseHeaders)); + clientBuilder.setCapturedResponseHeaders(responseHeaders); return this; } @@ -116,7 +89,7 @@ public SpringWebfluxTelemetryBuilder setCapturedClientResponseHeaders( @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder addServerAttributesExtractor( AttributesExtractor attributesExtractor) { - serverAdditionalExtractors.add(attributesExtractor); + serverBuilder.addAttributesExtractor(attributesExtractor); return this; } @@ -129,7 +102,7 @@ public SpringWebfluxTelemetryBuilder addServerAttributesExtractor( @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setCapturedServerRequestHeaders( List requestHeaders) { - httpServerAttributesExtractorBuilder.setCapturedRequestHeaders(requestHeaders); + serverBuilder.setCapturedRequestHeaders(requestHeaders); return this; } @@ -142,7 +115,7 @@ public SpringWebfluxTelemetryBuilder setCapturedServerRequestHeaders( @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setCapturedServerResponseHeaders( List responseHeaders) { - httpServerAttributesExtractorBuilder.setCapturedResponseHeaders(responseHeaders); + serverBuilder.setCapturedResponseHeaders(responseHeaders); return this; } @@ -162,13 +135,8 @@ public SpringWebfluxTelemetryBuilder setCapturedServerResponseHeaders( */ @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setKnownMethods(Set knownMethods) { - clientExtractorConfigurer = - clientExtractorConfigurer.andThen(builder -> builder.setKnownMethods(knownMethods)); - clientSpanNameExtractorConfigurer = - clientSpanNameExtractorConfigurer.andThen(builder -> builder.setKnownMethods(knownMethods)); - httpServerAttributesExtractorBuilder.setKnownMethods(knownMethods); - httpServerSpanNameExtractorBuilder.setKnownMethods(knownMethods); - httpServerRouteBuilder.setKnownMethods(knownMethods); + clientBuilder.setKnownMethods(knownMethods); + serverBuilder.setKnownMethods(knownMethods); return this; } @@ -181,7 +149,7 @@ public SpringWebfluxTelemetryBuilder setKnownMethods(Set knownMethods) { @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setEmitExperimentalHttpClientTelemetry( boolean emitExperimentalHttpClientTelemetry) { - this.emitExperimentalHttpClientTelemetry = emitExperimentalHttpClientTelemetry; + clientBuilder.setEmitExperimentalHttpClientMetrics(emitExperimentalHttpClientTelemetry); return this; } @@ -194,7 +162,7 @@ public SpringWebfluxTelemetryBuilder setEmitExperimentalHttpClientTelemetry( @CanIgnoreReturnValue public SpringWebfluxTelemetryBuilder setEmitExperimentalHttpServerTelemetry( boolean emitExperimentalHttpServerTelemetry) { - this.emitExperimentalHttpServerTelemetry = emitExperimentalHttpServerTelemetry; + serverBuilder.setEmitExperimentalHttpServerMetrics(emitExperimentalHttpServerTelemetry); return this; } @@ -203,7 +171,7 @@ public SpringWebfluxTelemetryBuilder setEmitExperimentalHttpServerTelemetry( public SpringWebfluxTelemetryBuilder setClientSpanNameExtractor( Function, ? extends SpanNameExtractor> clientSpanNameExtractor) { - this.clientSpanNameExtractorTransformer = clientSpanNameExtractor; + clientBuilder.setSpanNameExtractor(clientSpanNameExtractor); return this; } @@ -214,7 +182,7 @@ public SpringWebfluxTelemetryBuilder setServerSpanNameExtractor( SpanNameExtractor, ? extends SpanNameExtractor> serverSpanNameExtractor) { - this.serverSpanNameExtractorTransformer = serverSpanNameExtractor; + serverBuilder.setSpanNameExtractor(serverSpanNameExtractor); return this; } @@ -223,40 +191,18 @@ public SpringWebfluxTelemetryBuilder setServerSpanNameExtractor( * SpringWebfluxTelemetryBuilder}. */ public SpringWebfluxTelemetry build() { - Instrumenter clientInstrumenter = - ClientInstrumenterFactory.create( - openTelemetry, - clientExtractorConfigurer, - clientSpanNameExtractorConfigurer, - clientSpanNameExtractorTransformer, - clientAdditionalExtractors, - emitExperimentalHttpClientTelemetry); - - Instrumenter serverInstrumenter = - buildServerInstrumenter(); - return new SpringWebfluxTelemetry( - clientInstrumenter, serverInstrumenter, openTelemetry.getPropagators()); + clientBuilder.build(), + serverBuilder.build(), + clientBuilder.getOpenTelemetry().getPropagators()); } - private Instrumenter buildServerInstrumenter() { - WebfluxServerHttpAttributesGetter getter = WebfluxServerHttpAttributesGetter.INSTANCE; - SpanNameExtractor spanNameExtractor = - serverSpanNameExtractorTransformer.apply(httpServerSpanNameExtractorBuilder.build()); + private DefaultHttpClientInstrumenterBuilder getClientBuilder() { + return clientBuilder; + } - InstrumenterBuilder builder = - Instrumenter.builder( - openTelemetry, INSTRUMENTATION_NAME, spanNameExtractor) - .setSpanStatusExtractor(HttpSpanStatusExtractor.create(getter)) - .addAttributesExtractor(httpServerAttributesExtractorBuilder.build()) - .addAttributesExtractors(serverAdditionalExtractors) - .addContextCustomizer(httpServerRouteBuilder.build()) - .addOperationMetrics(HttpServerMetrics.get()); - if (emitExperimentalHttpServerTelemetry) { - builder - .addAttributesExtractor(HttpExperimentalAttributesExtractor.create(getter)) - .addOperationMetrics(HttpServerExperimentalMetrics.get()); - } - return builder.buildServerInstrumenter(WebfluxTextMapGetter.INSTANCE); + private DefaultHttpServerInstrumenterBuilder + getServerBuilder() { + return serverBuilder; } } diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/ClientInstrumenterFactory.java b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/ClientInstrumenterFactory.java deleted file mode 100644 index bb8217539da3..000000000000 --- a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/ClientInstrumenterFactory.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.instrumentation.spring.webflux.v5_3.internal; - -import static io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor.alwaysClient; - -import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpClientExperimentalMetrics; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpExperimentalAttributesExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; -import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; -import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractor; -import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpClientMetrics; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractor; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanStatusExtractor; -import java.util.List; -import java.util.function.Consumer; -import java.util.function.Function; -import org.springframework.web.reactive.function.client.ClientRequest; -import org.springframework.web.reactive.function.client.ClientResponse; - -/** - * This class is internal and is hence not for public use. Its APIs are unstable and can change at - * any time. - */ -// client builder is separate so that it can be used by javaagent instrumentation -// which supports 5.0, without triggering the server instrumentation which depends on webflux 5.3 -public final class ClientInstrumenterFactory { - - private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-webflux-5.3"; - - public static Instrumenter create( - OpenTelemetry openTelemetry, - Consumer> - extractorConfigurer, - Consumer> spanNameExtractorConfigurer, - Function, ? extends SpanNameExtractor> - spanNameExtractorTransformer, - List> additionalExtractors, - boolean emitExperimentalHttpClientTelemetry) { - - WebClientHttpAttributesGetter httpAttributesGetter = WebClientHttpAttributesGetter.INSTANCE; - - HttpClientAttributesExtractorBuilder extractorBuilder = - HttpClientAttributesExtractor.builder(httpAttributesGetter); - extractorConfigurer.accept(extractorBuilder); - - HttpSpanNameExtractorBuilder httpSpanNameExtractorBuilder = - HttpSpanNameExtractor.builder(httpAttributesGetter); - spanNameExtractorConfigurer.accept(httpSpanNameExtractorBuilder); - SpanNameExtractor spanNameExtractor = - spanNameExtractorTransformer.apply(httpSpanNameExtractorBuilder.build()); - - InstrumenterBuilder clientBuilder = - Instrumenter.builder( - openTelemetry, INSTRUMENTATION_NAME, spanNameExtractor) - .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesGetter)) - .addAttributesExtractor(extractorBuilder.build()) - .addAttributesExtractors(additionalExtractors) - .addOperationMetrics(HttpClientMetrics.get()); - - if (emitExperimentalHttpClientTelemetry) { - clientBuilder - .addAttributesExtractor(HttpExperimentalAttributesExtractor.create(httpAttributesGetter)) - .addOperationMetrics(HttpClientExperimentalMetrics.get()); - } - - // headers are injected elsewhere; ClientRequest is immutable - return clientBuilder.buildInstrumenter(alwaysClient()); - } - - private ClientInstrumenterFactory() {} -} diff --git a/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/SpringWebfluxBuilderUtil.java b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/SpringWebfluxBuilderUtil.java new file mode 100644 index 000000000000..ec1d643b1d88 --- /dev/null +++ b/instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/SpringWebfluxBuilderUtil.java @@ -0,0 +1,64 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.spring.webflux.v5_3.internal; + +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder; +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder; +import io.opentelemetry.instrumentation.spring.webflux.v5_3.SpringWebfluxTelemetryBuilder; +import java.util.function.Function; +import org.springframework.web.reactive.function.client.ClientRequest; +import org.springframework.web.reactive.function.client.ClientResponse; +import org.springframework.web.server.ServerWebExchange; + +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ +public final class SpringWebfluxBuilderUtil { + private SpringWebfluxBuilderUtil() {} + + // allows access to the private field for the spring starter + private static Function< + SpringWebfluxTelemetryBuilder, + DefaultHttpClientInstrumenterBuilder> + clientBuilderExtractor; + + // allows access to the private field for the spring starter + private static Function< + SpringWebfluxTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + serverBuilderExtractor; + + public static Function< + SpringWebfluxTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + getServerBuilderExtractor() { + return serverBuilderExtractor; + } + + public static void setServerBuilderExtractor( + Function< + SpringWebfluxTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + serverBuilderExtractor) { + SpringWebfluxBuilderUtil.serverBuilderExtractor = serverBuilderExtractor; + } + + public static Function< + SpringWebfluxTelemetryBuilder, + DefaultHttpClientInstrumenterBuilder> + getClientBuilderExtractor() { + return clientBuilderExtractor; + } + + public static void setClientBuilderExtractor( + Function< + SpringWebfluxTelemetryBuilder, + DefaultHttpClientInstrumenterBuilder> + clientBuilderExtractor) { + SpringWebfluxBuilderUtil.clientBuilderExtractor = clientBuilderExtractor; + } +} diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java index 67a3a000b3ae..588263aff6e6 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/SpringWebMvcTelemetryBuilder.java @@ -7,21 +7,11 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpExperimentalAttributesExtractor; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpServerExperimentalMetrics; +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractor; import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerMetrics; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerRoute; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerRouteBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractor; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanStatusExtractor; -import java.util.ArrayList; +import io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal.SpringMvcBuilderUtil; import java.util.List; import java.util.Set; import java.util.function.Function; @@ -33,24 +23,18 @@ public final class SpringWebMvcTelemetryBuilder { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-webmvc-5.3"; - private final OpenTelemetry openTelemetry; - private final List> - additionalExtractors = new ArrayList<>(); - private final HttpServerAttributesExtractorBuilder - httpAttributesExtractorBuilder = - HttpServerAttributesExtractor.builder(SpringWebMvcHttpAttributesGetter.INSTANCE); - private final HttpSpanNameExtractorBuilder httpSpanNameExtractorBuilder = - HttpSpanNameExtractor.builder(SpringWebMvcHttpAttributesGetter.INSTANCE); - private final HttpServerRouteBuilder httpServerRouteBuilder = - HttpServerRoute.builder(SpringWebMvcHttpAttributesGetter.INSTANCE); - private Function< - SpanNameExtractor, - ? extends SpanNameExtractor> - spanNameExtractorTransformer = Function.identity(); - private boolean emitExperimentalHttpServerMetrics = false; + private final DefaultHttpServerInstrumenterBuilder + builder; + + static { + SpringMvcBuilderUtil.setBuilderExtractor(SpringWebMvcTelemetryBuilder::getBuilder); + } SpringWebMvcTelemetryBuilder(OpenTelemetry openTelemetry) { - this.openTelemetry = openTelemetry; + builder = + new DefaultHttpServerInstrumenterBuilder<>( + INSTRUMENTATION_NAME, openTelemetry, SpringWebMvcHttpAttributesGetter.INSTANCE) + .setHeaderGetter(JavaxHttpServletRequestGetter.INSTANCE); } /** @@ -60,7 +44,7 @@ public final class SpringWebMvcTelemetryBuilder { @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder addAttributesExtractor( AttributesExtractor attributesExtractor) { - additionalExtractors.add(attributesExtractor); + builder.addAttributesExtractor(attributesExtractor); return this; } @@ -71,7 +55,7 @@ public SpringWebMvcTelemetryBuilder addAttributesExtractor( */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setCapturedRequestHeaders(List requestHeaders) { - httpAttributesExtractorBuilder.setCapturedRequestHeaders(requestHeaders); + builder.setCapturedRequestHeaders(requestHeaders); return this; } @@ -82,7 +66,7 @@ public SpringWebMvcTelemetryBuilder setCapturedRequestHeaders(List reque */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setCapturedResponseHeaders(List responseHeaders) { - httpAttributesExtractorBuilder.setCapturedResponseHeaders(responseHeaders); + builder.setCapturedResponseHeaders(responseHeaders); return this; } @@ -93,7 +77,7 @@ public SpringWebMvcTelemetryBuilder setSpanNameExtractor( SpanNameExtractor, ? extends SpanNameExtractor> spanNameExtractor) { - this.spanNameExtractorTransformer = spanNameExtractor; + builder.setSpanNameExtractor(spanNameExtractor); return this; } @@ -112,9 +96,7 @@ public SpringWebMvcTelemetryBuilder setSpanNameExtractor( */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setKnownMethods(Set knownMethods) { - httpAttributesExtractorBuilder.setKnownMethods(knownMethods); - httpSpanNameExtractorBuilder.setKnownMethods(knownMethods); - httpServerRouteBuilder.setKnownMethods(knownMethods); + builder.setKnownMethods(knownMethods); return this; } @@ -127,7 +109,7 @@ public SpringWebMvcTelemetryBuilder setKnownMethods(Set knownMethods) { @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setEmitExperimentalHttpServerMetrics( boolean emitExperimentalHttpServerMetrics) { - this.emitExperimentalHttpServerMetrics = emitExperimentalHttpServerMetrics; + builder.setEmitExperimentalHttpServerMetrics(emitExperimentalHttpServerMetrics); return this; } @@ -136,26 +118,11 @@ public SpringWebMvcTelemetryBuilder setEmitExperimentalHttpServerMetrics( * SpringWebMvcTelemetryBuilder}. */ public SpringWebMvcTelemetry build() { - SpringWebMvcHttpAttributesGetter httpAttributesGetter = - SpringWebMvcHttpAttributesGetter.INSTANCE; - SpanNameExtractor spanNameExtractor = - spanNameExtractorTransformer.apply(httpSpanNameExtractorBuilder.build()); - - InstrumenterBuilder builder = - Instrumenter.builder( - openTelemetry, INSTRUMENTATION_NAME, spanNameExtractor) - .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesGetter)) - .addAttributesExtractor(httpAttributesExtractorBuilder.build()) - .addAttributesExtractors(additionalExtractors) - .addContextCustomizer(httpServerRouteBuilder.build()) - .addOperationMetrics(HttpServerMetrics.get()); - if (emitExperimentalHttpServerMetrics) { - builder - .addAttributesExtractor(HttpExperimentalAttributesExtractor.create(httpAttributesGetter)) - .addOperationMetrics(HttpServerExperimentalMetrics.get()); - } + return new SpringWebMvcTelemetry(builder.build()); + } - return new SpringWebMvcTelemetry( - builder.buildServerInstrumenter(JavaxHttpServletRequestGetter.INSTANCE)); + public DefaultHttpServerInstrumenterBuilder + getBuilder() { + return builder; } } diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/internal/SpringMvcBuilderUtil.java b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/internal/SpringMvcBuilderUtil.java new file mode 100644 index 000000000000..74ac99e33d8a --- /dev/null +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/internal/SpringMvcBuilderUtil.java @@ -0,0 +1,41 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal; + +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder; +import io.opentelemetry.instrumentation.spring.webmvc.v5_3.SpringWebMvcTelemetryBuilder; +import java.util.function.Function; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ +public final class SpringMvcBuilderUtil { + private SpringMvcBuilderUtil() {} + + // allows access to the private field for the spring starter + private static Function< + SpringWebMvcTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + builderExtractor; + + public static Function< + SpringWebMvcTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + getBuilderExtractor() { + return builderExtractor; + } + + public static void setBuilderExtractor( + Function< + SpringWebMvcTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + builderExtractor) { + SpringMvcBuilderUtil.builderExtractor = builderExtractor; + } +} diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java index 9b3e3b9e4e48..7978664dd053 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/SpringWebMvcTelemetryBuilder.java @@ -7,23 +7,13 @@ import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpExperimentalAttributesExtractor; -import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpServerExperimentalMetrics; +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; -import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractor; import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerMetrics; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerRoute; -import io.opentelemetry.instrumentation.api.semconv.http.HttpServerRouteBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractor; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanNameExtractorBuilder; -import io.opentelemetry.instrumentation.api.semconv.http.HttpSpanStatusExtractor; +import io.opentelemetry.instrumentation.spring.webmvc.v6_0.internal.SpringMvcBuilderUtil; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.function.Function; @@ -32,25 +22,18 @@ public final class SpringWebMvcTelemetryBuilder { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-webmvc-6.0"; + private final DefaultHttpServerInstrumenterBuilder + builder; - private final OpenTelemetry openTelemetry; - private final List> - additionalExtractors = new ArrayList<>(); - private final HttpServerAttributesExtractorBuilder - httpAttributesExtractorBuilder = - HttpServerAttributesExtractor.builder(SpringWebMvcHttpAttributesGetter.INSTANCE); - private final HttpSpanNameExtractorBuilder httpSpanNameExtractorBuilder = - HttpSpanNameExtractor.builder(SpringWebMvcHttpAttributesGetter.INSTANCE); - private final HttpServerRouteBuilder httpServerRouteBuilder = - HttpServerRoute.builder(SpringWebMvcHttpAttributesGetter.INSTANCE); - private Function< - SpanNameExtractor, - ? extends SpanNameExtractor> - spanNameExtractorTransformer = Function.identity(); - private boolean emitExperimentalHttpServerMetrics = false; + static { + SpringMvcBuilderUtil.setBuilderExtractor(SpringWebMvcTelemetryBuilder::getBuilder); + } SpringWebMvcTelemetryBuilder(OpenTelemetry openTelemetry) { - this.openTelemetry = openTelemetry; + builder = + new DefaultHttpServerInstrumenterBuilder<>( + INSTRUMENTATION_NAME, openTelemetry, SpringWebMvcHttpAttributesGetter.INSTANCE) + .setHeaderGetter(JakartaHttpServletRequestGetter.INSTANCE); } /** @@ -60,7 +43,7 @@ public final class SpringWebMvcTelemetryBuilder { @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder addAttributesExtractor( AttributesExtractor attributesExtractor) { - additionalExtractors.add(attributesExtractor); + builder.addAttributesExtractor(attributesExtractor); return this; } @@ -71,7 +54,7 @@ public SpringWebMvcTelemetryBuilder addAttributesExtractor( */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setCapturedRequestHeaders(List requestHeaders) { - httpAttributesExtractorBuilder.setCapturedRequestHeaders(requestHeaders); + builder.setCapturedRequestHeaders(requestHeaders); return this; } @@ -82,7 +65,7 @@ public SpringWebMvcTelemetryBuilder setCapturedRequestHeaders(List reque */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setCapturedResponseHeaders(List responseHeaders) { - httpAttributesExtractorBuilder.setCapturedResponseHeaders(responseHeaders); + builder.setCapturedResponseHeaders(responseHeaders); return this; } @@ -93,7 +76,7 @@ public SpringWebMvcTelemetryBuilder setSpanNameExtractor( SpanNameExtractor, ? extends SpanNameExtractor> spanNameExtractor) { - this.spanNameExtractorTransformer = spanNameExtractor; + builder.setSpanNameExtractor(spanNameExtractor); return this; } @@ -112,9 +95,7 @@ public SpringWebMvcTelemetryBuilder setSpanNameExtractor( */ @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setKnownMethods(Set knownMethods) { - httpAttributesExtractorBuilder.setKnownMethods(knownMethods); - httpSpanNameExtractorBuilder.setKnownMethods(knownMethods); - httpServerRouteBuilder.setKnownMethods(knownMethods); + builder.setKnownMethods(knownMethods); return this; } @@ -127,7 +108,7 @@ public SpringWebMvcTelemetryBuilder setKnownMethods(Set knownMethods) { @CanIgnoreReturnValue public SpringWebMvcTelemetryBuilder setEmitExperimentalHttpServerMetrics( boolean emitExperimentalHttpServerMetrics) { - this.emitExperimentalHttpServerMetrics = emitExperimentalHttpServerMetrics; + builder.setEmitExperimentalHttpServerMetrics(emitExperimentalHttpServerMetrics); return this; } @@ -136,26 +117,11 @@ public SpringWebMvcTelemetryBuilder setEmitExperimentalHttpServerMetrics( * SpringWebMvcTelemetryBuilder}. */ public SpringWebMvcTelemetry build() { - SpringWebMvcHttpAttributesGetter httpAttributesGetter = - SpringWebMvcHttpAttributesGetter.INSTANCE; - SpanNameExtractor spanNameExtractor = - spanNameExtractorTransformer.apply(httpSpanNameExtractorBuilder.build()); - - InstrumenterBuilder builder = - Instrumenter.builder( - openTelemetry, INSTRUMENTATION_NAME, spanNameExtractor) - .setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesGetter)) - .addAttributesExtractor(httpAttributesExtractorBuilder.build()) - .addAttributesExtractors(additionalExtractors) - .addContextCustomizer(httpServerRouteBuilder.build()) - .addOperationMetrics(HttpServerMetrics.get()); - if (emitExperimentalHttpServerMetrics) { - builder - .addAttributesExtractor(HttpExperimentalAttributesExtractor.create(httpAttributesGetter)) - .addOperationMetrics(HttpServerExperimentalMetrics.get()); - } + return new SpringWebMvcTelemetry(builder.build()); + } - return new SpringWebMvcTelemetry( - builder.buildServerInstrumenter(JakartaHttpServletRequestGetter.INSTANCE)); + public DefaultHttpServerInstrumenterBuilder + getBuilder() { + return builder; } } diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/internal/SpringMvcBuilderUtil.java b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/internal/SpringMvcBuilderUtil.java new file mode 100644 index 000000000000..d60102acd19a --- /dev/null +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/internal/SpringMvcBuilderUtil.java @@ -0,0 +1,41 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.spring.webmvc.v6_0.internal; + +import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder; +import io.opentelemetry.instrumentation.spring.webmvc.v6_0.SpringWebMvcTelemetryBuilder; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.util.function.Function; + +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ +public final class SpringMvcBuilderUtil { + private SpringMvcBuilderUtil() {} + + // allows access to the private field for the spring starter + private static Function< + SpringWebMvcTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + builderExtractor; + + public static Function< + SpringWebMvcTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + getBuilderExtractor() { + return builderExtractor; + } + + public static void setBuilderExtractor( + Function< + SpringWebMvcTelemetryBuilder, + DefaultHttpServerInstrumenterBuilder> + builderExtractor) { + SpringMvcBuilderUtil.builderExtractor = builderExtractor; + } +} diff --git a/smoke-tests-otel-starter/spring-boot-3.2/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-3.2/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java index 84e97bdf84d5..f01bafb6e22e 100644 --- a/smoke-tests-otel-starter/spring-boot-3.2/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-3.2/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java @@ -51,7 +51,7 @@ void restClient() { private static void assertClient(TraceAssert traceAssert) { traceAssert.hasSpansSatisfyingExactly( - span -> AbstractOtelSpringStarterSmokeTest.assertClientSpan(span, "/ping"), + span -> HttpSpanDataAssert.create(span).assertClientGetRequest("/ping"), span -> span.hasKind(SpanKind.SERVER).hasAttribute(HttpAttributes.HTTP_ROUTE, "/ping"), span -> withSpanAssert(span)); } diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java index e3c48ca0d25c..4e802dd3bccb 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java @@ -21,20 +21,17 @@ import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; import io.opentelemetry.sdk.logs.data.LogRecordData; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.sdk.testing.assertj.SpanDataAssert; import io.opentelemetry.semconv.ClientAttributes; import io.opentelemetry.semconv.HttpAttributes; import io.opentelemetry.semconv.ServerAttributes; import io.opentelemetry.semconv.UrlAttributes; import io.opentelemetry.semconv.incubating.CodeIncubatingAttributes; import io.opentelemetry.semconv.incubating.DbIncubatingAttributes; -import io.opentelemetry.semconv.incubating.HttpIncubatingAttributes; import io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes; import java.util.Collections; import java.util.List; import org.assertj.core.api.AbstractCharSequenceAssert; import org.assertj.core.api.AbstractIterableAssert; -import org.assertj.core.api.AbstractLongAssert; import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; @@ -155,8 +152,8 @@ void shouldSendTelemetry() { ServerAttributes.SERVER_PORT, integerAssert -> integerAssert.isNotZero())), serverSpan -> - serverSpan - .hasKind(SpanKind.SERVER) + HttpSpanDataAssert.create(serverSpan) + .assertServerGetRequest("/ping") .hasResourceSatisfying( r -> r.hasAttribute( @@ -235,18 +232,9 @@ void restTemplate() { testing.waitAndAssertTraces( traceAssert -> traceAssert.hasSpansSatisfyingExactly( - span -> assertClientSpan(span, "/ping"), + span -> HttpSpanDataAssert.create(span).assertClientGetRequest("/ping"), span -> span.hasKind(SpanKind.SERVER).hasAttribute(HttpAttributes.HTTP_ROUTE, "/ping"), span -> withSpanAssert(span))); } - - public static void assertClientSpan(SpanDataAssert span, String path) { - span.hasKind(SpanKind.CLIENT) - .hasAttributesSatisfying( - satisfies(UrlAttributes.URL_FULL, a -> a.endsWith(path)), - // this attribute is set by the experimental http instrumentation - satisfies( - HttpIncubatingAttributes.HTTP_RESPONSE_BODY_SIZE, AbstractLongAssert::isPositive)); - } } diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/resources/application.yaml b/smoke-tests-otel-starter/spring-boot-common/src/main/resources/application.yaml index df0764948302..1995223b3841 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/resources/application.yaml +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/resources/application.yaml @@ -11,6 +11,8 @@ otel: http: client: emit-experimental-telemetry: true + server: + emit-experimental-telemetry: true propagators: - b3 resource: diff --git a/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelReactiveSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelReactiveSpringStarterSmokeTest.java index 7bc32e819fcc..8de8f4fc0ac5 100644 --- a/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelReactiveSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelReactiveSpringStarterSmokeTest.java @@ -8,8 +8,6 @@ import static org.assertj.core.api.Assertions.assertThat; import io.opentelemetry.api.trace.SpanKind; -import io.opentelemetry.semconv.HttpAttributes; -import io.opentelemetry.semconv.UrlAttributes; import io.opentelemetry.semconv.incubating.DbIncubatingAttributes; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -52,17 +50,8 @@ void webClientAndWebFluxAndR2dbc() { trace.hasSpansSatisfyingExactly(span -> span.hasName("CREATE TABLE testdb.player")), trace -> trace.hasSpansSatisfyingExactly( - span -> - span.hasKind(SpanKind.CLIENT) - .hasName("GET") - .hasAttributesSatisfying( - a -> assertThat(a.get(UrlAttributes.URL_FULL)).endsWith("/webflux")), - span -> - span.hasKind(SpanKind.SERVER) - .hasName("GET /webflux") - .hasAttribute(HttpAttributes.HTTP_REQUEST_METHOD, "GET") - .hasAttribute(HttpAttributes.HTTP_RESPONSE_STATUS_CODE, 200L) - .hasAttribute(HttpAttributes.HTTP_ROUTE, "/webflux"), + span -> HttpSpanDataAssert.create(span).assertClientGetRequest("/webflux"), + span -> HttpSpanDataAssert.create(span).assertServerGetRequest("/webflux"), span -> span.hasKind(SpanKind.CLIENT) .satisfies( diff --git a/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/resources/application.yaml b/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/resources/application.yaml index f0568098a28b..26b301f52d79 100644 --- a/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/resources/application.yaml +++ b/smoke-tests-otel-starter/spring-boot-reactive-common/src/main/resources/application.yaml @@ -3,6 +3,11 @@ otel: common: db-statement-sanitizer: enabled: false + http: + client: + emit-experimental-telemetry: true + server: + emit-experimental-telemetry: true spring: r2dbc: diff --git a/smoke-tests-otel-starter/spring-smoke-testing/src/main/java/io/opentelemetry/spring/smoketest/HttpSpanDataAssert.java b/smoke-tests-otel-starter/spring-smoke-testing/src/main/java/io/opentelemetry/spring/smoketest/HttpSpanDataAssert.java new file mode 100644 index 000000000000..4f6018d46167 --- /dev/null +++ b/smoke-tests-otel-starter/spring-smoke-testing/src/main/java/io/opentelemetry/spring/smoketest/HttpSpanDataAssert.java @@ -0,0 +1,62 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.spring.smoketest; + +import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; +import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies; + +import com.google.errorprone.annotations.CanIgnoreReturnValue; +import io.opentelemetry.api.trace.SpanKind; +import io.opentelemetry.sdk.testing.assertj.ResourceAssert; +import io.opentelemetry.sdk.testing.assertj.SpanDataAssert; +import io.opentelemetry.semconv.HttpAttributes; +import io.opentelemetry.semconv.UrlAttributes; +import io.opentelemetry.semconv.incubating.HttpIncubatingAttributes; +import java.util.function.Consumer; +import org.assertj.core.api.AbstractLongAssert; + +public final class HttpSpanDataAssert { + + private final SpanDataAssert span; + + private HttpSpanDataAssert(SpanDataAssert span) { + this.span = span; + } + + public static HttpSpanDataAssert create(SpanDataAssert serverSpan) { + return new HttpSpanDataAssert(serverSpan); + } + + @CanIgnoreReturnValue + public HttpSpanDataAssert assertClientGetRequest(String path) { + span.hasKind(SpanKind.CLIENT) + .hasAttributesSatisfying( + satisfies(UrlAttributes.URL_FULL, a -> a.endsWith(path)), + // this attribute is set by the experimental http instrumentation + satisfies( + HttpIncubatingAttributes.HTTP_RESPONSE_BODY_SIZE, + AbstractLongAssert::isNotNegative)); + return this; + } + + @CanIgnoreReturnValue + public HttpSpanDataAssert assertServerGetRequest(String route) { + span.hasKind(SpanKind.SERVER) + .hasAttributesSatisfying( + equalTo(HttpAttributes.HTTP_REQUEST_METHOD, "GET"), + equalTo(HttpAttributes.HTTP_RESPONSE_STATUS_CODE, 200L), + equalTo(HttpAttributes.HTTP_ROUTE, route), + // this attribute is set by the experimental http instrumentation + satisfies( + HttpIncubatingAttributes.HTTP_RESPONSE_BODY_SIZE, + AbstractLongAssert::isNotNegative)); + return this; + } + + public SpanDataAssert hasResourceSatisfying(Consumer resource) { + return span.hasResourceSatisfying(resource); + } +} From 54622bed61f46eb2463217a9a600ef72f5cecef9 Mon Sep 17 00:00:00 2001 From: Jean Bisutti Date: Thu, 11 Jul 2024 19:52:42 +0200 Subject: [PATCH 32/43] Update @EnableOpenTelemetry javadoc (#11799) --- .../spring/autoconfigure/EnableOpenTelemetry.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/EnableOpenTelemetry.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/EnableOpenTelemetry.java index 8a5b2b95c9fa..e299776c2f69 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/EnableOpenTelemetry.java +++ b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/EnableOpenTelemetry.java @@ -12,7 +12,10 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -/** Auto-configures OpenTelemetry. Enables OpenTelemetry in Spring applications */ +/** + * Convenient annotation to leverage Spring autoconfiguration for OpenTelemetry in non-Spring Boot + * projects. + */ @Configuration @ComponentScan(basePackages = "io.opentelemetry.instrumentation.spring.autoconfigure") @Target(ElementType.TYPE) From 814669b9c8e94a24bed554b0936487d1277a8a7f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:03:45 +0300 Subject: [PATCH 33/43] chore(deps): update github/codeql-action action to v3.25.12 (main) (#11808) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/codeql-daily.yml | 4 ++-- .github/workflows/scorecard.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-daily.yml b/.github/workflows/codeql-daily.yml index d9328c7fd7a2..1be8e8bbfd9b 100644 --- a/.github/workflows/codeql-daily.yml +++ b/.github/workflows/codeql-daily.yml @@ -30,7 +30,7 @@ jobs: java-version-file: .java-version - name: Initialize CodeQL - uses: github/codeql-action/init@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 with: languages: java # using "latest" helps to keep up with the latest Kotlin support @@ -45,7 +45,7 @@ jobs: run: ./gradlew assemble -x javadoc --no-build-cache --no-daemon - name: Perform CodeQL analysis - uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 workflow-notification: needs: diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 8a419751812c..169fb63c12ba 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -64,6 +64,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/upload-sarif@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 with: sarif_file: results.sarif From e09af4e4ec181ca1afafe45e79828470f918bae7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:04:06 +0300 Subject: [PATCH 34/43] fix(deps): update dependency io.grpc:grpc-bom to v1.65.1 (main) (#11804) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- smoke-tests/build.gradle.kts | 2 +- smoke-tests/images/grpc/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/smoke-tests/build.gradle.kts b/smoke-tests/build.gradle.kts index c67b52bf7d98..aa8f27f3d52f 100644 --- a/smoke-tests/build.gradle.kts +++ b/smoke-tests/build.gradle.kts @@ -23,7 +23,7 @@ dependencies { api("org.spockframework:spock-core") api(project(":testing-common")) - implementation(platform("io.grpc:grpc-bom:1.65.0")) + implementation(platform("io.grpc:grpc-bom:1.65.1")) implementation("org.slf4j:slf4j-api") implementation("io.opentelemetry:opentelemetry-api") implementation("io.opentelemetry.proto:opentelemetry-proto") diff --git a/smoke-tests/images/grpc/build.gradle.kts b/smoke-tests/images/grpc/build.gradle.kts index 0ca89e2414e1..a973ecb5e238 100644 --- a/smoke-tests/images/grpc/build.gradle.kts +++ b/smoke-tests/images/grpc/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } dependencies { - implementation(platform("io.grpc:grpc-bom:1.65.0")) + implementation(platform("io.grpc:grpc-bom:1.65.1")) implementation(platform("io.opentelemetry:opentelemetry-bom:1.0.0")) implementation(platform("io.opentelemetry:opentelemetry-bom-alpha:1.0.0-alpha")) implementation(platform("org.apache.logging.log4j:log4j-bom:2.23.1")) From c1c76a1e0d066510f3fe4e32048883d693d5625d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:04:32 +0300 Subject: [PATCH 35/43] fix(deps): update dockerjavaversion to v3.4.0 (main) (minor) (#11802) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- smoke-tests/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smoke-tests/build.gradle.kts b/smoke-tests/build.gradle.kts index aa8f27f3d52f..9a42517d912e 100644 --- a/smoke-tests/build.gradle.kts +++ b/smoke-tests/build.gradle.kts @@ -15,7 +15,7 @@ otelJava { maxJavaVersionForTests.set(JavaVersion.VERSION_11) } -val dockerJavaVersion = "3.3.6" +val dockerJavaVersion = "3.4.0" dependencies { testCompileOnly("com.google.auto.value:auto-value-annotations") testAnnotationProcessor("com.google.auto.value:auto-value") From e5af13931c94676739d7b2d24cefd275491fb7a1 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Fri, 12 Jul 2024 21:07:53 +0200 Subject: [PATCH 36/43] rename spring autoconfigure to autoconfigure-2 (#11800) --- .../customchecks/OtelInternalJavadoc.java | 2 +- .../intellij-setup-and-troubleshooting.md | 2 +- docs/contributing/selectModules.kts | 2 +- .../README.md | 0 .../build.gradle.kts | 5 +--- .../v2}/OpenTelemetryAutoConfiguration.java | 18 +++++++-------- .../ConditionalOnEnabledInstrumentation.java | 2 +- .../InstrumentationPropertyEnabled.java | 2 +- .../v2}/internal/MapConverter.java | 2 +- .../v2}/internal/SdkEnabled.java | 2 +- ...mentationAnnotationsAutoConfiguration.java | 11 ++++++--- .../InstrumentationWithSpanAspect.java | 2 +- .../annotations/JoinPointRequest.java | 2 +- .../JointPointCodeAttributesExtractor.java | 2 +- .../annotations/WithSpanAspect.java | 4 ++-- ...spectParameterAttributeNamesExtractor.java | 2 +- .../jdbc/DataSourcePostProcessor.java | 4 ++-- .../JdbcInstrumentationAutoConfiguration.java | 8 +++++-- ...ListenerContainerFactoryPostProcessor.java | 2 +- ...KafkaInstrumentationAutoConfiguration.java | 8 +++++-- .../LogbackAppenderApplicationListener.java | 6 ++++- .../logging/LogbackAppenderInstaller.java | 2 +- ...penTelemetryAppenderAutoConfiguration.java | 8 +++++-- .../MicrometerBridgeAutoConfiguration.java | 8 +++++-- ...lientInstrumentationAutoConfiguration.java | 10 +++++--- ...R2dbcInstrumentationAutoConfiguration.java | 8 +++++-- .../R2dbcInstrumentingPostProcessor.java | 4 ++-- .../web/RestTemplateBeanPostProcessor.java | 2 +- .../web/RestTemplateInstrumentation.java | 4 ++-- ...ngWebInstrumentationAutoConfiguration.java | 9 +++++--- ...bfluxInstrumentationAutoConfiguration.java | 9 +++++--- .../webflux/WebClientBeanPostProcessor.java | 4 ++-- ...bMvc5InstrumentationAutoConfiguration.java | 10 +++++--- .../properties/ConfigPropertiesBridge.java | 2 +- .../properties/InstrumentationConfigUtil.java | 2 +- .../properties/OtelResourceProperties.java | 2 +- .../properties/OtlpExporterProperties.java | 2 +- .../properties/PropagationProperties.java | 2 +- .../properties/SpringConfigProperties.java | 2 +- .../DistroVersionResourceProvider.java | 4 ++-- .../resources/SpringResourceProvider.java | 2 +- ...itional-spring-configuration-metadata.json | 0 .../resource-config.json | 0 .../main/resources/META-INF/spring.factories | 15 ++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 10 ++++++++ .../OpenTelemetryAutoConfigurationTest.java | 2 +- ...ationAnnotationsAutoConfigurationTest.java | 2 +- .../InstrumentationWithSpanAspectTest.java | 2 +- ...MicrometerBridgeAutoConfigurationTest.java | 2 +- ...cInstrumentationAutoConfigurationTest.java | 2 +- ...bInstrumentationAutoConfigurationTest.java | 2 +- ...xInstrumentationAutoConfigurationTest.java | 2 +- .../WebClientBeanPostProcessorTest.java | 2 +- ...Instrumentation5AutoConfigurationTest.java | 2 +- .../OtlpExporterPropertiesTest.java | 8 ++----- .../DistroVersionResourceProviderTest.java | 4 ++-- .../resources/SpringConfigPropertiesTest.java | 12 +++++----- .../resources/SpringResourceProviderTest.java | 13 +++++------ .../logging/LogbackAppenderTest.java | 2 +- .../resources/logback-test.xml | 0 .../logging/LogbackMissingTest.java | 2 +- .../build.gradle.kts | 9 ++++---- .../OpenTelemetryAnnotationsRuntimeHints.java | 4 ++-- .../web/RestClientBeanPostProcessor.java | 6 ++--- ...lientInstrumentationAutoConfiguration.java | 9 +++++--- ...bMvc6InstrumentationAutoConfiguration.java | 10 +++++--- .../main/resources/META-INF/spring.factories | 2 -- .../resources/META-INF/spring/aot.factories | 2 +- ...ot.autoconfigure.AutoConfiguration.imports | 3 ++- ...tInstrumentationAutoConfigurationTest.java | 2 +- ...Instrumentation6AutoConfigurationTest.java | 2 +- .../autoconfigure/EnableOpenTelemetry.java | 23 ------------------- .../main/resources/META-INF/spring.factories | 15 ------------ ...ot.autoconfigure.AutoConfiguration.imports | 11 --------- .../spring-boot-starter/build.gradle.kts | 2 +- .../zipkin-spring-boot-starter/README.md | 4 ++-- settings.gradle.kts | 2 +- ...bstractJvmKafkaSpringStarterSmokeTest.java | 4 ++-- ...tractJvmMongodbSpringStarterSmokeTest.java | 4 ++-- .../AbstractOtelSpringStarterSmokeTest.java | 8 +++---- .../spring-smoke-testing/build.gradle.kts | 2 +- 81 files changed, 205 insertions(+), 187 deletions(-) rename instrumentation/spring/{spring-boot-autoconfigure => spring-boot-autoconfigure-2}/README.md (100%) rename instrumentation/spring/{spring-boot-autoconfigure => spring-boot-autoconfigure-2}/build.gradle.kts (94%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/OpenTelemetryAutoConfiguration.java (87%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/ConditionalOnEnabledInstrumentation.java (91%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/InstrumentationPropertyEnabled.java (94%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/MapConverter.java (93%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/SdkEnabled.java (89%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/annotations/InstrumentationAnnotationsAutoConfiguration.java (71%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/annotations/InstrumentationWithSpanAspect.java (90%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/annotations/JoinPointRequest.java (95%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/annotations/JointPointCodeAttributesExtractor.java (84%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/annotations/WithSpanAspect.java (95%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/annotations/WithSpanAspectParameterAttributeNamesExtractor.java (95%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/jdbc/DataSourcePostProcessor.java (90%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/jdbc/JdbcInstrumentationAutoConfiguration.java (80%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/kafka/ConcurrentKafkaListenerContainerFactoryPostProcessor.java (95%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/kafka/KafkaInstrumentationAutoConfiguration.java (84%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/logging/LogbackAppenderApplicationListener.java (91%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/logging/LogbackAppenderInstaller.java (98%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/logging/OpenTelemetryAppenderAutoConfiguration.java (82%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/micrometer/MicrometerBridgeAutoConfiguration.java (81%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java (76%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/r2dbc/R2dbcInstrumentationAutoConfiguration.java (79%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java (91%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/web/RestTemplateBeanPostProcessor.java (92%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/web/RestTemplateInstrumentation.java (87%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/web/SpringWebInstrumentationAutoConfiguration.java (83%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java (81%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/webflux/WebClientBeanPostProcessor.java (92%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java (75%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/properties/ConfigPropertiesBridge.java (96%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/properties/InstrumentationConfigUtil.java (96%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/properties/OtelResourceProperties.java (88%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/properties/OtlpExporterProperties.java (93%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/properties/PropagationProperties.java (88%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/properties/SpringConfigProperties.java (98%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/resources/DistroVersionResourceProvider.java (91%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/internal/resources/SpringResourceProvider.java (94%) rename instrumentation/spring/{spring-boot-autoconfigure => spring-boot-autoconfigure-2}/src/main/resources/META-INF/additional-spring-configuration-metadata.json (100%) rename instrumentation/spring/{spring-boot-autoconfigure => spring-boot-autoconfigure-2}/src/main/resources/META-INF/native-image/io.opentelemetry.instrumentation/opentelemetry-spring-boot/resource-config.json (100%) create mode 100644 instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring.factories create mode 100644 instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2}/OpenTelemetryAutoConfigurationTest.java (98%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/annotations/InstrumentationAnnotationsAutoConfigurationTest.java (92%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/annotations/InstrumentationWithSpanAspectTest.java (99%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/micrometer/MicrometerBridgeAutoConfigurationTest.java (95%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java (96%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/web/SpringWebInstrumentationAutoConfigurationTest.java (97%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java (95%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/webflux/WebClientBeanPostProcessorTest.java (97%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java (95%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/properties/OtlpExporterPropertiesTest.java (86%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/resources/DistroVersionResourceProviderTest.java (91%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/resources/SpringConfigPropertiesTest.java (80%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/resources/SpringResourceProviderTest.java (81%) rename instrumentation/spring/{spring-boot-autoconfigure/src/testLogbackAppender/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/testLogbackAppender/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/logging/LogbackAppenderTest.java (97%) rename instrumentation/spring/{spring-boot-autoconfigure => spring-boot-autoconfigure-2}/src/testLogbackAppender/resources/logback-test.xml (100%) rename instrumentation/spring/{spring-boot-autoconfigure/src/testLogbackMissing/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-2/src/testLogbackMissing/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal}/instrumentation/logging/LogbackMissingTest.java (87%) rename instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/{ => v3/internal}/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java (79%) rename instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/{ => v3/internal}/instrumentation/web/RestClientBeanPostProcessor.java (89%) rename instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/{ => v3/internal}/instrumentation/web/RestClientInstrumentationAutoConfiguration.java (83%) rename instrumentation/spring/{spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal}/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java (75%) delete mode 100644 instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring.factories rename instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/{ => v3/internal}/instrumentation/web/RestClientInstrumentationAutoConfigurationTest.java (96%) rename instrumentation/spring/{spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure => spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal}/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java (95%) delete mode 100644 instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/EnableOpenTelemetry.java delete mode 100644 instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories delete mode 100644 instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports diff --git a/custom-checks/src/main/java/io/opentelemetry/javaagent/customchecks/OtelInternalJavadoc.java b/custom-checks/src/main/java/io/opentelemetry/javaagent/customchecks/OtelInternalJavadoc.java index 950632166bd3..3d6693a9574e 100644 --- a/custom-checks/src/main/java/io/opentelemetry/javaagent/customchecks/OtelInternalJavadoc.java +++ b/custom-checks/src/main/java/io/opentelemetry/javaagent/customchecks/OtelInternalJavadoc.java @@ -42,7 +42,7 @@ public class OtelInternalJavadoc extends BugChecker implements BugChecker.ClassT @Override public Description matchClass(ClassTree tree, VisitorState state) { - if (!isPublic(tree) || !isInternal(state)) { + if (!isPublic(tree) || !isInternal(state) || tree.getSimpleName().toString().endsWith("Test")) { return Description.NO_MATCH; } String javadoc = getJavadoc(state); diff --git a/docs/contributing/intellij-setup-and-troubleshooting.md b/docs/contributing/intellij-setup-and-troubleshooting.md index 4bc57ac18d70..0b47b066eabf 100644 --- a/docs/contributing/intellij-setup-and-troubleshooting.md +++ b/docs/contributing/intellij-setup-and-troubleshooting.md @@ -35,7 +35,7 @@ If you are working on a specific instrumentation, you can load only the modules For example, to load the modules for the Spring Boot autoconfigure instrumentation, run: ```shell -./docs/contributing/selectModules.kts instrumentation/spring/spring-boot-autoconfigure/ +./docs/contributing/selectModules.kts instrumentation/spring/spring-boot-autoconfigure-2/ ``` Install the [Kotlin executable](https://kotlinlang.org/docs/tutorials/command-line.html) diff --git a/docs/contributing/selectModules.kts b/docs/contributing/selectModules.kts index d0f299d42125..ce9508197f2b 100755 --- a/docs/contributing/selectModules.kts +++ b/docs/contributing/selectModules.kts @@ -12,7 +12,7 @@ main(args) fun main(args: Array) { if (args.isEmpty()) { - println("Usage: ./docs/contributing/selectModules.kts instrumentation/spring/spring-boot-autoconfigure/ ...") + println("Usage: ./docs/contributing/selectModules.kts instrumentation/spring/spring-boot-autoconfigure-2/ ...") return } diff --git a/instrumentation/spring/spring-boot-autoconfigure/README.md b/instrumentation/spring/spring-boot-autoconfigure-2/README.md similarity index 100% rename from instrumentation/spring/spring-boot-autoconfigure/README.md rename to instrumentation/spring/spring-boot-autoconfigure-2/README.md diff --git a/instrumentation/spring/spring-boot-autoconfigure/build.gradle.kts b/instrumentation/spring/spring-boot-autoconfigure-2/build.gradle.kts similarity index 94% rename from instrumentation/spring/spring-boot-autoconfigure/build.gradle.kts rename to instrumentation/spring/spring-boot-autoconfigure-2/build.gradle.kts index 4356534ad15e..b637006b2226 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/build.gradle.kts +++ b/instrumentation/spring/spring-boot-autoconfigure-2/build.gradle.kts @@ -2,8 +2,7 @@ plugins { id("otel.library-instrumentation") } -// Name the Spring Boot modules in accordance with https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.developing-auto-configuration.custom-starter -base.archivesName.set("opentelemetry-spring-boot") +base.archivesName.set("opentelemetry-autoconfigure-spring-boot-2") group = "io.opentelemetry.instrumentation" val springBootVersion = "2.7.18" // AutoConfiguration is added in 2.7.0, but can be used with older versions @@ -33,9 +32,7 @@ dependencies { implementation(project(":instrumentation:spring:spring-kafka-2.7:library")) implementation(project(":instrumentation:spring:spring-web:spring-web-3.1:library")) implementation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-5.3:library")) - implementation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-6.0:library")) compileOnly("javax.servlet:javax.servlet-api:3.1.0") - compileOnly("jakarta.servlet:jakarta.servlet-api:5.0.0") implementation(project(":instrumentation:spring:spring-webflux:spring-webflux-5.3:library")) implementation(project(":instrumentation:micrometer:micrometer-1.5:library")) implementation(project(":instrumentation:log4j:log4j-appender-2.17:library")) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/OpenTelemetryAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/OpenTelemetryAutoConfiguration.java similarity index 87% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/OpenTelemetryAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/OpenTelemetryAutoConfiguration.java index eaa97f6c23a4..f3f936f37693 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/OpenTelemetryAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/OpenTelemetryAutoConfiguration.java @@ -3,18 +3,18 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.TracerProvider; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.MapConverter; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.PropagationProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources.DistroVersionResourceProvider; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources.SpringResourceProvider; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.MapConverter; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.SdkEnabled; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtelResourceProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtlpExporterProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.PropagationProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.SpringConfigProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources.DistroVersionResourceProvider; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources.SpringResourceProvider; import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk; import io.opentelemetry.sdk.autoconfigure.internal.AutoConfigureUtil; import io.opentelemetry.sdk.autoconfigure.internal.ComponentLoader; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/ConditionalOnEnabledInstrumentation.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/ConditionalOnEnabledInstrumentation.java similarity index 91% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/ConditionalOnEnabledInstrumentation.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/ConditionalOnEnabledInstrumentation.java index 7c55f430d1e4..e54ca70fa971 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/ConditionalOnEnabledInstrumentation.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/ConditionalOnEnabledInstrumentation.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal; import io.opentelemetry.api.OpenTelemetry; import java.lang.annotation.ElementType; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/InstrumentationPropertyEnabled.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/InstrumentationPropertyEnabled.java similarity index 94% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/InstrumentationPropertyEnabled.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/InstrumentationPropertyEnabled.java index 87687f668b6c..ef049fa7eed1 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/InstrumentationPropertyEnabled.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/InstrumentationPropertyEnabled.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal; import java.util.Map; import org.springframework.context.annotation.Condition; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/MapConverter.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/MapConverter.java similarity index 93% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/MapConverter.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/MapConverter.java index 86e043bf1696..94344c8dadda 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/MapConverter.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/MapConverter.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal; import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; import java.util.Collections; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/SdkEnabled.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/SdkEnabled.java similarity index 89% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/SdkEnabled.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/SdkEnabled.java index 082bdebc00b7..871d23ca712c 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/SdkEnabled.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/SdkEnabled.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal; import org.springframework.boot.autoconfigure.condition.AnyNestedCondition; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationAnnotationsAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationAnnotationsAutoConfiguration.java similarity index 71% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationAnnotationsAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationAnnotationsAutoConfiguration.java index 052f499d4a1c..a0d9c83e9fd6 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationAnnotationsAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationAnnotationsAutoConfiguration.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.annotations.WithSpan; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import org.aspectj.lang.annotation.Aspect; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; @@ -15,7 +15,12 @@ import org.springframework.core.DefaultParameterNameDiscoverer; import org.springframework.core.ParameterNameDiscoverer; -/** Configures {@link WithSpanAspect} to trace bean methods annotated with {@link WithSpan}. */ +/** + * Configures {@link WithSpanAspect} to trace bean methods annotated with {@link WithSpan}. + * + *

    This class is internal and is hence not for public use. Its APIs are unstable and can change + * at any time. + */ @ConditionalOnEnabledInstrumentation(module = "annotations") @ConditionalOnClass(Aspect.class) @Configuration diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationWithSpanAspect.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationWithSpanAspect.java similarity index 90% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationWithSpanAspect.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationWithSpanAspect.java index 5cf80fce7ecc..2eda95bfdda1 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationWithSpanAspect.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationWithSpanAspect.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations; import io.opentelemetry.api.OpenTelemetry; import org.aspectj.lang.ProceedingJoinPoint; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/JoinPointRequest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/JoinPointRequest.java similarity index 95% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/JoinPointRequest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/JoinPointRequest.java index a308bc80fd12..817546cd0727 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/JoinPointRequest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/JoinPointRequest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.instrumentation.annotations.WithSpan; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/JointPointCodeAttributesExtractor.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/JointPointCodeAttributesExtractor.java similarity index 84% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/JointPointCodeAttributesExtractor.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/JointPointCodeAttributesExtractor.java index 1077a35c07ce..043392a8cd62 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/JointPointCodeAttributesExtractor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/JointPointCodeAttributesExtractor.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations; import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeAttributesGetter; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/WithSpanAspect.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/WithSpanAspect.java similarity index 95% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/WithSpanAspect.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/WithSpanAspect.java index 246deef6f61a..b07a66f8e451 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/WithSpanAspect.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/WithSpanAspect.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.Span; @@ -28,7 +28,7 @@ * can not be applied to constructors. */ abstract class WithSpanAspect { - private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-boot-autoconfigure"; + private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-boot-autoconfigure-2"; private final Instrumenter instrumenter; private final JoinPointRequest.Factory requestFactory; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/WithSpanAspectParameterAttributeNamesExtractor.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/WithSpanAspectParameterAttributeNamesExtractor.java similarity index 95% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/WithSpanAspectParameterAttributeNamesExtractor.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/WithSpanAspectParameterAttributeNamesExtractor.java index 6c81c7dde0df..19f66be02daa 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/WithSpanAspectParameterAttributeNamesExtractor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/WithSpanAspectParameterAttributeNamesExtractor.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations; import io.opentelemetry.instrumentation.annotations.SpanAttribute; import io.opentelemetry.instrumentation.api.annotation.support.ParameterAttributeNamesExtractor; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/DataSourcePostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/jdbc/DataSourcePostProcessor.java similarity index 90% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/DataSourcePostProcessor.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/jdbc/DataSourcePostProcessor.java index f0884f171e1f..104b93594133 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/DataSourcePostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/jdbc/DataSourcePostProcessor.java @@ -3,12 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.jdbc; import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.jdbc.datasource.JdbcTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import javax.sql.DataSource; import org.springframework.aop.scope.ScopedProxyUtils; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/JdbcInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/jdbc/JdbcInstrumentationAutoConfiguration.java similarity index 80% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/JdbcInstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/jdbc/JdbcInstrumentationAutoConfiguration.java index 2e012f97687c..42772394264c 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/jdbc/JdbcInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/jdbc/JdbcInstrumentationAutoConfiguration.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.jdbc; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import javax.sql.DataSource; import org.springframework.beans.factory.ObjectProvider; @@ -16,6 +16,10 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @ConditionalOnEnabledInstrumentation(module = "jdbc") @AutoConfiguration(after = DataSourceAutoConfiguration.class) @ConditionalOnBean({DataSource.class}) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/kafka/ConcurrentKafkaListenerContainerFactoryPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/kafka/ConcurrentKafkaListenerContainerFactoryPostProcessor.java similarity index 95% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/kafka/ConcurrentKafkaListenerContainerFactoryPostProcessor.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/kafka/ConcurrentKafkaListenerContainerFactoryPostProcessor.java index c746a72014c9..daeb9332c446 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/kafka/ConcurrentKafkaListenerContainerFactoryPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/kafka/ConcurrentKafkaListenerContainerFactoryPostProcessor.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.kafka; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.kafka; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.spring.kafka.v2_7.SpringKafkaTelemetry; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/kafka/KafkaInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/kafka/KafkaInstrumentationAutoConfiguration.java similarity index 84% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/kafka/KafkaInstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/kafka/KafkaInstrumentationAutoConfiguration.java index 1eab4c4e6346..83b35db656ff 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/kafka/KafkaInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/kafka/KafkaInstrumentationAutoConfiguration.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.kafka; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.kafka; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -17,6 +17,10 @@ import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; import org.springframework.kafka.core.KafkaTemplate; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @ConditionalOnEnabledInstrumentation(module = "kafka") @ConditionalOnClass({KafkaTemplate.class, ConcurrentKafkaListenerContainerFactory.class}) @Configuration diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderApplicationListener.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderApplicationListener.java similarity index 91% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderApplicationListener.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderApplicationListener.java index 646e8119bc01..208e285e0647 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderApplicationListener.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderApplicationListener.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.logging; import org.springframework.boot.SpringApplication; import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; @@ -13,6 +13,10 @@ import org.springframework.context.event.GenericApplicationListener; import org.springframework.core.ResolvableType; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ public class LogbackAppenderApplicationListener implements GenericApplicationListener { private static final Class[] SOURCE_TYPES = { diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderInstaller.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderInstaller.java similarity index 98% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderInstaller.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderInstaller.java index 811dacb31bf7..f68815a7d8a8 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderInstaller.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderInstaller.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.logging; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.spi.ILoggingEvent; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/OpenTelemetryAppenderAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/OpenTelemetryAppenderAutoConfiguration.java similarity index 82% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/OpenTelemetryAppenderAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/OpenTelemetryAppenderAutoConfiguration.java index b9bb519f61ce..2423a7022783 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/OpenTelemetryAppenderAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/OpenTelemetryAppenderAutoConfiguration.java @@ -3,16 +3,20 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.logging; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @Configuration @SuppressWarnings("OtelPrivateConstructorForUtilityClass") public class OpenTelemetryAppenderAutoConfiguration { diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/micrometer/MicrometerBridgeAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/micrometer/MicrometerBridgeAutoConfiguration.java similarity index 81% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/micrometer/MicrometerBridgeAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/micrometer/MicrometerBridgeAutoConfiguration.java index 8be9811fa84d..716ef47261a0 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/micrometer/MicrometerBridgeAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/micrometer/MicrometerBridgeAutoConfiguration.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.micrometer; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.micrometer; import io.micrometer.core.instrument.Clock; import io.micrometer.core.instrument.MeterRegistry; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.micrometer.v1_5.OpenTelemetryMeterRegistry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; @@ -19,6 +19,10 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @ConditionalOnEnabledInstrumentation(module = "micrometer", enabledByDefault = false) @AutoConfigureAfter(MetricsAutoConfiguration.class) @AutoConfigureBefore(CompositeMeterRegistryAutoConfiguration.class) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java similarity index 76% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java index 7885c2088aea..04cd707e456e 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/mongo/MongoClientInstrumentationAutoConfiguration.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.mongo; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.mongo; import com.mongodb.MongoClientSettings; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.mongo.v3_1.MongoTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -17,6 +17,10 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @ConditionalOnBean(OpenTelemetry.class) @ConditionalOnClass(MongoClientSettings.class) @ConditionalOnEnabledInstrumentation(module = "mongo") diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentationAutoConfiguration.java similarity index 79% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentationAutoConfiguration.java index 5c9a3b62665a..303e631cfd20 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentationAutoConfiguration.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.r2dbc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.r2dbc; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.r2dbc.spi.ConnectionFactory; import org.springframework.beans.factory.ObjectProvider; @@ -15,6 +15,10 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @ConditionalOnBean(OpenTelemetry.class) @ConditionalOnClass(ConnectionFactory.class) @ConditionalOnEnabledInstrumentation(module = "r2dbc") diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java similarity index 91% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java index 95ad7aad333c..815e735d87d9 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.r2dbc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.r2dbc; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.r2dbc.v1_0.R2dbcTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.r2dbc.spi.ConnectionFactory; import io.r2dbc.spi.ConnectionFactoryOptions; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateBeanPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/RestTemplateBeanPostProcessor.java similarity index 92% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateBeanPostProcessor.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/RestTemplateBeanPostProcessor.java index 096e97c83061..9e8fda03d009 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateBeanPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/RestTemplateBeanPostProcessor.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.web; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateInstrumentation.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/RestTemplateInstrumentation.java similarity index 87% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateInstrumentation.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/RestTemplateInstrumentation.java index 6cd79283afae..8097c4d2d921 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestTemplateInstrumentation.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/RestTemplateInstrumentation.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.web; import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.instrumentation.spring.web.v3_1.SpringWebTelemetry; import io.opentelemetry.instrumentation.spring.web.v3_1.internal.WebTelemetryUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/SpringWebInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/SpringWebInstrumentationAutoConfiguration.java similarity index 83% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/SpringWebInstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/SpringWebInstrumentationAutoConfiguration.java index 7fed019fe527..5a1df99aba65 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/SpringWebInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/SpringWebInstrumentationAutoConfiguration.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.web; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -18,7 +18,10 @@ /** * Configures {@link RestTemplate} for tracing. * - *

    Adds Open Telemetry instrumentation to RestTemplate beans after initialization + *

    Adds Open Telemetry instrumentation to RestTemplate beans after initialization. + * + *

    This class is internal and is hence not for public use. Its APIs are unstable and can change + * at any time. */ @ConditionalOnEnabledInstrumentation(module = "spring-web") @ConditionalOnClass(RestTemplate.class) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java similarity index 81% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java index 7a0cc4f29d91..564269156aa7 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfiguration.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webflux; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -18,7 +18,10 @@ /** * Configures {@link WebClient} for tracing. * - *

    Adds Open Telemetry instrumentation to WebClient beans after initialization + *

    Adds Open Telemetry instrumentation to WebClient beans after initialization. + * + *

    This class is internal and is hence not for public use. Its APIs are unstable and can change + * at any time. */ @ConditionalOnEnabledInstrumentation(module = "spring-webflux") @ConditionalOnClass(WebClient.class) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/WebClientBeanPostProcessor.java similarity index 92% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessor.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/WebClientBeanPostProcessor.java index d4a995da8297..651a38e9fa9e 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/WebClientBeanPostProcessor.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webflux; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.instrumentation.spring.webflux.v5_3.SpringWebfluxTelemetry; import io.opentelemetry.instrumentation.spring.webflux.v5_3.internal.SpringWebfluxBuilderUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java similarity index 75% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java index ccd077a42d09..a3c3ca3e8778 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webmvc/SpringWebMvc5InstrumentationAutoConfiguration.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webmvc; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.instrumentation.spring.webmvc.v5_3.SpringWebMvcTelemetry; import io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal.SpringMvcBuilderUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; @@ -18,6 +18,10 @@ import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.web.servlet.DispatcherServlet; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @ConditionalOnEnabledInstrumentation(module = "spring-webmvc") @ConditionalOnClass({Filter.class, OncePerRequestFilter.class, DispatcherServlet.class}) @Configuration diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/ConfigPropertiesBridge.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/ConfigPropertiesBridge.java similarity index 96% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/ConfigPropertiesBridge.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/ConfigPropertiesBridge.java index 49d50f94cc5c..156b95a92d21 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/ConfigPropertiesBridge.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/ConfigPropertiesBridge.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties; import io.opentelemetry.instrumentation.api.incubator.config.internal.InstrumentationConfig; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/InstrumentationConfigUtil.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/InstrumentationConfigUtil.java similarity index 96% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/InstrumentationConfigUtil.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/InstrumentationConfigUtil.java index 747cf33dcb09..a0dfae102e13 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/InstrumentationConfigUtil.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/InstrumentationConfigUtil.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties; import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/OtelResourceProperties.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtelResourceProperties.java similarity index 88% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/OtelResourceProperties.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtelResourceProperties.java index 0bb967079537..7cd552ea17ae 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/OtelResourceProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtelResourceProperties.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties; import java.util.Collections; import java.util.Map; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/OtlpExporterProperties.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtlpExporterProperties.java similarity index 93% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/OtlpExporterProperties.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtlpExporterProperties.java index b159d10b80f3..f4c706dccfa0 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/OtlpExporterProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtlpExporterProperties.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties; import java.util.HashMap; import java.util.Map; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/PropagationProperties.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/PropagationProperties.java similarity index 88% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/PropagationProperties.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/PropagationProperties.java index 4b582ac3fc2c..53056c5506fe 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/PropagationProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/PropagationProperties.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties; import java.util.Collections; import java.util.List; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/SpringConfigProperties.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/SpringConfigProperties.java similarity index 98% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/SpringConfigProperties.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/SpringConfigProperties.java index c2a4f10aca1f..9b9b67038513 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/SpringConfigProperties.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/SpringConfigProperties.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties; import io.opentelemetry.exporter.otlp.internal.OtlpConfigUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/DistroVersionResourceProvider.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/DistroVersionResourceProvider.java similarity index 91% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/DistroVersionResourceProvider.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/DistroVersionResourceProvider.java index 8ba185f97b98..755f14559677 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/DistroVersionResourceProvider.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/DistroVersionResourceProvider.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; @@ -19,7 +19,7 @@ public class DistroVersionResourceProvider implements ResourceProvider { public static final String VERSION = - EmbeddedInstrumentationProperties.findVersion("io.opentelemetry.spring-boot-autoconfigure"); + EmbeddedInstrumentationProperties.findVersion("io.opentelemetry.spring-boot-autoconfigure-2"); private static final AttributeKey TELEMETRY_DISTRO_NAME = AttributeKey.stringKey("telemetry.distro.name"); diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/SpringResourceProvider.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringResourceProvider.java similarity index 94% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/SpringResourceProvider.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringResourceProvider.java index 5f562025764b..975bf1b3e46d 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/SpringResourceProvider.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringResourceProvider.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/additional-spring-configuration-metadata.json similarity index 100% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/additional-spring-configuration-metadata.json diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/native-image/io.opentelemetry.instrumentation/opentelemetry-spring-boot/resource-config.json b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/native-image/io.opentelemetry.instrumentation/opentelemetry-spring-boot/resource-config.json similarity index 100% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/native-image/io.opentelemetry.instrumentation/opentelemetry-spring-boot/resource-config.json rename to instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/native-image/io.opentelemetry.instrumentation/opentelemetry-spring-boot/resource-config.json diff --git a/instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring.factories b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000000..f06e51c2e314 --- /dev/null +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring.factories @@ -0,0 +1,15 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations.InstrumentationAnnotationsAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.kafka.KafkaInstrumentationAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.mongo.MongoClientInstrumentationAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.logging.OpenTelemetryAppenderAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.jdbc.JdbcInstrumentationAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.micrometer.MicrometerBridgeAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.r2dbc.R2dbcInstrumentationAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.web.SpringWebInstrumentationAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webflux.SpringWebfluxInstrumentationAutoConfiguration,\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webmvc.SpringWebMvc5InstrumentationAutoConfiguration + +org.springframework.context.ApplicationListener=\ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.logging.LogbackAppenderApplicationListener diff --git a/instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 000000000000..f8be45c43e75 --- /dev/null +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,10 @@ +io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations.InstrumentationAnnotationsAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.kafka.KafkaInstrumentationAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.mongo.MongoClientInstrumentationAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.logging.OpenTelemetryAppenderAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.jdbc.JdbcInstrumentationAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.micrometer.MicrometerBridgeAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.r2dbc.R2dbcInstrumentationAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.web.SpringWebInstrumentationAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webflux.SpringWebfluxInstrumentationAutoConfiguration diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/OpenTelemetryAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/OpenTelemetryAutoConfigurationTest.java similarity index 98% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/OpenTelemetryAutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/OpenTelemetryAutoConfigurationTest.java index c13eb6e2fce7..0529c70e9e94 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/OpenTelemetryAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/OpenTelemetryAutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationAnnotationsAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationAnnotationsAutoConfigurationTest.java similarity index 92% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationAnnotationsAutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationAnnotationsAutoConfigurationTest.java index a625252eacef..d9c9053b53ea 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationAnnotationsAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationAnnotationsAutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationWithSpanAspectTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationWithSpanAspectTest.java similarity index 99% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationWithSpanAspectTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationWithSpanAspectTest.java index 69f71af6d71b..9d6818b367bf 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/InstrumentationWithSpanAspectTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/annotations/InstrumentationWithSpanAspectTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations; import static io.opentelemetry.api.common.AttributeKey.stringKey; import static io.opentelemetry.api.trace.SpanKind.CLIENT; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/micrometer/MicrometerBridgeAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/micrometer/MicrometerBridgeAutoConfigurationTest.java similarity index 95% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/micrometer/MicrometerBridgeAutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/micrometer/MicrometerBridgeAutoConfigurationTest.java index 753e660bf72e..2994c26414f4 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/micrometer/MicrometerBridgeAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/micrometer/MicrometerBridgeAutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.micrometer; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.micrometer; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java similarity index 96% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java index b7bc9a25b997..118076a97dea 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2DbcInstrumentationAutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.r2dbc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.r2dbc; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.instrumentation.testing.junit.LibraryInstrumentationExtension; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/SpringWebInstrumentationAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/SpringWebInstrumentationAutoConfigurationTest.java similarity index 97% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/SpringWebInstrumentationAutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/SpringWebInstrumentationAutoConfigurationTest.java index 9091047c8432..108cb5d3efed 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/SpringWebInstrumentationAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/web/SpringWebInstrumentationAutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.web; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java similarity index 95% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java index ba1bca851cf7..6ec594630095 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/SpringWebfluxInstrumentationAutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webflux; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessorTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/WebClientBeanPostProcessorTest.java similarity index 97% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessorTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/WebClientBeanPostProcessorTest.java index 7289ea828950..5aca77fd32ce 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webflux/WebClientBeanPostProcessorTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webflux/WebClientBeanPostProcessorTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webflux; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java similarity index 95% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java index fd3144b46e5b..31835cbe93c7 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/webmvc/SpringWebMvcInstrumentation5AutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.webmvc; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assumptions.assumeFalse; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/properties/OtlpExporterPropertiesTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtlpExporterPropertiesTest.java similarity index 86% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/properties/OtlpExporterPropertiesTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtlpExporterPropertiesTest.java index 4146a76a090f..4d6ea10115ae 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/properties/OtlpExporterPropertiesTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/properties/OtlpExporterPropertiesTest.java @@ -3,16 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.properties; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.entry; -import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.PropagationProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; import java.util.Arrays; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/DistroVersionResourceProviderTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/DistroVersionResourceProviderTest.java similarity index 91% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/DistroVersionResourceProviderTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/DistroVersionResourceProviderTest.java index 1454354fdbcf..e05fa73fc36c 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/DistroVersionResourceProviderTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/DistroVersionResourceProviderTest.java @@ -3,13 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.resources; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources; import static org.assertj.core.api.Assertions.assertThat; import com.google.common.collect.ImmutableMap; import io.opentelemetry.api.common.AttributeKey; -import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; import org.junit.jupiter.api.DisplayName; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/SpringConfigPropertiesTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringConfigPropertiesTest.java similarity index 80% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/SpringConfigPropertiesTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringConfigPropertiesTest.java index f9488ea49955..44cc94df327b 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/SpringConfigPropertiesTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringConfigPropertiesTest.java @@ -3,16 +3,16 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.resources; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.entry; -import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.PropagationProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtelResourceProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtlpExporterProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.PropagationProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.SpringConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; import java.util.HashMap; import java.util.Map; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/SpringResourceProviderTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringResourceProviderTest.java similarity index 81% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/SpringResourceProviderTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringResourceProviderTest.java index c8187e6040db..001ebf398f5a 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/resources/SpringResourceProviderTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/resources/SpringResourceProviderTest.java @@ -3,14 +3,13 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.resources; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources; -import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.PropagationProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources.SpringResourceProvider; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtelResourceProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtlpExporterProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.PropagationProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.SpringConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; import io.opentelemetry.sdk.testing.assertj.AttributesAssert; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/testLogbackAppender/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/testLogbackAppender/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderTest.java similarity index 97% rename from instrumentation/spring/spring-boot-autoconfigure/src/testLogbackAppender/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/testLogbackAppender/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderTest.java index 9d1336b67ff6..818296833e76 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/testLogbackAppender/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackAppenderTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/testLogbackAppender/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackAppenderTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.logging; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/testLogbackAppender/resources/logback-test.xml b/instrumentation/spring/spring-boot-autoconfigure-2/src/testLogbackAppender/resources/logback-test.xml similarity index 100% rename from instrumentation/spring/spring-boot-autoconfigure/src/testLogbackAppender/resources/logback-test.xml rename to instrumentation/spring/spring-boot-autoconfigure-2/src/testLogbackAppender/resources/logback-test.xml diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/testLogbackMissing/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackMissingTest.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/testLogbackMissing/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackMissingTest.java similarity index 87% rename from instrumentation/spring/spring-boot-autoconfigure/src/testLogbackMissing/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackMissingTest.java rename to instrumentation/spring/spring-boot-autoconfigure-2/src/testLogbackMissing/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackMissingTest.java index 4afcc33f32aa..f4beb3e47205 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/testLogbackMissing/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/logging/LogbackMissingTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/testLogbackMissing/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/logging/LogbackMissingTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging; +package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.logging; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts b/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts index 538de846c7e1..178691cc34bf 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts +++ b/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts @@ -2,8 +2,7 @@ plugins { id("otel.library-instrumentation") } -// Name the Spring Boot modules in accordance with https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.developing-auto-configuration.custom-starter -base.archivesName.set("opentelemetry-spring-boot-3") +base.archivesName.set("opentelemetry-autoconfigure-spring-boot-3") group = "io.opentelemetry.instrumentation" otelJava { @@ -13,11 +12,13 @@ otelJava { dependencies { val springBootVersion = "3.2.4" library("org.springframework.boot:spring-boot-starter-web:$springBootVersion") - implementation(project(":instrumentation:spring:spring-boot-autoconfigure")) + implementation(project(":instrumentation:spring:spring-boot-autoconfigure-2")) implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") implementation(project(":instrumentation:spring:spring-web:spring-web-3.1:library")) + implementation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-6.0:library")) + compileOnly("jakarta.servlet:jakarta.servlet-api:5.0.0") - testImplementation(project(":instrumentation:spring:spring-boot-autoconfigure")) + testImplementation(project(":instrumentation:spring:spring-boot-autoconfigure-2")) testLibrary("org.springframework.boot:spring-boot-starter-test:$springBootVersion") { exclude("org.junit.vintage", "junit-vintage-engine") } diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java similarity index 79% rename from instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java rename to instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java index ae01b6efa4ac..a3b48085646b 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/annotations/OpenTelemetryAnnotationsRuntimeHints.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations; +package io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.annotations; import org.springframework.aot.hint.MemberCategory; import org.springframework.aot.hint.RuntimeHints; @@ -18,7 +18,7 @@ public void registerHints(RuntimeHints hints, ClassLoader classLoader) { .reflection() .registerType( TypeReference.of( - "io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations.InstrumentationWithSpanAspect"), + "io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations.InstrumentationWithSpanAspect"), hint -> hint.withMembers(MemberCategory.INVOKE_PUBLIC_METHODS)); } } diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientBeanPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientBeanPostProcessor.java similarity index 89% rename from instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientBeanPostProcessor.java rename to instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientBeanPostProcessor.java index afc7df6824b6..fd448ad77980 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientBeanPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientBeanPostProcessor.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web; +package io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.web; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.instrumentation.spring.web.v3_1.SpringWebTelemetry; import io.opentelemetry.instrumentation.spring.web.v3_1.internal.WebTelemetryUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; @@ -15,7 +15,7 @@ import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.web.client.RestClient; -public final class RestClientBeanPostProcessor implements BeanPostProcessor { +final class RestClientBeanPostProcessor implements BeanPostProcessor { private final ObjectProvider openTelemetryProvider; private final ObjectProvider configPropertiesProvider; diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientInstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientInstrumentationAutoConfiguration.java similarity index 83% rename from instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientInstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientInstrumentationAutoConfiguration.java index f261dbcd2324..ef5fcca64b0f 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientInstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientInstrumentationAutoConfiguration.java @@ -3,10 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web; +package io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.web; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfiguration; @@ -20,7 +20,10 @@ /** * Configures {@link RestClient} for tracing. * - *

    Adds Open Telemetry instrumentation to {@link RestClient} beans after initialization + *

    Adds Open Telemetry instrumentation to {@link RestClient} beans after initialization. + * + *

    This class is internal and is hence not for public use. Its APIs are unstable and can change + * at any time. */ @ConditionalOnEnabledInstrumentation(module = "spring-web") @ConditionalOnClass(RestClient.class) diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java similarity index 75% rename from instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java rename to instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java index 18dd08df56ef..15ec1cf95d9b 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/webmvc/SpringWebMvc6InstrumentationAutoConfiguration.java @@ -3,11 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.webmvc; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.instrumentation.spring.webmvc.v6_0.SpringWebMvcTelemetry; import io.opentelemetry.instrumentation.spring.webmvc.v6_0.internal.SpringMvcBuilderUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; @@ -18,6 +18,10 @@ import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.web.servlet.DispatcherServlet; +/** + * This class is internal and is hence not for public use. Its APIs are unstable and can change at + * any time. + */ @ConditionalOnEnabledInstrumentation(module = "spring-webmvc") @ConditionalOnClass({Filter.class, OncePerRequestFilter.class, DispatcherServlet.class}) @Configuration diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring.factories b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 3aa46add58d1..000000000000 --- a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web.RestClientInstrumentationAutoConfiguration diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories index a1905a126f02..13207fe900de 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories @@ -1,2 +1,2 @@ org.springframework.aot.hint.RuntimeHintsRegistrar=\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations.OpenTelemetryAnnotationsRuntimeHints +io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.annotations.OpenTelemetryAnnotationsRuntimeHints diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 576dd0fab37a..18b469908e99 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,2 @@ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web.RestClientInstrumentationAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.web.RestClientInstrumentationAutoConfiguration +io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.webmvc.SpringWebMvc6InstrumentationAutoConfiguration diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientInstrumentationAutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientInstrumentationAutoConfigurationTest.java similarity index 96% rename from instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientInstrumentationAutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientInstrumentationAutoConfigurationTest.java index 58237e0f8fd8..990ceb989028 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/web/RestClientInstrumentationAutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/web/RestClientInstrumentationAutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web; +package io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.web; import static org.assertj.core.api.Assertions.assertThat; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java b/instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java similarity index 95% rename from instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java rename to instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java index d84df1a203ef..b50d1af4729c 100644 --- a/instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java +++ b/instrumentation/spring/spring-boot-autoconfigure-3/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/v3/internal/instrumentation/webmvc/SpringWebMvcInstrumentation6AutoConfigurationTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc; +package io.opentelemetry.instrumentation.spring.autoconfigure.v3.internal.instrumentation.webmvc; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assumptions.assumeTrue; diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/EnableOpenTelemetry.java b/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/EnableOpenTelemetry.java deleted file mode 100644 index e299776c2f69..000000000000 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/EnableOpenTelemetry.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.instrumentation.spring.autoconfigure; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; - -/** - * Convenient annotation to leverage Spring autoconfiguration for OpenTelemetry in non-Spring Boot - * projects. - */ -@Configuration -@ComponentScan(basePackages = "io.opentelemetry.instrumentation.spring.autoconfigure") -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -public @interface EnableOpenTelemetry {} diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories b/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 9ad2f41464f5..000000000000 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,15 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations.InstrumentationAnnotationsAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.kafka.KafkaInstrumentationAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.mongo.MongoClientInstrumentationAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging.OpenTelemetryAppenderAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc.JdbcInstrumentationAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.micrometer.MicrometerBridgeAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.r2dbc.R2dbcInstrumentationAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web.SpringWebInstrumentationAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux.SpringWebfluxInstrumentationAutoConfiguration,\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc.SpringWebMvc5InstrumentationAutoConfiguration - -org.springframework.context.ApplicationListener=\ -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging.LogbackAppenderApplicationListener diff --git a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 4d7a3f31c3b4..000000000000 --- a/instrumentation/spring/spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1,11 +0,0 @@ -io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.annotations.InstrumentationAnnotationsAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.kafka.KafkaInstrumentationAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.mongo.MongoClientInstrumentationAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.logging.OpenTelemetryAppenderAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.jdbc.JdbcInstrumentationAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.micrometer.MicrometerBridgeAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.r2dbc.R2dbcInstrumentationAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.web.SpringWebInstrumentationAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webflux.SpringWebfluxInstrumentationAutoConfiguration -io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.webmvc.SpringWebMvc6InstrumentationAutoConfiguration diff --git a/instrumentation/spring/starters/spring-boot-starter/build.gradle.kts b/instrumentation/spring/starters/spring-boot-starter/build.gradle.kts index 83bc9b8f7c0b..24c00943c549 100644 --- a/instrumentation/spring/starters/spring-boot-starter/build.gradle.kts +++ b/instrumentation/spring/starters/spring-boot-starter/build.gradle.kts @@ -10,7 +10,7 @@ val springBootVersion = "2.6.15" dependencies { compileOnly("org.springframework.boot:spring-boot-starter:$springBootVersion") compileOnly("org.springframework.boot:spring-boot-starter-aop:$springBootVersion") - api(project(":instrumentation:spring:spring-boot-autoconfigure")) + api(project(":instrumentation:spring:spring-boot-autoconfigure-2")) api(project(":instrumentation:spring:spring-boot-autoconfigure-3")) api(project(":instrumentation-annotations")) implementation(project(":instrumentation:resources:library")) diff --git a/instrumentation/spring/starters/zipkin-spring-boot-starter/README.md b/instrumentation/spring/starters/zipkin-spring-boot-starter/README.md index 3302d231331a..a91e52ea4d5a 100644 --- a/instrumentation/spring/starters/zipkin-spring-boot-starter/README.md +++ b/instrumentation/spring/starters/zipkin-spring-boot-starter/README.md @@ -1,7 +1,7 @@ # OpenTelemetry Zipkin Exporter Starter -The OpenTelemetry Exporter Starter for Java is a starter package that includes packages required to enable tracing using OpenTelemetry. It also provides the dependency and corresponding auto-configuration. Check out [opentelemetry-spring-boot-autoconfigure](../../spring-boot-autoconfigure/README.md#features) for the list of supported libraries and features. +The OpenTelemetry Exporter Starter for Java is a starter package that includes packages required to enable tracing using OpenTelemetry. It also provides the dependency and corresponding auto-configuration. Check out [opentelemetry-spring-boot-autoconfigure](../../spring-boot-autoconfigure-2/README.md#features) for the list of supported libraries and features. -OpenTelemetry Zipkin Exporter Starter is a starter package that includes the opentelemetry-api, opentelemetry-sdk, opentelemetry-extension-annotations, opentelemetry-logging-exporter, opentelemetry-spring-boot-autoconfigurations and spring framework starters required to setup distributed tracing. It also provides the [opentelemetry-exporters-zipkin](https://github.com/open-telemetry/opentelemetry-java/tree/main/exporters/zipkin) artifact and corresponding exporter auto-configuration. Check out [opentelemetry-spring-boot-autoconfigure](../../spring-boot-autoconfigure/README.md#features) for the list of supported libraries and features. +OpenTelemetry Zipkin Exporter Starter is a starter package that includes the opentelemetry-api, opentelemetry-sdk, opentelemetry-extension-annotations, opentelemetry-logging-exporter, opentelemetry-spring-boot-autoconfigurations and spring framework starters required to setup distributed tracing. It also provides the [opentelemetry-exporters-zipkin](https://github.com/open-telemetry/opentelemetry-java/tree/main/exporters/zipkin) artifact and corresponding exporter auto-configuration. Check out [opentelemetry-spring-boot-autoconfigure](../../spring-boot-autoconfigure-2/README.md#features) for the list of supported libraries and features. Documentation for the OpenTelemetry Zipkin Exporter Starter can be found [here](https://opentelemetry.io/docs/zero-code/java/spring-boot/#zipkin-starter). diff --git a/settings.gradle.kts b/settings.gradle.kts index 85b8498cffa1..7cbfdaa083fc 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -550,7 +550,7 @@ include(":instrumentation:servlet:servlet-javax-common:javaagent") include(":instrumentation:spark-2.3:javaagent") include(":instrumentation:spring:spring-batch-3.0:javaagent") include(":instrumentation:spring:spring-boot-actuator-autoconfigure-2.0:javaagent") -include(":instrumentation:spring:spring-boot-autoconfigure") +include(":instrumentation:spring:spring-boot-autoconfigure-2") include(":instrumentation:spring:spring-boot-autoconfigure-3") include(":instrumentation:spring:spring-boot-resources:javaagent") include(":instrumentation:spring:spring-boot-resources:javaagent-unit-tests") diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmKafkaSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmKafkaSpringStarterSmokeTest.java index 8be2b86e9539..b99c537aee4c 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmKafkaSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmKafkaSpringStarterSmokeTest.java @@ -6,8 +6,8 @@ package io.opentelemetry.spring.smoketest; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration; -import io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.kafka.KafkaInstrumentationAutoConfiguration; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.kafka.KafkaInstrumentationAutoConfiguration; import java.time.Duration; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmMongodbSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmMongodbSpringStarterSmokeTest.java index ac213a4b4669..3e667e4c9e3b 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmMongodbSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractJvmMongodbSpringStarterSmokeTest.java @@ -7,8 +7,8 @@ import com.mongodb.client.MongoClient; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration; -import io.opentelemetry.instrumentation.spring.autoconfigure.instrumentation.mongo.MongoClientInstrumentationAutoConfiguration; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.mongo.MongoClientInstrumentationAutoConfiguration; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; diff --git a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java index 4e802dd3bccb..773c00e2cf8d 100644 --- a/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java +++ b/smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java @@ -12,10 +12,10 @@ import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.trace.SpanKind; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.PropagationProperties; -import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtelResourceProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtlpExporterProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.PropagationProperties; +import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.SpringConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties; diff --git a/smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts b/smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts index cc34ef0d91bb..a1ac6fc9a58e 100644 --- a/smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts +++ b/smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts @@ -13,7 +13,7 @@ dependencies { compileOnly("org.springframework.boot:spring-boot-starter") compileOnly("org.springframework.boot:spring-boot-starter-test") api(project(":testing-common")) - api(project(":instrumentation:spring:spring-boot-autoconfigure")) + api(project(":instrumentation:spring:spring-boot-autoconfigure-2")) api("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi") } From 77393359aab75a8e27a506f1f79a4292049469df Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Fri, 12 Jul 2024 23:20:44 +0200 Subject: [PATCH 37/43] make spring starter stable (#11763) --- .../opentelemetry-autoconfigure-spring-boot-2.txt | 8 ++++++++ .../opentelemetry-autoconfigure-spring-boot-3.txt | 2 ++ .../opentelemetry-spring-boot-starter.txt | 2 ++ .../instrumentation/r2dbc/v1_0/R2dbcSingletons.java | 4 ++-- .../library-instrumentation-shaded/build.gradle.kts | 6 +++++- .../spring/spring-boot-autoconfigure-2/build.gradle.kts | 1 + .../spring/spring-boot-autoconfigure-2/gradle.properties | 1 + .../r2dbc/R2dbcInstrumentingPostProcessor.java | 2 +- .../spring/spring-boot-autoconfigure-3/build.gradle.kts | 1 + .../spring/spring-boot-autoconfigure-3/gradle.properties | 1 + .../spring/starters/spring-boot-starter/build.gradle.kts | 1 + .../spring/starters/spring-boot-starter/gradle.properties | 1 + 12 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 docs/apidiffs/current_vs_latest/opentelemetry-autoconfigure-spring-boot-2.txt create mode 100644 docs/apidiffs/current_vs_latest/opentelemetry-autoconfigure-spring-boot-3.txt create mode 100644 docs/apidiffs/current_vs_latest/opentelemetry-spring-boot-starter.txt create mode 100644 instrumentation/spring/spring-boot-autoconfigure-2/gradle.properties create mode 100644 instrumentation/spring/spring-boot-autoconfigure-3/gradle.properties create mode 100644 instrumentation/spring/starters/spring-boot-starter/gradle.properties diff --git a/docs/apidiffs/current_vs_latest/opentelemetry-autoconfigure-spring-boot-2.txt b/docs/apidiffs/current_vs_latest/opentelemetry-autoconfigure-spring-boot-2.txt new file mode 100644 index 000000000000..74cea130e500 --- /dev/null +++ b/docs/apidiffs/current_vs_latest/opentelemetry-autoconfigure-spring-boot-2.txt @@ -0,0 +1,8 @@ +Comparing source compatibility of opentelemetry-autoconfigure-spring-boot-2-2.6.0-SNAPSHOT.jar against ++++ NEW CLASS: PUBLIC(+) io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration (not serializable) + +++ CLASS FILE FORMAT VERSION: 52.0 <- n.a. + +++ NEW SUPERCLASS: java.lang.Object + +++ NEW CONSTRUCTOR: PUBLIC(+) OpenTelemetryAutoConfiguration() + +++ NEW ANNOTATION: org.springframework.context.annotation.Configuration + +++ NEW ANNOTATION: org.springframework.boot.context.properties.EnableConfigurationProperties + +++ NEW ELEMENT: value=io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtlpExporterProperties,io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtelResourceProperties,io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.PropagationProperties (+) diff --git a/docs/apidiffs/current_vs_latest/opentelemetry-autoconfigure-spring-boot-3.txt b/docs/apidiffs/current_vs_latest/opentelemetry-autoconfigure-spring-boot-3.txt new file mode 100644 index 000000000000..0737e9b6180b --- /dev/null +++ b/docs/apidiffs/current_vs_latest/opentelemetry-autoconfigure-spring-boot-3.txt @@ -0,0 +1,2 @@ +Comparing source compatibility of opentelemetry-autoconfigure-spring-boot-3-2.6.0-SNAPSHOT.jar against +No changes. \ No newline at end of file diff --git a/docs/apidiffs/current_vs_latest/opentelemetry-spring-boot-starter.txt b/docs/apidiffs/current_vs_latest/opentelemetry-spring-boot-starter.txt new file mode 100644 index 000000000000..587bf3b27164 --- /dev/null +++ b/docs/apidiffs/current_vs_latest/opentelemetry-spring-boot-starter.txt @@ -0,0 +1,2 @@ +Comparing source compatibility of opentelemetry-spring-boot-starter-2.6.0-SNAPSHOT.jar against +No changes. \ No newline at end of file diff --git a/instrumentation/r2dbc-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/r2dbc/v1_0/R2dbcSingletons.java b/instrumentation/r2dbc-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/r2dbc/v1_0/R2dbcSingletons.java index 8ac63c9aa873..36ebe81accbf 100644 --- a/instrumentation/r2dbc-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/r2dbc/v1_0/R2dbcSingletons.java +++ b/instrumentation/r2dbc-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/r2dbc/v1_0/R2dbcSingletons.java @@ -7,8 +7,8 @@ import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.instrumentation.api.incubator.semconv.net.PeerServiceAttributesExtractor; -import io.opentelemetry.instrumentation.r2dbc.v1_0.R2dbcTelemetry; -import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.R2dbcNetAttributesGetter; +import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.shaded.R2dbcTelemetry; +import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.shaded.internal.R2dbcNetAttributesGetter; import io.opentelemetry.javaagent.bootstrap.internal.AgentCommonConfig; import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; diff --git a/instrumentation/r2dbc-1.0/library-instrumentation-shaded/build.gradle.kts b/instrumentation/r2dbc-1.0/library-instrumentation-shaded/build.gradle.kts index 7551f9c0cf68..4367637190c8 100644 --- a/instrumentation/r2dbc-1.0/library-instrumentation-shaded/build.gradle.kts +++ b/instrumentation/r2dbc-1.0/library-instrumentation-shaded/build.gradle.kts @@ -23,7 +23,11 @@ tasks { } relocate( "io.r2dbc.proxy", - "io.opentelemetry.instrumentation.r2dbc.v1_0.shaded.io.r2dbc.proxy" + "io.opentelemetry.instrumentation.r2dbc.v1_0.internal.shaded.io.r2dbc.proxy" + ) + relocate( + "io.opentelemetry.instrumentation.r2dbc.v1_0", + "io.opentelemetry.instrumentation.r2dbc.v1_0.internal.shaded" ) } diff --git a/instrumentation/spring/spring-boot-autoconfigure-2/build.gradle.kts b/instrumentation/spring/spring-boot-autoconfigure-2/build.gradle.kts index b637006b2226..cf1f041567de 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-2/build.gradle.kts +++ b/instrumentation/spring/spring-boot-autoconfigure-2/build.gradle.kts @@ -1,5 +1,6 @@ plugins { id("otel.library-instrumentation") + id("otel.japicmp-conventions") } base.archivesName.set("opentelemetry-autoconfigure-spring-boot-2") diff --git a/instrumentation/spring/spring-boot-autoconfigure-2/gradle.properties b/instrumentation/spring/spring-boot-autoconfigure-2/gradle.properties new file mode 100644 index 000000000000..45d64bec279d --- /dev/null +++ b/instrumentation/spring/spring-boot-autoconfigure-2/gradle.properties @@ -0,0 +1 @@ +otel.stable=true diff --git a/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java index 815e735d87d9..9bc780ecc6ce 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java +++ b/instrumentation/spring/spring-boot-autoconfigure-2/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/v2/internal/instrumentation/r2dbc/R2dbcInstrumentingPostProcessor.java @@ -6,7 +6,7 @@ package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.r2dbc; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.instrumentation.r2dbc.v1_0.R2dbcTelemetry; +import io.opentelemetry.instrumentation.r2dbc.v1_0.internal.shaded.R2dbcTelemetry; import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.r2dbc.spi.ConnectionFactory; diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts b/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts index 178691cc34bf..0ec7f0aa4195 100644 --- a/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts +++ b/instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts @@ -1,5 +1,6 @@ plugins { id("otel.library-instrumentation") + id("otel.japicmp-conventions") } base.archivesName.set("opentelemetry-autoconfigure-spring-boot-3") diff --git a/instrumentation/spring/spring-boot-autoconfigure-3/gradle.properties b/instrumentation/spring/spring-boot-autoconfigure-3/gradle.properties new file mode 100644 index 000000000000..45d64bec279d --- /dev/null +++ b/instrumentation/spring/spring-boot-autoconfigure-3/gradle.properties @@ -0,0 +1 @@ +otel.stable=true diff --git a/instrumentation/spring/starters/spring-boot-starter/build.gradle.kts b/instrumentation/spring/starters/spring-boot-starter/build.gradle.kts index 24c00943c549..43427c5323d7 100644 --- a/instrumentation/spring/starters/spring-boot-starter/build.gradle.kts +++ b/instrumentation/spring/starters/spring-boot-starter/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("otel.java-conventions") id("otel.publish-conventions") + id("otel.japicmp-conventions") } group = "io.opentelemetry.instrumentation" diff --git a/instrumentation/spring/starters/spring-boot-starter/gradle.properties b/instrumentation/spring/starters/spring-boot-starter/gradle.properties new file mode 100644 index 000000000000..45d64bec279d --- /dev/null +++ b/instrumentation/spring/starters/spring-boot-starter/gradle.properties @@ -0,0 +1 @@ +otel.stable=true From 59238e3235505e86dfd86322135229bfd72121c2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:14:29 -0700 Subject: [PATCH 38/43] chore(deps): update dependency gradle to v8.9 (main) (#11798) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .../gradle/wrapper/gradle-wrapper.jar | Bin 43453 -> 43504 bytes .../gradle/wrapper/gradle-wrapper.properties | 4 ++-- benchmark-overhead/gradlew | 5 ++++- benchmark-overhead/gradlew.bat | 2 ++ .../distro/gradle/wrapper/gradle-wrapper.jar | Bin 43453 -> 43504 bytes .../gradle/wrapper/gradle-wrapper.properties | 4 ++-- examples/distro/gradlew | 5 ++++- examples/distro/gradlew.bat | 2 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 43453 -> 43504 bytes .../gradle/wrapper/gradle-wrapper.properties | 4 ++-- examples/extension/gradlew | 5 ++++- examples/extension/gradlew.bat | 2 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 43453 -> 43504 bytes .../gradle/wrapper/gradle-wrapper.properties | 4 ++-- gradle-plugins/gradlew | 5 ++++- gradle-plugins/gradlew.bat | 2 ++ gradle/wrapper/gradle-wrapper.jar | Bin 43453 -> 43504 bytes gradle/wrapper/gradle-wrapper.properties | 4 ++-- gradlew | 5 ++++- gradlew.bat | 2 ++ 20 files changed, 40 insertions(+), 15 deletions(-) diff --git a/benchmark-overhead/gradle/wrapper/gradle-wrapper.jar b/benchmark-overhead/gradle/wrapper/gradle-wrapper.jar index e6441136f3d4ba8a0da8d277868979cfbc8ad796..2c3521197d7c4586c843d1d3e9090525f1898cde 100644 GIT binary patch delta 8703 zcmYLtRag{&)-BQ@Dc#cDDP2Q%r*wBHJ*0FE-92)X$3_b$L+F2Fa28UVeg>}yRjC}^a^+(Cdu_FTlV;w_x7ig{yd(NYi_;SHXEq`|Qa`qPMf1B~v#%<*D zn+KWJfX#=$FMopqZ>Cv7|0WiA^M(L@tZ=_Hi z*{?)#Cn^{TIzYD|H>J3dyXQCNy8f@~OAUfR*Y@C6r=~KMZ{X}q`t@Er8NRiCUcR=?Y+RMv`o0i{krhWT6XgmUt!&X=e_Q2=u@F=PXKpr9-FL@0 zfKigQcGHyPn{3vStLFk=`h@+Lh1XBNC-_nwNU{ytxZF$o}oyVfHMj|ZHWmEmZeNIlO5eLco<=RI&3=fYK*=kmv*75aqE~&GtAp(VJ z`VN#&v2&}|)s~*yQ)-V2@RmCG8lz5Ysu&I_N*G5njY`<@HOc*Bj)ZwC%2|2O<%W;M z+T{{_bHLh~n(rM|8SpGi8Whep9(cURNRVfCBQQ2VG<6*L$CkvquqJ~9WZ~!<6-EZ&L(TN zpSEGXrDiZNz)`CzG>5&_bxzBlXBVs|RTTQi5GX6s5^)a3{6l)Wzpnc|Cc~(5mO)6; z6gVO2Zf)srRQ&BSeg0)P2en#<)X30qXB{sujc3Ppm4*)}zOa)@YZ<%1oV9K%+(VzJ zk(|p>q-$v>lImtsB)`Mm;Z0LaU;4T1BX!wbnu-PSlH1%`)jZZJ(uvbmM^is*r=Y{B zI?(l;2n)Nx!goxrWfUnZ?y5$=*mVU$Lpc_vS2UyW>tD%i&YYXvcr1v7hL2zWkHf42 z_8q$Gvl>%468i#uV`RoLgrO+R1>xP8I^7~&3(=c-Z-#I`VDnL`6stnsRlYL zJNiI`4J_0fppF<(Ot3o2w?UT*8QQrk1{#n;FW@4M7kR}oW-}k6KNQaGPTs=$5{Oz} zUj0qo@;PTg#5moUF`+?5qBZ)<%-$qw(Z?_amW*X}KW4j*FmblWo@SiU16V>;nm`Eg zE0MjvGKN_eA%R0X&RDT!hSVkLbF`BFf;{8Nym#1?#5Fb?bAHY(?me2tww}5K9AV9y+T7YaqaVx8n{d=K`dxS|=))*KJn(~8u@^J% zj;8EM+=Dq^`HL~VPag9poTmeP$E`npJFh^|=}Mxs2El)bOyoimzw8(RQle(f$n#*v zzzG@VOO(xXiG8d?gcsp-Trn-36}+S^w$U(IaP`-5*OrmjB%Ozzd;jfaeRHAzc_#?- z`0&PVZANQIcb1sS_JNA2TFyN$*yFSvmZbqrRhfME3(PJ62u%KDeJ$ZeLYuiQMC2Sc z35+Vxg^@gSR6flp>mS|$p&IS7#fL@n20YbNE9(fH;n%C{w?Y0=N5?3GnQLIJLu{lm zV6h@UDB+23dQoS>>)p`xYe^IvcXD*6nDsR;xo?1aNTCMdbZ{uyF^zMyloFDiS~P7W>WuaH2+`xp0`!d_@>Fn<2GMt z&UTBc5QlWv1)K5CoShN@|0y1M?_^8$Y*U(9VrroVq6NwAJe zxxiTWHnD#cN0kEds(wN8YGEjK&5%|1pjwMH*81r^aXR*$qf~WiD2%J^=PHDUl|=+f zkB=@_7{K$Fo0%-WmFN_pyXBxl^+lLG+m8Bk1OxtFU}$fQU8gTYCK2hOC0sVEPCb5S z4jI07>MWhA%cA{R2M7O_ltorFkJ-BbmPc`{g&Keq!IvDeg8s^PI3a^FcF z@gZ2SB8$BPfenkFc*x#6&Z;7A5#mOR5qtgE}hjZ)b!MkOQ zEqmM3s>cI_v>MzM<2>U*eHoC69t`W`^9QBU^F$ z;nU4%0$)$ILukM6$6U+Xts8FhOFb|>J-*fOLsqVfB=vC0v2U&q8kYy~x@xKXS*b6i zy=HxwsDz%)!*T5Bj3DY1r`#@Tc%LKv`?V|g6Qv~iAnrqS+48TfuhmM)V_$F8#CJ1j4;L}TBZM~PX!88IT+lSza{BY#ER3TpyMqi# z#{nTi!IsLYt9cH?*y^bxWw4djrd!#)YaG3|3>|^1mzTuXW6SV4+X8sA2dUWcjH)a3 z&rXUMHbOO?Vcdf3H<_T-=DB0M4wsB;EL3lx?|T(}@)`*C5m`H%le54I{bfg7GHqYB z9p+30u+QXMt4z&iG%LSOk1uw7KqC2}ogMEFzc{;5x`hU(rh0%SvFCBQe}M#RSWJv;`KM zf7D&z0a)3285{R$ZW%+I@JFa^oZN)vx77y_;@p0(-gz6HEE!w&b}>0b)mqz-(lfh4 zGt}~Hl@{P63b#dc`trFkguB}6Flu!S;w7lp_>yt|3U=c|@>N~mMK_t#LO{n;_wp%E zQUm=z6?JMkuQHJ!1JV$gq)q)zeBg)g7yCrP=3ZA|wt9%_l#yPjsS#C7qngav8etSX+s?JJ1eX-n-%WvP!IH1%o9j!QH zeP<8aW}@S2w|qQ`=YNC}+hN+lxv-Wh1lMh?Y;LbIHDZqVvW^r;^i1O<9e z%)ukq=r=Sd{AKp;kj?YUpRcCr*6)<@Mnp-cx{rPayiJ0!7Jng}27Xl93WgthgVEn2 zQlvj!%Q#V#j#gRWx7((Y>;cC;AVbPoX*mhbqK*QnDQQ?qH+Q*$u6_2QISr!Fn;B-F@!E+`S9?+Jr zt`)cc(ZJ$9q^rFohZJoRbP&X3)sw9CLh#-?;TD}!i>`a;FkY6(1N8U-T;F#dGE&VI zm<*Tn>EGW(TioP@hqBg zn6nEolK5(}I*c;XjG!hcI0R=WPzT)auX-g4Znr;P`GfMa*!!KLiiTqOE*STX4C(PD z&}1K|kY#>~>sx6I0;0mUn8)=lV?o#Bcn3tn|M*AQ$FscYD$0H(UKzC0R588Mi}sFl z@hG4h^*;_;PVW#KW=?>N)4?&PJF&EO(X?BKOT)OCi+Iw)B$^uE)H>KQZ54R8_2z2_ z%d-F7nY_WQiSB5vWd0+>^;G^j{1A%-B359C(Eji{4oLT9wJ~80H`6oKa&{G- z)2n-~d8S0PIkTW_*Cu~nwVlE&Zd{?7QbsGKmwETa=m*RG>g??WkZ|_WH7q@ zfaxzTsOY2B3!Fu;rBIJ~aW^yqn{V;~4LS$xA zGHP@f>X^FPnSOxEbrnEOd*W7{c(c`b;RlOEQ*x!*Ek<^p*C#8L=Ty^S&hg zaV)g8<@!3p6(@zW$n7O8H$Zej+%gf^)WYc$WT{zp<8hmn!PR&#MMOLm^hcL2;$o=Q zXJ=9_0vO)ZpNxPjYs$nukEGK2bbL%kc2|o|zxYMqK8F?$YtXk9Owx&^tf`VvCCgUz zLNmDWtociY`(}KqT~qnVUkflu#9iVqXw7Qi7}YT@{K2Uk(Wx7Q-L}u^h+M(81;I*J ze^vW&-D&=aOQq0lF5nLd)OxY&duq#IdK?-r7En0MnL~W51UXJQFVVTgSl#85=q$+| zHI%I(T3G8ci9Ubq4(snkbQ*L&ksLCnX_I(xa1`&(Bp)|fW$kFot17I)jyIi06dDTTiI%gNR z8i*FpB0y0 zjzWln{UG1qk!{DEE5?0R5jsNkJ(IbGMjgeeNL4I9;cP&>qm%q7cHT}@l0v;TrsuY0 zUg;Z53O-rR*W!{Q*Gp26h`zJ^p&FmF0!EEt@R3aT4YFR0&uI%ko6U0jzEYk_xScP@ zyk%nw`+Ic4)gm4xvCS$)y;^)B9^}O0wYFEPas)!=ijoBCbF0DbVMP z`QI7N8;88x{*g=51AfHx+*hoW3hK(?kr(xVtKE&F-%Tb}Iz1Z8FW>usLnoCwr$iWv ztOVMNMV27l*fFE29x}veeYCJ&TUVuxsd`hV-8*SxX@UD6au5NDhCQ4Qs{{CJQHE#4 z#bg6dIGO2oUZQVY0iL1(Q>%-5)<7rhnenUjOV53*9Qq?aU$exS6>;BJqz2|#{We_| zX;Nsg$KS<+`*5=WA?idE6G~kF9oQPSSAs#Mh-|)@kh#pPCgp&?&=H@Xfnz`5G2(95 z`Gx2RfBV~`&Eyq2S9m1}T~LI6q*#xC^o*EeZ#`}Uw)@RD>~<_Kvgt2?bRbO&H3&h- zjB&3bBuWs|YZSkmcZvX|GJ5u7#PAF$wj0ULv;~$7a?_R%e%ST{al;=nqj-<0pZiEgNznHM;TVjCy5E#4f?hudTr0W8)a6o;H; zhnh6iNyI^F-l_Jz$F`!KZFTG$yWdioL=AhImGr!$AJihd{j(YwqVmqxMKlqFj<_Hlj@~4nmrd~&6#f~9>r2_e-^nca(nucjf z;(VFfBrd0?k--U9L*iey5GTc|Msnn6prtF*!5AW3_BZ9KRO2(q7mmJZ5kz-yms`04e; z=uvr2o^{lVBnAkB_~7b7?1#rDUh4>LI$CH1&QdEFN4J%Bz6I$1lFZjDz?dGjmNYlD zDt}f;+xn-iHYk~V-7Fx!EkS``+w`-f&Ow>**}c5I*^1tpFdJk>vG23PKw}FrW4J#x zBm1zcp^){Bf}M|l+0UjvJXRjP3~!#`I%q*E=>?HLZ>AvB5$;cqwSf_*jzEmxxscH; zcl>V3s>*IpK`Kz1vP#APs#|tV9~#yMnCm&FOllccilcNmAwFdaaY7GKg&(AKG3KFj zk@%9hYvfMO;Vvo#%8&H_OO~XHlwKd()gD36!_;o z*7pl*o>x9fbe?jaGUO25ZZ@#qqn@|$B+q49TvTQnasc$oy`i~*o}Ka*>Wg4csQOZR z|Fs_6-04vj-Dl|B2y{&mf!JlPJBf3qG~lY=a*I7SBno8rLRdid7*Kl@sG|JLCt60# zqMJ^1u^Gsb&pBPXh8m1@4;)}mx}m%P6V8$1oK?|tAk5V6yyd@Ez}AlRPGcz_b!c;; z%(uLm1Cp=NT(4Hcbk;m`oSeW5&c^lybx8+nAn&fT(!HOi@^&l1lDci*?L#*J7-u}} z%`-*V&`F1;4fWsvcHOlZF#SD&j+I-P(Mu$L;|2IjK*aGG3QXmN$e}7IIRko8{`0h9 z7JC2vi2Nm>g`D;QeN@^AhC0hKnvL(>GUqs|X8UD1r3iUc+-R4$=!U!y+?p6rHD@TL zI!&;6+LK_E*REZ2V`IeFP;qyS*&-EOu)3%3Q2Hw19hpM$3>v!!YABs?mG44{L=@rjD%X-%$ajTW7%t_$7to%9d3 z8>lk z?_e}(m&>emlIx3%7{ER?KOVXi>MG_)cDK}v3skwd%Vqn0WaKa1;e=bK$~Jy}p#~`B zGk-XGN9v)YX)K2FM{HNY-{mloSX|a?> z8Om9viiwL|vbVF~j%~hr;|1wlC0`PUGXdK12w;5Wubw}miQZ)nUguh?7asm90n>q= z;+x?3haT5#62bg^_?VozZ-=|h2NbG%+-pJ?CY(wdMiJ6!0ma2x{R{!ys=%in;;5@v z{-rpytg){PNbCGP4Ig>=nJV#^ie|N68J4D;C<1=$6&boh&ol~#A?F-{9sBL*1rlZshXm~6EvG!X9S zD5O{ZC{EEpHvmD5K}ck+3$E~{xrrg*ITiA}@ZCoIm`%kVqaX$|#ddV$bxA{jux^uRHkH)o6#}fT6XE|2BzU zJiNOAqcxdcQdrD=U7OVqer@p>30l|ke$8h;Mny-+PP&OM&AN z9)!bENg5Mr2g+GDIMyzQpS1RHE6ow;O*ye;(Qqej%JC?!D`u;<;Y}1qi5cL&jm6d9 za{plRJ0i|4?Q%(t)l_6f8An9e2<)bL3eULUVdWanGSP9mm?PqFbyOeeSs9{qLEO-) zTeH*<$kRyrHPr*li6p+K!HUCf$OQIqwIw^R#mTN>@bm^E=H=Ger_E=ztfGV9xTgh=}Hep!i97A;IMEC9nb5DBA5J#a8H_Daq~ z6^lZ=VT)7=y}H3=gm5&j!Q79#e%J>w(L?xBcj_RNj44r*6^~nCZZYtCrLG#Njm$$E z7wP?E?@mdLN~xyWosgwkCot8bEY-rUJLDo7gukwm@;TjXeQ>fr(wKP%7LnH4Xsv?o zUh6ta5qPx8a5)WO4 zK37@GE@?tG{!2_CGeq}M8VW(gU6QXSfadNDhZEZ}W2dwm)>Y7V1G^IaRI9ugWCP#sw1tPtU|13R!nwd1;Zw8VMx4hUJECJkocrIMbJI zS9k2|`0$SD%;g_d0cmE7^MXP_;_6`APcj1yOy_NXU22taG9Z;C2=Z1|?|5c^E}dR& zRfK2Eo=Y=sHm@O1`62ciS1iKv9BX=_l7PO9VUkWS7xlqo<@OxlR*tn$_WbrR8F?ha zBQ4Y!is^AIsq-46^uh;=9B`gE#Sh+4m>o@RMZFHHi=qb7QcUrgTos$e z^4-0Z?q<7XfCP~d#*7?hwdj%LyPj2}bsdWL6HctL)@!tU$ftMmV=miEvZ2KCJXP%q zLMG&%rVu8HaaM-tn4abcSE$88EYmK|5%_29B*L9NyO|~j3m>YGXf6fQL$(7>Bm9o zjHfJ+lmYu_`+}xUa^&i81%9UGQ6t|LV45I)^+m@Lz@jEeF;?_*y>-JbK`=ZVsSEWZ z$p^SK_v(0d02AyIv$}*8m)9kjef1-%H*_daPdSXD6mpc>TW`R$h9On=Z9n>+f4swL zBz^(d9uaQ_J&hjDvEP{&6pNz-bg;A===!Ac%}bu^>0}E)wdH1nc}?W*q^J2SX_A*d zBLF@n+=flfH96zs@2RlOz&;vJPiG6In>$&{D+`DNgzPYVu8<(N&0yPt?G|>D6COM# zVd)6v$i-VtYfYi1h)pXvO}8KO#wuF=F^WJXPC+;hqpv>{Z+FZTP1w&KaPl?D)*A=( z8$S{Fh;Ww&GqSvia6|MvKJg-RpNL<6MXTl(>1}XFfziRvPaLDT1y_tjLYSGS$N;8| zZC*Hcp!~u?v~ty3&dBm`1A&kUe6@`q!#>P>ZZZgGRYhNIxFU6B>@f@YL%hOV0=9s# z?@0~aR1|d9LFoSI+li~@?g({Y0_{~~E_MycHTXz`EZmR2$J$3QVoA25j$9pe?Ub)d z`jbm8v&V0JVfY-^1mG=a`70a_tjafgi}z-8$smw7Mc`-!*6y{rB-xN1l`G3PLBGk~ z{o(KCV0HEfj*rMAiluQuIZ1tevmU@m{adQQr3xgS!e_WXw&eE?GjlS+tL0@x%Hm{1 zzUF^qF*2KAxY0$~pzVRpg9dA*)^ z7&wu-V$7+Jgb<5g;U1z*ymus?oZi7&gr!_3zEttV`=5VlLtf!e&~zv~PdspA0JCRz zZi|bO5d)>E;q)?}OADAhGgey#6(>+36XVThP%b#8%|a9B_H^)Nps1md_lVv5~OO@(*IJO@;eqE@@(y}KA- z`zj@%6q#>hIgm9}*-)n(^Xbdp8`>w~3JCC`(H{NUh8Umm{NUntE+eMg^WvSyL+ilV zff54-b59jg&r_*;*#P~ON#I=gAW99hTD;}nh_j;)B6*tMgP_gz4?=2EJZg$8IU;Ly<(TTC?^)& zj@%V!4?DU&tE=8)BX6f~x0K+w$%=M3;Fpq$VhETRlJ8LEEe;aUcG;nBe|2Gw>+h7CuJ-^gYFhQzDg(`e=!2f7t0AXrl zAx`RQ1u1+}?EkEWSb|jQN)~wOg#Ss&1oHoFBvg{Z|4#g$)mNzjKLq+8rLR(jC(QUC Ojj7^59?Sdh$^Qpp*~F>< delta 8662 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 diff --git a/benchmark-overhead/gradle/wrapper/gradle-wrapper.properties b/benchmark-overhead/gradle/wrapper/gradle-wrapper.properties index 8a1f6b97f473..68e8816d71c9 100644 --- a/benchmark-overhead/gradle/wrapper/gradle-wrapper.properties +++ b/benchmark-overhead/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/benchmark-overhead/gradlew b/benchmark-overhead/gradlew index b740cf13397a..f5feea6d6b11 100755 --- a/benchmark-overhead/gradlew +++ b/benchmark-overhead/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/benchmark-overhead/gradlew.bat b/benchmark-overhead/gradlew.bat index 25da30dbdeee..9d21a21834d5 100644 --- a/benchmark-overhead/gradlew.bat +++ b/benchmark-overhead/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/examples/distro/gradle/wrapper/gradle-wrapper.jar b/examples/distro/gradle/wrapper/gradle-wrapper.jar index e6441136f3d4ba8a0da8d277868979cfbc8ad796..2c3521197d7c4586c843d1d3e9090525f1898cde 100644 GIT binary patch delta 8703 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 Ojj7^59?Sdh$^Qpp*~F>< delta 8662 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 diff --git a/examples/distro/gradle/wrapper/gradle-wrapper.properties b/examples/distro/gradle/wrapper/gradle-wrapper.properties index 8a1f6b97f473..68e8816d71c9 100644 --- a/examples/distro/gradle/wrapper/gradle-wrapper.properties +++ b/examples/distro/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/examples/distro/gradlew b/examples/distro/gradlew index b740cf13397a..f5feea6d6b11 100755 --- a/examples/distro/gradlew +++ b/examples/distro/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/examples/distro/gradlew.bat b/examples/distro/gradlew.bat index 25da30dbdeee..9d21a21834d5 100644 --- a/examples/distro/gradlew.bat +++ b/examples/distro/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/examples/extension/gradle/wrapper/gradle-wrapper.jar b/examples/extension/gradle/wrapper/gradle-wrapper.jar index e6441136f3d4ba8a0da8d277868979cfbc8ad796..2c3521197d7c4586c843d1d3e9090525f1898cde 100644 GIT binary patch delta 8703 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 Ojj7^59?Sdh$^Qpp*~F>< delta 8662 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 diff --git a/examples/extension/gradle/wrapper/gradle-wrapper.properties b/examples/extension/gradle/wrapper/gradle-wrapper.properties index 8a1f6b97f473..68e8816d71c9 100644 --- a/examples/extension/gradle/wrapper/gradle-wrapper.properties +++ b/examples/extension/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/examples/extension/gradlew b/examples/extension/gradlew index b740cf13397a..f5feea6d6b11 100755 --- a/examples/extension/gradlew +++ b/examples/extension/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/examples/extension/gradlew.bat b/examples/extension/gradlew.bat index 25da30dbdeee..9d21a21834d5 100644 --- a/examples/extension/gradlew.bat +++ b/examples/extension/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/gradle-plugins/gradle/wrapper/gradle-wrapper.jar b/gradle-plugins/gradle/wrapper/gradle-wrapper.jar index e6441136f3d4ba8a0da8d277868979cfbc8ad796..2c3521197d7c4586c843d1d3e9090525f1898cde 100644 GIT binary patch delta 8703 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 Ojj7^59?Sdh$^Qpp*~F>< delta 8662 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 diff --git a/gradle-plugins/gradle/wrapper/gradle-wrapper.properties b/gradle-plugins/gradle/wrapper/gradle-wrapper.properties index 8a1f6b97f473..68e8816d71c9 100644 --- a/gradle-plugins/gradle/wrapper/gradle-wrapper.properties +++ b/gradle-plugins/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradle-plugins/gradlew b/gradle-plugins/gradlew index b740cf13397a..f5feea6d6b11 100755 --- a/gradle-plugins/gradlew +++ b/gradle-plugins/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradle-plugins/gradlew.bat b/gradle-plugins/gradlew.bat index 25da30dbdeee..9d21a21834d5 100644 --- a/gradle-plugins/gradlew.bat +++ b/gradle-plugins/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136f3d4ba8a0da8d277868979cfbc8ad796..2c3521197d7c4586c843d1d3e9090525f1898cde 100644 GIT binary patch delta 8703 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 Ojj7^59?Sdh$^Qpp*~F>< delta 8662 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8a1f6b97f473..68e8816d71c9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index b740cf13397a..f5feea6d6b11 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 25da30dbdeee..9d21a21834d5 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## From 746ef018613959ae67fbf21e608d3a879892248c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:15:32 -0700 Subject: [PATCH 39/43] chore(deps): update ubuntu docker tag to v24 (main) (#11771) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- smoke-tests/images/early-jdk8/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smoke-tests/images/early-jdk8/Dockerfile b/smoke-tests/images/early-jdk8/Dockerfile index 02c04ee4ac7e..0476bce8d9ec 100644 --- a/smoke-tests/images/early-jdk8/Dockerfile +++ b/smoke-tests/images/early-jdk8/Dockerfile @@ -1,5 +1,5 @@ # https://github.com/zulu-openjdk/zulu-openjdk/blob/master/ubuntu/8u412-8.78/Dockerfile -FROM ubuntu:jammy +FROM ubuntu:noble ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' From df41c4798cad170e137f9ad9ba68041f00cd5275 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Sat, 13 Jul 2024 16:17:47 +0800 Subject: [PATCH 40/43] Update instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java Co-authored-by: SylvainJuge <763082+SylvainJuge@users.noreply.github.com> --- .../api/incubator/semconv/db/DbClientAttributesExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java index 6ed81b24af11..172bd288102d 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java @@ -26,7 +26,7 @@ public final class DbClientAttributesExtractor // copied from DbIncubatingAttributes private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); - private static final AttributeKey DB_OPERATION_NAME_NAME = + private static final AttributeKey DB_OPERATION_NAME = AttributeKey.stringKey("db.operation.name"); /** Creates the database client attributes extractor with default configuration. */ From 339429151dde5eb897dedce556d7392f2afb4252 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Sat, 13 Jul 2024 16:18:37 +0800 Subject: [PATCH 41/43] Update instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java Co-authored-by: SylvainJuge <763082+SylvainJuge@users.noreply.github.com> --- .../api/incubator/semconv/db/DbClientAttributesExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java index 172bd288102d..675023f42132 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/DbClientAttributesExtractor.java @@ -44,6 +44,6 @@ public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST super.onStart(attributes, parentContext, request); internalSet(attributes, DB_QUERY_TEXT, getter.getStatement(request)); - internalSet(attributes, DB_OPERATION_NAME_NAME, getter.getOperation(request)); + internalSet(attributes, DB_OPERATION_NAME, getter.getOperation(request)); } } From b96c283a26cb40c9dc92e8d8875a6e18c6496542 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Sat, 13 Jul 2024 16:18:48 +0800 Subject: [PATCH 42/43] Update instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java Co-authored-by: SylvainJuge <763082+SylvainJuge@users.noreply.github.com> --- .../api/incubator/semconv/db/SqlClientAttributesExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java index 5f1d764eee85..0f5fe99f39a3 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java @@ -28,7 +28,7 @@ public final class SqlClientAttributesExtractor // copied from DbIncubatingAttributes private static final AttributeKey DB_QUERY_TEXT = AttributeKey.stringKey("db.query.text"); - private static final AttributeKey DB_OPERATION_NAME_NAME = + private static final AttributeKey DB_OPERATION_NAME = AttributeKey.stringKey("db.operation.name"); /** Creates the SQL client attributes extractor with default configuration. */ From d70fcb159e4c77764221f45dd930b262342c0e78 Mon Sep 17 00:00:00 2001 From: crossoverJie Date: Sat, 13 Jul 2024 16:19:16 +0800 Subject: [PATCH 43/43] Update instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java Co-authored-by: SylvainJuge <763082+SylvainJuge@users.noreply.github.com> --- .../api/incubator/semconv/db/SqlClientAttributesExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java index 0f5fe99f39a3..7f03cf0b8c49 100644 --- a/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java +++ b/instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/semconv/db/SqlClientAttributesExtractor.java @@ -73,7 +73,7 @@ public void onStart(AttributesBuilder attributes, Context parentContext, REQUEST attributes, DB_QUERY_TEXT, statementSanitizationEnabled ? sanitizedStatement.getFullStatement() : rawStatement); - internalSet(attributes, DB_OPERATION_NAME_NAME, operation); + internalSet(attributes, DB_OPERATION_NAME, operation); if (!SQL_CALL.equals(operation)) { internalSet(attributes, dbTableAttribute, sanitizedStatement.getMainIdentifier()); }