From d0c8dc4a249abdac972a31e2c1fe91cb14def446 Mon Sep 17 00:00:00 2001 From: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> Date: Fri, 10 May 2024 15:53:00 +0000 Subject: [PATCH 1/5] Update the OpenTelemetry SDK version to 1.38.0 --- dependencyManagement/build.gradle.kts | 2 +- examples/distro/build.gradle | 2 +- examples/extension/build.gradle | 2 +- licenses/licenses.md | 60 +++++++++---------- .../META-INF/LICENSE | 0 .../META-INF/LICENSE | 0 6 files changed, 33 insertions(+), 33 deletions(-) rename licenses/{zipkin-reporter-3.3.0.jar => zipkin-reporter-3.4.0.jar}/META-INF/LICENSE (100%) rename licenses/{zipkin-sender-okhttp3-3.3.0.jar => zipkin-sender-okhttp3-3.4.0.jar}/META-INF/LICENSE (100%) diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 2b4e8beadb37..2a1ee1e39628 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -8,7 +8,7 @@ val dependencyVersions = hashMapOf() rootProject.extra["versions"] = dependencyVersions // this line is managed by .github/scripts/update-sdk-version.sh -val otelSdkVersion = "1.37.0" +val otelSdkVersion = "1.38.0" val otelContribVersion = "1.35.0-alpha" val otelSdkAlphaVersion = otelSdkVersion.replaceFirst("(-SNAPSHOT)?$".toRegex(), "-alpha$1") diff --git a/examples/distro/build.gradle b/examples/distro/build.gradle index a38171af31d3..ff6d89a3b7c9 100644 --- a/examples/distro/build.gradle +++ b/examples/distro/build.gradle @@ -27,7 +27,7 @@ subprojects { ext { versions = [ // this line is managed by .github/scripts/update-sdk-version.sh - opentelemetrySdk : "1.37.0", + opentelemetrySdk : "1.38.0", // these lines are managed by .github/scripts/update-version.sh opentelemetryJavaagent : "2.4.0-SNAPSHOT", diff --git a/examples/extension/build.gradle b/examples/extension/build.gradle index dc29efe850f4..98161b17d058 100644 --- a/examples/extension/build.gradle +++ b/examples/extension/build.gradle @@ -23,7 +23,7 @@ version '1.0' ext { versions = [ // this line is managed by .github/scripts/update-sdk-version.sh - opentelemetrySdk : "1.37.0", + opentelemetrySdk : "1.38.0", // these lines are managed by .github/scripts/update-version.sh opentelemetryJavaagent : "2.4.0-SNAPSHOT", diff --git a/licenses/licenses.md b/licenses/licenses.md index 5b1841e2a870..7ce371ea1337 100644 --- a/licenses/licenses.md +++ b/licenses/licenses.md @@ -1,7 +1,7 @@ # javaagent ## Dependency License Report -_2024-05-08 13:30:20 EEST_ +_2024-05-10 15:52:54 UTC_ ## Apache License, Version 2.0 **1** **Group:** `com.blogspot.mydailyjava` **Name:** `weak-lock-free` **Version:** `0.18` @@ -59,91 +59,91 @@ _2024-05-08 13:30:20 EEST_ > - **POM Project URL**: [https://github.com/square/okio/](https://github.com/square/okio/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**11** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api` **Version:** `1.37.0` +**11** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) -**12** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api-incubator` **Version:** `1.37.0-alpha` +**12** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api-incubator` **Version:** `1.38.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) -**13** **Group:** `io.opentelemetry` **Name:** `opentelemetry-context` **Version:** `1.37.0` +**13** **Group:** `io.opentelemetry` **Name:** `opentelemetry-context` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) -**14** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-common` **Version:** `1.37.0` +**14** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-common` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**15** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-logging` **Version:** `1.37.0` +**15** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-logging` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**16** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-logging-otlp` **Version:** `1.37.0` +**16** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-logging-otlp` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**17** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp` **Version:** `1.37.0` +**17** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**18** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp-common` **Version:** `1.37.0` +**18** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp-common` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**19** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-prometheus` **Version:** `1.37.0-alpha` +**19** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-prometheus` **Version:** `1.38.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**20** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-sender-okhttp` **Version:** `1.37.0` +**20** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-sender-okhttp` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**21** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-zipkin` **Version:** `1.37.0` +**21** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-zipkin` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**22** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-kotlin` **Version:** `1.37.0` +**22** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-kotlin` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**23** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-trace-propagators` **Version:** `1.37.0` +**23** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-trace-propagators` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**24** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk` **Version:** `1.37.0` +**24** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**25** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-common` **Version:** `1.37.0` +**25** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-common` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**26** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure` **Version:** `1.37.0` +**26** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**27** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure-spi` **Version:** `1.37.0` +**27** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure-spi` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**28** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-incubator` **Version:** `1.37.0-alpha` +**28** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-incubator` **Version:** `1.38.0-alpha` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**29** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-jaeger-remote-sampler` **Version:** `1.37.0` +**29** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-jaeger-remote-sampler` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**30** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-logs` **Version:** `1.37.0` +**30** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-logs` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**31** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-metrics` **Version:** `1.37.0` +**31** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-metrics` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**32** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-trace` **Version:** `1.37.0` +**32** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-trace` **Version:** `1.38.0` > - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) @@ -190,17 +190,17 @@ _2024-05-08 13:30:20 EEST_ **43** **Group:** `io.prometheus` **Name:** `prometheus-metrics-shaded-protobuf` **Version:** `1.2.1` > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**44** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-reporter` **Version:** `3.3.0` +**44** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-reporter` **Version:** `3.4.0` > - **Manifest Project URL**: [https://zipkin.io/](https://zipkin.io/) > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [zipkin-reporter-3.3.0.jar/META-INF/LICENSE](zipkin-reporter-3.3.0.jar/META-INF/LICENSE) +> - **Embedded license files**: [zipkin-reporter-3.4.0.jar/META-INF/LICENSE](zipkin-reporter-3.4.0.jar/META-INF/LICENSE) -**45** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-sender-okhttp3` **Version:** `3.3.0` +**45** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-sender-okhttp3` **Version:** `3.4.0` > - **Manifest Project URL**: [https://zipkin.io/](https://zipkin.io/) > - **Manifest License**: Apache License, Version 2.0 (Not Packaged) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -> - **Embedded license files**: [zipkin-sender-okhttp3-3.3.0.jar/META-INF/LICENSE](zipkin-sender-okhttp3-3.3.0.jar/META-INF/LICENSE) +> - **Embedded license files**: [zipkin-sender-okhttp3-3.4.0.jar/META-INF/LICENSE](zipkin-sender-okhttp3-3.4.0.jar/META-INF/LICENSE) **46** **Group:** `io.zipkin.zipkin2` **Name:** `zipkin` **Version:** `2.27.1` > - **Manifest Project URL**: [http://zipkin.io/](http://zipkin.io/) @@ -217,15 +217,15 @@ _2024-05-08 13:30:20 EEST_ > - **POM Project URL**: [http://www.jetbrains.org](http://www.jetbrains.org) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**49** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `1.9.23` +**49** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `1.9.24` > - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**50** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk7` **Version:** `1.9.23` +**50** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk7` **Version:** `1.9.24` > - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) -**51** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk8` **Version:** `1.9.23` +**51** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk8` **Version:** `1.9.24` > - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/) > - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) diff --git a/licenses/zipkin-reporter-3.3.0.jar/META-INF/LICENSE b/licenses/zipkin-reporter-3.4.0.jar/META-INF/LICENSE similarity index 100% rename from licenses/zipkin-reporter-3.3.0.jar/META-INF/LICENSE rename to licenses/zipkin-reporter-3.4.0.jar/META-INF/LICENSE diff --git a/licenses/zipkin-sender-okhttp3-3.3.0.jar/META-INF/LICENSE b/licenses/zipkin-sender-okhttp3-3.4.0.jar/META-INF/LICENSE similarity index 100% rename from licenses/zipkin-sender-okhttp3-3.3.0.jar/META-INF/LICENSE rename to licenses/zipkin-sender-okhttp3-3.4.0.jar/META-INF/LICENSE From 295d1ac7b550d205c559fb3c6c4143922497e105 Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Mon, 13 May 2024 13:12:37 +0300 Subject: [PATCH 2/5] fix compile error --- .../v1_31/metrics/ApplicationDoubleGaugeBuilder131.java | 3 +-- .../v1_31/metrics/ApplicationLongGaugeBuilder131.java | 3 +-- .../v1_37/metrics/ApplicationDoubleGaugeBuilder137.java | 3 +-- .../v1_37/metrics/ApplicationLongGaugeBuilder137.java | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleGaugeBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleGaugeBuilder131.java index 9b4c840436e4..a92321dfbef5 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleGaugeBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleGaugeBuilder131.java @@ -31,8 +31,7 @@ public LongGaugeBuilder ofLongs() { @Override public DoubleGauge build() { - io.opentelemetry.api.incubator.metrics.DoubleGauge agentDoubleGauge = - ((io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder) agentBuilder).build(); + io.opentelemetry.api.metrics.DoubleGauge agentDoubleGauge = agentBuilder.build(); return new DoubleGauge() { @Override diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongGaugeBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongGaugeBuilder131.java index a0c6529cd825..3b6cd69bcc69 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongGaugeBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongGaugeBuilder131.java @@ -25,8 +25,7 @@ final class ApplicationLongGaugeBuilder131 extends ApplicationLongGaugeBuilder @Override public LongGauge build() { - io.opentelemetry.api.incubator.metrics.LongGauge agentLongGauge = - ((io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder) agentBuilder).build(); + io.opentelemetry.api.metrics.LongGauge agentLongGauge = agentBuilder.build(); return new LongGauge() { @Override public void set(long value) { diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleGaugeBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleGaugeBuilder137.java index b7606b672a23..44b2739674f7 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleGaugeBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleGaugeBuilder137.java @@ -31,8 +31,7 @@ public LongGaugeBuilder ofLongs() { @Override public DoubleGauge build() { - io.opentelemetry.api.incubator.metrics.DoubleGauge agentDoubleGauge = - ((io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder) agentBuilder).build(); + io.opentelemetry.api.metrics.DoubleGauge agentDoubleGauge = agentBuilder.build(); return new DoubleGauge() { @Override diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongGaugeBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongGaugeBuilder137.java index 5d17f6ca0328..4c7d840eba69 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongGaugeBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongGaugeBuilder137.java @@ -25,8 +25,7 @@ final class ApplicationLongGaugeBuilder137 extends ApplicationLongGaugeBuilder @Override public LongGauge build() { - io.opentelemetry.api.incubator.metrics.LongGauge agentLongGauge = - ((io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder) agentBuilder).build(); + io.opentelemetry.api.metrics.LongGauge agentLongGauge = agentBuilder.build(); return new LongGauge() { @Override public void set(long value) { From 824b8ee5e6f0b81a4d3c3d203033c8067894a744 Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Mon, 13 May 2024 13:23:28 +0300 Subject: [PATCH 3/5] fix test compile error --- .../opentelemetry-api-1.37/javaagent/build.gradle.kts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts index e0112dd55120..ba5c7e311a1c 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts @@ -20,6 +20,16 @@ configurations.configureEach { resolutionStrategy { force("io.opentelemetry:opentelemetry-api:1.37.0") } + if (name.startsWith("incubatorTest")) { + resolutionStrategy { + force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha") + } + } else if (name.startsWith("oldAndNewIncubatorTest")) { + resolutionStrategy { + force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha") + force("io.opentelemetry:opentelemetry-extension-incubator:1.32.0-alpha") + } + } } } From a711268520136229d1766977d2efa2d1cc8e602d Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Mon, 13 May 2024 15:42:18 +0300 Subject: [PATCH 4/5] bridging for 1.38 --- .../v1_27/ApplicationOpenTelemetry127.java | 18 ++- ...OpenTelemetryApiInstrumentationModule.java | 4 +- .../OpenTelemetryInstrumentation.java | 4 +- .../ApplicationDoubleCounterBuilder131.java | 2 +- .../ApplicationDoubleGaugeBuilder131.java | 2 +- .../ApplicationDoubleHistogramBuilder131.java | 2 +- ...licationDoubleUpDownCounterBuilder131.java | 2 +- .../ApplicationLongCounterBuilder131.java | 2 +- .../ApplicationLongGaugeBuilder131.java | 2 +- .../ApplicationLongHistogramBuilder131.java | 2 +- ...pplicationLongUpDownCounterBuilder131.java | 2 +- .../metrics/ApplicationMeter131.java | 2 +- .../metrics/ApplicationMeterFactory131.java | 2 +- .../metrics/ApplicationMeter132Incubator.java | 2 +- .../v1_32/metrics/ApplicationMeter132.java | 4 +- .../javaagent/build.gradle.kts | 1 + ...OpenTelemetryApiInstrumentationModule.java | 39 +++++ .../OpenTelemetryInstrumentation.java | 40 ++++++ .../ApplicationDoubleCounterBuilder137.java | 2 +- .../ApplicationDoubleGaugeBuilder137.java | 2 +- .../ApplicationDoubleHistogramBuilder137.java | 2 +- ...ionDoubleHistogramBuilder137Incubator.java | 44 ------ ...licationDoubleUpDownCounterBuilder137.java | 2 +- .../ApplicationLongCounterBuilder137.java | 2 +- .../ApplicationLongGaugeBuilder137.java | 2 +- .../ApplicationLongHistogramBuilder137.java | 2 +- ...ationLongHistogramBuilder137Incubator.java | 38 ----- ...pplicationLongUpDownCounterBuilder137.java | 2 +- .../metrics/ApplicationMeter137.java | 23 +++ .../metrics/ApplicationMeter137Incubator.java | 24 ---- .../metrics/ApplicationMeterFactory137.java | 2 +- .../metrics/BaseApplicationMeter137.java} | 13 +- .../javaagent/build.gradle.kts | 46 ++++++ .../v1_38/incubator/metrics/MeterTest.java | 135 ++++++++++++++++++ ...OpenTelemetryApiInstrumentationModule.java | 42 ++++++ .../v1_38/OpenTelemetryInstrumentation.java | 40 ++++++ ...etryApiIncubatorInstrumentationModule.java | 4 +- ...OpenTelemetryIncubatorInstrumentation.java | 8 +- ...icationDoubleGaugeBuilder138Incubator.java | 37 +++++ ...plicationLongGaugeBuilder138Incubator.java | 31 ++++ .../metrics/ApplicationMeter138Incubator.java | 24 ++++ .../ApplicationMeterFactory138Incubator.java} | 6 +- .../ApplicationDoubleGaugeBuilder138.java | 55 +++++++ .../ApplicationLongGaugeBuilder138.java | 48 +++++++ .../v1_38/metrics/ApplicationMeter138.java | 24 ++++ .../metrics/ApplicationMeterFactory138.java | 18 +++ .../v1_38/metrics/MeterTest.java | 125 ++++++++++++++++ .../build.gradle.kts | 22 ++- settings.gradle.kts | 1 + 49 files changed, 804 insertions(+), 154 deletions(-) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/OpenTelemetryApiInstrumentationModule.java (91%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/OpenTelemetryInstrumentation.java (94%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationDoubleCounterBuilder131.java (97%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationDoubleGaugeBuilder131.java (98%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationDoubleHistogramBuilder131.java (98%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationDoubleUpDownCounterBuilder131.java (97%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationLongCounterBuilder131.java (97%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationLongGaugeBuilder131.java (98%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationLongHistogramBuilder131.java (97%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationLongUpDownCounterBuilder131.java (98%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationMeter131.java (98%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/{ => incubator}/metrics/ApplicationMeterFactory131.java (95%) create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiInstrumentationModule.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryInstrumentation.java rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationDoubleCounterBuilder137.java (97%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationDoubleGaugeBuilder137.java (98%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationDoubleHistogramBuilder137.java (98%) delete mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleHistogramBuilder137Incubator.java rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationDoubleUpDownCounterBuilder137.java (97%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationLongCounterBuilder137.java (97%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationLongGaugeBuilder137.java (98%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationLongHistogramBuilder137.java (97%) delete mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongHistogramBuilder137Incubator.java rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationLongUpDownCounterBuilder137.java (98%) create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeter137.java delete mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeter137Incubator.java rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{ => incubator}/metrics/ApplicationMeterFactory137.java (95%) rename instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/{metrics/ApplicationMeter137.java => incubator/metrics/BaseApplicationMeter137.java} (74%) create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/build.gradle.kts create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/incubatorTest/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/MeterTest.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryApiInstrumentationModule.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryInstrumentation.java rename instrumentation/opentelemetry-api/{opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37 => opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38}/incubator/OpenTelemetryApiIncubatorInstrumentationModule.java (92%) rename instrumentation/opentelemetry-api/{opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37 => opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38}/incubator/OpenTelemetryIncubatorInstrumentation.java (88%) create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationDoubleGaugeBuilder138Incubator.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationLongGaugeBuilder138Incubator.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationMeter138Incubator.java rename instrumentation/opentelemetry-api/{opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeterFactory137Incubator.java => opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationMeterFactory138Incubator.java} (79%) create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationDoubleGaugeBuilder138.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationLongGaugeBuilder138.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationMeter138.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationMeterFactory138.java create mode 100644 instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/MeterTest.java diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.27/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_27/ApplicationOpenTelemetry127.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.27/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_27/ApplicationOpenTelemetry127.java index 0b7834173169..148e3e7d9000 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.27/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_27/ApplicationOpenTelemetry127.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.27/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_27/ApplicationOpenTelemetry127.java @@ -63,10 +63,22 @@ public ContextPropagators getPropagators() { } private static ApplicationMeterFactory getMeterFactory() { - // this class is defined in opentelemetry-api-1.37 + // this class is defined in opentelemetry-api-1.38 ApplicationMeterFactory meterFactory = getMeterFactory( - "io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics.ApplicationMeterFactory137Incubator"); + "io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator.metrics.ApplicationMeterFactory138Incubator"); + if (meterFactory == null) { + // this class is defined in opentelemetry-api-1.38 + meterFactory = + getMeterFactory( + "io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics.ApplicationMeterFactory138"); + } + if (meterFactory == null) { + // this class is defined in opentelemetry-api-1.37 + meterFactory = + getMeterFactory( + "io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics.ApplicationMeterFactory137"); + } if (meterFactory == null) { // this class is defined in opentelemetry-api-1.32 meterFactory = @@ -83,7 +95,7 @@ private static ApplicationMeterFactory getMeterFactory() { // this class is defined in opentelemetry-api-1.31 meterFactory = getMeterFactory( - "io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics.ApplicationMeterFactory131"); + "io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics.ApplicationMeterFactory131"); } if (meterFactory == null) { meterFactory = new ApplicationMeterFactory115(); diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/OpenTelemetryApiInstrumentationModule.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/OpenTelemetryApiInstrumentationModule.java similarity index 91% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/OpenTelemetryApiInstrumentationModule.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/OpenTelemetryApiInstrumentationModule.java index 3649c744a71a..be95027539f0 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/OpenTelemetryApiInstrumentationModule.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/OpenTelemetryApiInstrumentationModule.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed; import static java.util.Collections.singletonList; @@ -17,7 +17,7 @@ @AutoService(InstrumentationModule.class) public class OpenTelemetryApiInstrumentationModule extends InstrumentationModule { public OpenTelemetryApiInstrumentationModule() { - super("opentelemetry-api", "opentelemetry-api-1.31"); + super("opentelemetry-api", "opentelemetry-api-1.31", "opentelemetry-api-incubator-1.31"); } @Override diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/OpenTelemetryInstrumentation.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/OpenTelemetryInstrumentation.java similarity index 94% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/OpenTelemetryInstrumentation.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/OpenTelemetryInstrumentation.java index d414bca1f0ac..08ffb37f8eee 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/OpenTelemetryInstrumentation.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/OpenTelemetryInstrumentation.java @@ -3,14 +3,14 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.none; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; -import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics.ApplicationMeterFactory131; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics.ApplicationMeterFactory131; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleCounterBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleCounterBuilder131.java similarity index 97% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleCounterBuilder131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleCounterBuilder131.java index 0e1abdc89670..959fb363f55f 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleCounterBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleCounterBuilder131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.extension.incubator.metrics.ExtendedDoubleCounterBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleGaugeBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleGaugeBuilder131.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleGaugeBuilder131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleGaugeBuilder131.java index a92321dfbef5..e35104e68553 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleGaugeBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleGaugeBuilder131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleHistogramBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleHistogramBuilder131.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleHistogramBuilder131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleHistogramBuilder131.java index d248443de671..679371fce6c9 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleHistogramBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleHistogramBuilder131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.metrics.LongHistogramBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleUpDownCounterBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleUpDownCounterBuilder131.java similarity index 97% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleUpDownCounterBuilder131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleUpDownCounterBuilder131.java index eddddd7b33b0..f26dc473c5d9 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationDoubleUpDownCounterBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationDoubleUpDownCounterBuilder131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.extension.incubator.metrics.ExtendedDoubleUpDownCounterBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongCounterBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongCounterBuilder131.java similarity index 97% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongCounterBuilder131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongCounterBuilder131.java index 5644730e4ba7..d11d1ec7a921 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongCounterBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongCounterBuilder131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.metrics.DoubleCounterBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongGaugeBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongGaugeBuilder131.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongGaugeBuilder131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongGaugeBuilder131.java index 3b6cd69bcc69..137432f27862 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongGaugeBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongGaugeBuilder131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongHistogramBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongHistogramBuilder131.java similarity index 97% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongHistogramBuilder131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongHistogramBuilder131.java index e7b56520a743..809064f8021a 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongHistogramBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongHistogramBuilder131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.extension.incubator.metrics.ExtendedLongHistogramBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongUpDownCounterBuilder131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongUpDownCounterBuilder131.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongUpDownCounterBuilder131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongUpDownCounterBuilder131.java index cd73b6780aeb..f6eecd1679dd 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationLongUpDownCounterBuilder131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationLongUpDownCounterBuilder131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.metrics.DoubleUpDownCounterBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationMeter131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationMeter131.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationMeter131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationMeter131.java index 688568523fdc..a82add2467dc 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationMeter131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationMeter131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import application.io.opentelemetry.api.metrics.DoubleGaugeBuilder; import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationMeterFactory131.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationMeterFactory131.java similarity index 95% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationMeterFactory131.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationMeterFactory131.java index 22c60be9aefd..2c05b7a4ba63 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/metrics/ApplicationMeterFactory131.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.31/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_31/incubator/metrics/ApplicationMeterFactory131.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeter; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/incubator/metrics/ApplicationMeter132Incubator.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/incubator/metrics/ApplicationMeter132Incubator.java index 5af68b1815f4..422b5c9e4c5d 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/incubator/metrics/ApplicationMeter132Incubator.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/incubator/metrics/ApplicationMeter132Incubator.java @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_32.incubator.metrics; import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder; -import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.metrics.ApplicationMeter131; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_31.incubator.metrics.ApplicationMeter131; class ApplicationMeter132Incubator extends ApplicationMeter131 { diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/metrics/ApplicationMeter132.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/metrics/ApplicationMeter132.java index ec880d3959f9..6958d86a613c 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/metrics/ApplicationMeter132.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/metrics/ApplicationMeter132.java @@ -8,11 +8,11 @@ import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder; import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_15.metrics.ApplicationMeter115; -class ApplicationMeter132 extends ApplicationMeter115 { +public class ApplicationMeter132 extends ApplicationMeter115 { private final io.opentelemetry.api.metrics.Meter agentMeter; - ApplicationMeter132(io.opentelemetry.api.metrics.Meter agentMeter) { + public ApplicationMeter132(io.opentelemetry.api.metrics.Meter agentMeter) { super(agentMeter); this.agentMeter = agentMeter; } diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts index ba5c7e311a1c..4970d5818950 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts @@ -19,6 +19,7 @@ configurations.configureEach { if (name.endsWith("testRuntimeClasspath", true) || name.endsWith("testCompileClasspath", true)) { resolutionStrategy { force("io.opentelemetry:opentelemetry-api:1.37.0") + force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha") } if (name.startsWith("incubatorTest")) { resolutionStrategy { diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiInstrumentationModule.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiInstrumentationModule.java new file mode 100644 index 000000000000..507e4c7c2845 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiInstrumentationModule.java @@ -0,0 +1,39 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator; + +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed; +import static java.util.Collections.singletonList; + +import com.google.auto.service.AutoService; +import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule; +import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; +import java.util.List; +import net.bytebuddy.matcher.ElementMatcher; + +@AutoService(InstrumentationModule.class) +public class OpenTelemetryApiInstrumentationModule extends InstrumentationModule { + public OpenTelemetryApiInstrumentationModule() { + super("opentelemetry-api", "opentelemetry-api-1.37", "opentelemetry-api-incubator-1.37"); + } + + @Override + public ElementMatcher.Junction classLoaderMatcher() { + // skip instrumentation when opentelemetry-api-incubator is not present + return hasClassesNamed( + "application.io.opentelemetry.extension.incubator.metrics.ExtendedDoubleGaugeBuilder"); + } + + @Override + public boolean isIndyModule() { + return false; + } + + @Override + public List typeInstrumentations() { + return singletonList(new OpenTelemetryInstrumentation()); + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryInstrumentation.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryInstrumentation.java new file mode 100644 index 000000000000..34fa24172e96 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryInstrumentation.java @@ -0,0 +1,40 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator; + +import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.none; + +import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; +import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics.ApplicationMeterFactory137; +import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; + +public class OpenTelemetryInstrumentation implements TypeInstrumentation { + + @Override + public ElementMatcher typeMatcher() { + return named("application.io.opentelemetry.api.GlobalOpenTelemetry"); + } + + @Override + public void transform(TypeTransformer transformer) { + transformer.applyAdviceToMethod( + none(), OpenTelemetryInstrumentation.class.getName() + "$InitAdvice"); + } + + @SuppressWarnings({"ReturnValueIgnored", "unused"}) + public static class InitAdvice { + @Advice.OnMethodEnter + public static void init() { + // the sole purpose of this advice is to ensure that ApplicationMeterFactory137 + // is recognized as helper class and injected into class loader + ApplicationMeterFactory137.class.getName(); + } + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleCounterBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleCounterBuilder137.java similarity index 97% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleCounterBuilder137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleCounterBuilder137.java index 32f803372278..821d340b9573 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleCounterBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleCounterBuilder137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.incubator.metrics.ExtendedDoubleCounterBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleGaugeBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleGaugeBuilder137.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleGaugeBuilder137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleGaugeBuilder137.java index 44b2739674f7..d628a9407bff 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleGaugeBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleGaugeBuilder137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleHistogramBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleHistogramBuilder137.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleHistogramBuilder137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleHistogramBuilder137.java index c9e8de50c2de..71abc45bc6c0 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleHistogramBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleHistogramBuilder137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleHistogramBuilder137Incubator.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleHistogramBuilder137Incubator.java deleted file mode 100644 index 737c62fedf4a..000000000000 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleHistogramBuilder137Incubator.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; - -import application.io.opentelemetry.api.common.AttributeKey; -import application.io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder; -import application.io.opentelemetry.api.metrics.LongHistogramBuilder; -import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.Bridging; -import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationDoubleHistogramBuilder; -import java.util.List; - -class ApplicationDoubleHistogramBuilder137Incubator extends ApplicationDoubleHistogramBuilder - implements ExtendedDoubleHistogramBuilder { - - private final io.opentelemetry.api.metrics.DoubleHistogramBuilder agentBuilder; - - ApplicationDoubleHistogramBuilder137Incubator( - io.opentelemetry.api.metrics.DoubleHistogramBuilder agentBuilder) { - super(agentBuilder); - this.agentBuilder = agentBuilder; - } - - @Override - public LongHistogramBuilder ofLongs() { - return new ApplicationLongHistogramBuilder137Incubator(agentBuilder.ofLongs()); - } - - @Override - public ExtendedDoubleHistogramBuilder setExplicitBucketBoundariesAdvice( - List bucketBoundaries) { - agentBuilder.setExplicitBucketBoundariesAdvice(bucketBoundaries); - return this; - } - - @Override - public ExtendedDoubleHistogramBuilder setAttributesAdvice(List> attributes) { - ((io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder) agentBuilder) - .setAttributesAdvice(Bridging.toAgent(attributes)); - return this; - } -} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleUpDownCounterBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleUpDownCounterBuilder137.java similarity index 97% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleUpDownCounterBuilder137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleUpDownCounterBuilder137.java index 01fddfec825b..5256ae19c79a 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationDoubleUpDownCounterBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationDoubleUpDownCounterBuilder137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.incubator.metrics.ExtendedDoubleUpDownCounterBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongCounterBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongCounterBuilder137.java similarity index 97% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongCounterBuilder137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongCounterBuilder137.java index 253ddbab1187..c72320e59f1b 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongCounterBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongCounterBuilder137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.incubator.metrics.ExtendedLongCounterBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongGaugeBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongGaugeBuilder137.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongGaugeBuilder137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongGaugeBuilder137.java index 4c7d840eba69..4bf5a2439168 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongGaugeBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongGaugeBuilder137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.common.Attributes; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongHistogramBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongHistogramBuilder137.java similarity index 97% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongHistogramBuilder137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongHistogramBuilder137.java index 77ea41cb7b78..053d14c4ed85 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongHistogramBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongHistogramBuilder137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.incubator.metrics.ExtendedLongHistogramBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongHistogramBuilder137Incubator.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongHistogramBuilder137Incubator.java deleted file mode 100644 index 1b4b8e8a0d48..000000000000 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongHistogramBuilder137Incubator.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; - -import application.io.opentelemetry.api.common.AttributeKey; -import application.io.opentelemetry.api.incubator.metrics.ExtendedLongHistogramBuilder; -import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.Bridging; -import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationLongHistogramBuilder; -import java.util.List; - -class ApplicationLongHistogramBuilder137Incubator extends ApplicationLongHistogramBuilder - implements ExtendedLongHistogramBuilder { - - private final io.opentelemetry.api.metrics.LongHistogramBuilder agentBuilder; - - ApplicationLongHistogramBuilder137Incubator( - io.opentelemetry.api.metrics.LongHistogramBuilder agentBuilder) { - super(agentBuilder); - this.agentBuilder = agentBuilder; - } - - @Override - public ExtendedLongHistogramBuilder setExplicitBucketBoundariesAdvice( - List bucketBoundaries) { - agentBuilder.setExplicitBucketBoundariesAdvice(bucketBoundaries); - return this; - } - - @Override - public ExtendedLongHistogramBuilder setAttributesAdvice(List> attributes) { - ((io.opentelemetry.api.incubator.metrics.ExtendedLongHistogramBuilder) agentBuilder) - .setAttributesAdvice(Bridging.toAgent(attributes)); - return this; - } -} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongUpDownCounterBuilder137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongUpDownCounterBuilder137.java similarity index 98% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongUpDownCounterBuilder137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongUpDownCounterBuilder137.java index 6beebef2bdc2..3dda4d32fbd9 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationLongUpDownCounterBuilder137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationLongUpDownCounterBuilder137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import application.io.opentelemetry.api.common.AttributeKey; import application.io.opentelemetry.api.incubator.metrics.ExtendedLongUpDownCounterBuilder; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeter137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeter137.java new file mode 100644 index 000000000000..6ed769ccf49b --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeter137.java @@ -0,0 +1,23 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; + +import application.io.opentelemetry.api.metrics.DoubleGaugeBuilder; + +class ApplicationMeter137 extends BaseApplicationMeter137 { + + private final io.opentelemetry.api.metrics.Meter agentMeter; + + protected ApplicationMeter137(io.opentelemetry.api.metrics.Meter agentMeter) { + super(agentMeter); + this.agentMeter = agentMeter; + } + + @Override + public DoubleGaugeBuilder gaugeBuilder(String name) { + return new ApplicationDoubleGaugeBuilder137(agentMeter.gaugeBuilder(name)); + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeter137Incubator.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeter137Incubator.java deleted file mode 100644 index 120d23ff0dc2..000000000000 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeter137Incubator.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; - -import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder; -import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics.ApplicationMeter137; - -class ApplicationMeter137Incubator extends ApplicationMeter137 { - - private final io.opentelemetry.api.metrics.Meter agentMeter; - - ApplicationMeter137Incubator(io.opentelemetry.api.metrics.Meter agentMeter) { - super(agentMeter); - this.agentMeter = agentMeter; - } - - @Override - public DoubleHistogramBuilder histogramBuilder(String name) { - return new ApplicationDoubleHistogramBuilder137Incubator(agentMeter.histogramBuilder(name)); - } -} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationMeterFactory137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeterFactory137.java similarity index 95% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationMeterFactory137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeterFactory137.java index 4075696e7a1d..99faef092aaa 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationMeterFactory137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeterFactory137.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeter; diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationMeter137.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/BaseApplicationMeter137.java similarity index 74% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationMeter137.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/BaseApplicationMeter137.java index 3d0e6da1add7..3a0c0d3ff608 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/ApplicationMeter137.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/BaseApplicationMeter137.java @@ -3,19 +3,19 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; -import application.io.opentelemetry.api.metrics.DoubleGaugeBuilder; import application.io.opentelemetry.api.metrics.DoubleHistogramBuilder; import application.io.opentelemetry.api.metrics.LongCounterBuilder; import application.io.opentelemetry.api.metrics.LongUpDownCounterBuilder; import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_15.metrics.ApplicationMeter115; -public class ApplicationMeter137 extends ApplicationMeter115 { +// used by both 1.37 and 1.38 +public class BaseApplicationMeter137 extends ApplicationMeter115 { private final io.opentelemetry.api.metrics.Meter agentMeter; - protected ApplicationMeter137(io.opentelemetry.api.metrics.Meter agentMeter) { + protected BaseApplicationMeter137(io.opentelemetry.api.metrics.Meter agentMeter) { super(agentMeter); this.agentMeter = agentMeter; } @@ -34,9 +34,4 @@ public LongUpDownCounterBuilder upDownCounterBuilder(String name) { public DoubleHistogramBuilder histogramBuilder(String name) { return new ApplicationDoubleHistogramBuilder137(agentMeter.histogramBuilder(name)); } - - @Override - public DoubleGaugeBuilder gaugeBuilder(String name) { - return new ApplicationDoubleGaugeBuilder137(agentMeter.gaugeBuilder(name)); - } } diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/build.gradle.kts b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/build.gradle.kts new file mode 100644 index 000000000000..560bdde6d565 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/build.gradle.kts @@ -0,0 +1,46 @@ +plugins { + id("otel.javaagent-instrumentation") +} + +dependencies { + compileOnly(project(":opentelemetry-api-shaded-for-instrumenting", configuration = "v1_38")) + compileOnly("io.opentelemetry:opentelemetry-api-incubator") + + implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.0:javaagent")) + implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.4:javaagent")) + implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.10:javaagent")) + implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.15:javaagent")) + implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.27:javaagent")) + implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.31:javaagent")) + implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.32:javaagent")) + implementation(project(":instrumentation:opentelemetry-api:opentelemetry-api-1.37:javaagent")) +} + +configurations.configureEach { + if (name.endsWith("testRuntimeClasspath", true) || name.endsWith("testCompileClasspath", true)) { + resolutionStrategy { + force("io.opentelemetry:opentelemetry-api:1.38.0") + } + if (name.startsWith("incubatorTest")) { + resolutionStrategy { + force("io.opentelemetry:opentelemetry-api-incubator:1.38.0-alpha") + } + } + } +} + +testing { + suites { + val incubatorTest by registering(JvmTestSuite::class) { + dependencies { + implementation("io.opentelemetry:opentelemetry-api-incubator:1.38.0-alpha") + } + } + } +} + +tasks { + check { + dependsOn(testing.suites) + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/incubatorTest/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/MeterTest.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/incubatorTest/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/MeterTest.java new file mode 100644 index 000000000000..986c17a04580 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/incubatorTest/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/MeterTest.java @@ -0,0 +1,135 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator.metrics; + +import static io.opentelemetry.api.common.AttributeKey.stringKey; +import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; +import static java.util.Collections.singletonList; +import static org.assertj.core.api.Assertions.assertThat; + +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder; +import io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder; +import io.opentelemetry.api.metrics.DoubleGauge; +import io.opentelemetry.api.metrics.DoubleGaugeBuilder; +import io.opentelemetry.api.metrics.LongGauge; +import io.opentelemetry.api.metrics.LongGaugeBuilder; +import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; +import io.opentelemetry.sdk.common.InstrumentationScopeInfo; +import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions; +import org.assertj.core.api.AbstractIterableAssert; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.api.extension.RegisterExtension; + +class MeterTest { + + @RegisterExtension + static final AgentInstrumentationExtension testing = AgentInstrumentationExtension.create(); + + private String instrumentationName; + private Meter meter; + + @BeforeEach + void setupMeter(TestInfo test) { + instrumentationName = "test-" + test.getDisplayName(); + meter = + testing + .getOpenTelemetry() + .getMeterProvider() + .meterBuilder(instrumentationName) + .setInstrumentationVersion("1.2.3") + .setSchemaUrl("http://schema.org") + .build(); + } + + @Test + void syncLongGauge() throws InterruptedException { + LongGaugeBuilder builder = + meter.gaugeBuilder("test").ofLongs().setDescription("d").setUnit("u"); + assertThat(builder).isInstanceOf(ExtendedLongGaugeBuilder.class); + ExtendedLongGaugeBuilder extendedBuilder = (ExtendedLongGaugeBuilder) builder; + extendedBuilder.setAttributesAdvice(singletonList(stringKey("test"))); + + LongGauge longGauge = builder.build(); + longGauge.set(321); + longGauge.set(123, Attributes.of(stringKey("test"), "test", stringKey("q"), "r")); + + testing.waitAndAssertMetrics( + instrumentationName, + "test", + metrics -> + metrics.anySatisfy( + metric -> + OpenTelemetryAssertions.assertThat(metric) + .hasDescription("d") + .hasUnit("u") + .hasInstrumentationScope( + InstrumentationScopeInfo.builder(instrumentationName) + .setVersion("1.2.3") + .build()) + .hasLongGaugeSatisfying( + gauge -> + gauge.hasPointsSatisfying( + point -> point.hasValue(321).hasAttributes(Attributes.empty()), + point -> + point + .hasValue(123) + .hasAttributesSatisfying( + equalTo(stringKey("test"), "test")))))); + + // sleep exporter interval + Thread.sleep(100); + testing.clearData(); + Thread.sleep(100); + + testing.waitAndAssertMetrics(instrumentationName, "test", AbstractIterableAssert::isEmpty); + } + + @Test + void syncDoubleGauge() throws InterruptedException { + DoubleGaugeBuilder builder = meter.gaugeBuilder("test").setDescription("d").setUnit("u"); + assertThat(builder).isInstanceOf(ExtendedDoubleGaugeBuilder.class); + ExtendedDoubleGaugeBuilder extendedBuilder = (ExtendedDoubleGaugeBuilder) builder; + extendedBuilder.setAttributesAdvice(singletonList(stringKey("test"))); + + DoubleGauge doubleGauge = builder.build(); + doubleGauge.set(3.21); + doubleGauge.set(1.23, Attributes.of(stringKey("test"), "test", stringKey("q"), "r")); + + testing.waitAndAssertMetrics( + instrumentationName, + "test", + metrics -> + metrics.anySatisfy( + metric -> + OpenTelemetryAssertions.assertThat(metric) + .hasDescription("d") + .hasUnit("u") + .hasInstrumentationScope( + InstrumentationScopeInfo.builder(instrumentationName) + .setVersion("1.2.3") + .build()) + .hasDoubleGaugeSatisfying( + gauge -> + gauge.hasPointsSatisfying( + point -> point.hasValue(3.21).hasAttributes(Attributes.empty()), + point -> + point + .hasValue(1.23) + .hasAttributesSatisfying( + equalTo(stringKey("test"), "test")))))); + + // sleep exporter interval + Thread.sleep(100); + testing.clearData(); + Thread.sleep(100); + + testing.waitAndAssertMetrics(instrumentationName, "test", AbstractIterableAssert::isEmpty); + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryApiInstrumentationModule.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryApiInstrumentationModule.java new file mode 100644 index 000000000000..54865e02f9b8 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryApiInstrumentationModule.java @@ -0,0 +1,42 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38; + +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed; +import static java.util.Collections.singletonList; +import static net.bytebuddy.matcher.ElementMatchers.not; + +import com.google.auto.service.AutoService; +import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule; +import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; +import java.util.List; +import net.bytebuddy.matcher.ElementMatcher; + +@AutoService(InstrumentationModule.class) +public class OpenTelemetryApiInstrumentationModule extends InstrumentationModule { + public OpenTelemetryApiInstrumentationModule() { + super("opentelemetry-api", "opentelemetry-api-1.38"); + } + + @Override + public ElementMatcher.Junction classLoaderMatcher() { + // skip instrumentation when opentelemetry-api-incubator is present, instrumentation is + // handled by OpenTelemetryApiIncubatorInstrumentationModule + return not( + hasClassesNamed( + "application.io.opentelemetry.extension.incubator.metrics.ExtendedDoubleHistogramBuilder")); + } + + @Override + public boolean isIndyModule() { + return false; + } + + @Override + public List typeInstrumentations() { + return singletonList(new OpenTelemetryInstrumentation()); + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryInstrumentation.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryInstrumentation.java new file mode 100644 index 000000000000..012e78df8232 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryInstrumentation.java @@ -0,0 +1,40 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38; + +import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.none; + +import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; +import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics.ApplicationMeterFactory138; +import net.bytebuddy.asm.Advice; +import net.bytebuddy.description.type.TypeDescription; +import net.bytebuddy.matcher.ElementMatcher; + +public class OpenTelemetryInstrumentation implements TypeInstrumentation { + + @Override + public ElementMatcher typeMatcher() { + return named("application.io.opentelemetry.api.GlobalOpenTelemetry"); + } + + @Override + public void transform(TypeTransformer transformer) { + transformer.applyAdviceToMethod( + none(), OpenTelemetryInstrumentation.class.getName() + "$InitAdvice"); + } + + @SuppressWarnings({"ReturnValueIgnored", "unused"}) + public static class InitAdvice { + @Advice.OnMethodEnter + public static void init() { + // the sole purpose of this advice is to ensure that ApplicationMeterFactory138 is recognized + // as helper class and injected into class loader + ApplicationMeterFactory138.class.getName(); + } + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiIncubatorInstrumentationModule.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/OpenTelemetryApiIncubatorInstrumentationModule.java similarity index 92% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiIncubatorInstrumentationModule.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/OpenTelemetryApiIncubatorInstrumentationModule.java index 5fb8680c31ba..0d4c23b6d1d8 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiIncubatorInstrumentationModule.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/OpenTelemetryApiIncubatorInstrumentationModule.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed; import static java.util.Collections.singletonList; @@ -17,7 +17,7 @@ @AutoService(InstrumentationModule.class) public class OpenTelemetryApiIncubatorInstrumentationModule extends InstrumentationModule { public OpenTelemetryApiIncubatorInstrumentationModule() { - super("opentelemetry-api", "opentelemetry-api-1.37", "opentelemetry-api-incubator-1.37"); + super("opentelemetry-api", "opentelemetry-api-1.38", "opentelemetry-api-incubator-1.38"); } @Override diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryIncubatorInstrumentation.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/OpenTelemetryIncubatorInstrumentation.java similarity index 88% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryIncubatorInstrumentation.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/OpenTelemetryIncubatorInstrumentation.java index 655df3855b53..ee7649b0622b 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryIncubatorInstrumentation.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/OpenTelemetryIncubatorInstrumentation.java @@ -3,14 +3,14 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.none; import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation; import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer; -import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics.ApplicationMeterFactory137Incubator; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator.metrics.ApplicationMeterFactory138Incubator; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; @@ -32,9 +32,9 @@ public void transform(TypeTransformer transformer) { public static class InitAdvice { @Advice.OnMethodEnter public static void init() { - // the sole purpose of this advice is to ensure that ApplicationMeterFactory137Incubator + // the sole purpose of this advice is to ensure that ApplicationMeterFactory138Incubator // is recognized as helper class and injected into class loader - ApplicationMeterFactory137Incubator.class.getName(); + ApplicationMeterFactory138Incubator.class.getName(); } } } diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationDoubleGaugeBuilder138Incubator.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationDoubleGaugeBuilder138Incubator.java new file mode 100644 index 000000000000..738c377a28a2 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationDoubleGaugeBuilder138Incubator.java @@ -0,0 +1,37 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator.metrics; + +import application.io.opentelemetry.api.common.AttributeKey; +import application.io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder; +import application.io.opentelemetry.api.metrics.LongGaugeBuilder; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.Bridging; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics.ApplicationDoubleGaugeBuilder138; +import java.util.List; + +final class ApplicationDoubleGaugeBuilder138Incubator extends ApplicationDoubleGaugeBuilder138 + implements ExtendedDoubleGaugeBuilder { + + private final io.opentelemetry.api.metrics.DoubleGaugeBuilder agentBuilder; + + ApplicationDoubleGaugeBuilder138Incubator( + io.opentelemetry.api.metrics.DoubleGaugeBuilder agentBuilder) { + super(agentBuilder); + this.agentBuilder = agentBuilder; + } + + @Override + public LongGaugeBuilder ofLongs() { + return new ApplicationLongGaugeBuilder138Incubator(agentBuilder.ofLongs()); + } + + @Override + public ExtendedDoubleGaugeBuilder setAttributesAdvice(List> attributes) { + ((io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder) agentBuilder) + .setAttributesAdvice(Bridging.toAgent(attributes)); + return this; + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationLongGaugeBuilder138Incubator.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationLongGaugeBuilder138Incubator.java new file mode 100644 index 000000000000..ecb96be16642 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationLongGaugeBuilder138Incubator.java @@ -0,0 +1,31 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator.metrics; + +import application.io.opentelemetry.api.common.AttributeKey; +import application.io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.Bridging; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics.ApplicationLongGaugeBuilder138; +import java.util.List; + +final class ApplicationLongGaugeBuilder138Incubator extends ApplicationLongGaugeBuilder138 + implements ExtendedLongGaugeBuilder { + + private final io.opentelemetry.api.metrics.LongGaugeBuilder agentBuilder; + + ApplicationLongGaugeBuilder138Incubator( + io.opentelemetry.api.metrics.LongGaugeBuilder agentBuilder) { + super(agentBuilder); + this.agentBuilder = agentBuilder; + } + + @Override + public ExtendedLongGaugeBuilder setAttributesAdvice(List> attributes) { + ((io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder) agentBuilder) + .setAttributesAdvice(Bridging.toAgent(attributes)); + return this; + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationMeter138Incubator.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationMeter138Incubator.java new file mode 100644 index 000000000000..396fdf9785bb --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationMeter138Incubator.java @@ -0,0 +1,24 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator.metrics; + +import application.io.opentelemetry.api.metrics.DoubleGaugeBuilder; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics.BaseApplicationMeter137; + +class ApplicationMeter138Incubator extends BaseApplicationMeter137 { + + private final io.opentelemetry.api.metrics.Meter agentMeter; + + ApplicationMeter138Incubator(io.opentelemetry.api.metrics.Meter agentMeter) { + super(agentMeter); + this.agentMeter = agentMeter; + } + + @Override + public DoubleGaugeBuilder gaugeBuilder(String name) { + return new ApplicationDoubleGaugeBuilder138Incubator(agentMeter.gaugeBuilder(name)); + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeterFactory137Incubator.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationMeterFactory138Incubator.java similarity index 79% rename from instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeterFactory137Incubator.java rename to instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationMeterFactory138Incubator.java index 2e250b24fa31..fad0f208a66e 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/metrics/ApplicationMeterFactory137Incubator.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/incubator/metrics/ApplicationMeterFactory138Incubator.java @@ -3,16 +3,16 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_37.incubator.metrics; +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.incubator.metrics; import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeter; import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeterFactory; // this class is used from opentelemetry-api-1.27 via reflection -public final class ApplicationMeterFactory137Incubator implements ApplicationMeterFactory { +public final class ApplicationMeterFactory138Incubator implements ApplicationMeterFactory { @Override public ApplicationMeter newMeter(Meter agentMeter) { - return new ApplicationMeter137Incubator(agentMeter); + return new ApplicationMeter138Incubator(agentMeter); } } diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationDoubleGaugeBuilder138.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationDoubleGaugeBuilder138.java new file mode 100644 index 000000000000..f5bd88c9d409 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationDoubleGaugeBuilder138.java @@ -0,0 +1,55 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics; + +import application.io.opentelemetry.api.common.Attributes; +import application.io.opentelemetry.api.metrics.DoubleGauge; +import application.io.opentelemetry.api.metrics.LongGaugeBuilder; +import application.io.opentelemetry.context.Context; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.context.AgentContextStorage; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.Bridging; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationDoubleGaugeBuilder; + +public class ApplicationDoubleGaugeBuilder138 extends ApplicationDoubleGaugeBuilder { + + private final io.opentelemetry.api.metrics.DoubleGaugeBuilder agentBuilder; + + protected ApplicationDoubleGaugeBuilder138( + io.opentelemetry.api.metrics.DoubleGaugeBuilder agentBuilder) { + super(agentBuilder); + this.agentBuilder = agentBuilder; + } + + @Override + public LongGaugeBuilder ofLongs() { + return new ApplicationLongGaugeBuilder138(agentBuilder.ofLongs()); + } + + @Override + public DoubleGauge build() { + io.opentelemetry.api.metrics.DoubleGauge agentDoubleGauge = agentBuilder.build(); + return new DoubleGauge() { + + @Override + public void set(double value) { + agentDoubleGauge.set(value); + } + + @Override + public void set(double value, Attributes attributes) { + agentDoubleGauge.set(value, Bridging.toAgent(attributes)); + } + + @Override + public void set(double value, Attributes attributes, Context applicationContext) { + agentDoubleGauge.set( + value, + Bridging.toAgent(attributes), + AgentContextStorage.getAgentContext(applicationContext)); + } + }; + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationLongGaugeBuilder138.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationLongGaugeBuilder138.java new file mode 100644 index 000000000000..288c16a53c7a --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationLongGaugeBuilder138.java @@ -0,0 +1,48 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics; + +import application.io.opentelemetry.api.common.Attributes; +import application.io.opentelemetry.api.metrics.LongGauge; +import application.io.opentelemetry.context.Context; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.context.AgentContextStorage; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.Bridging; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationLongGaugeBuilder; + +public class ApplicationLongGaugeBuilder138 extends ApplicationLongGaugeBuilder { + + private final io.opentelemetry.api.metrics.LongGaugeBuilder agentBuilder; + + protected ApplicationLongGaugeBuilder138( + io.opentelemetry.api.metrics.LongGaugeBuilder agentBuilder) { + super(agentBuilder); + this.agentBuilder = agentBuilder; + } + + @Override + public LongGauge build() { + io.opentelemetry.api.metrics.LongGauge agentLongGauge = agentBuilder.build(); + return new LongGauge() { + @Override + public void set(long value) { + agentLongGauge.set(value); + } + + @Override + public void set(long value, Attributes attributes) { + agentLongGauge.set(value, Bridging.toAgent(attributes)); + } + + @Override + public void set(long value, Attributes attributes, Context applicationContext) { + agentLongGauge.set( + value, + Bridging.toAgent(attributes), + AgentContextStorage.getAgentContext(applicationContext)); + } + }; + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationMeter138.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationMeter138.java new file mode 100644 index 000000000000..e9fbb76a5d7b --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationMeter138.java @@ -0,0 +1,24 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics; + +import application.io.opentelemetry.api.metrics.DoubleGaugeBuilder; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_32.metrics.ApplicationMeter132; + +public class ApplicationMeter138 extends ApplicationMeter132 { + + private final io.opentelemetry.api.metrics.Meter agentMeter; + + protected ApplicationMeter138(io.opentelemetry.api.metrics.Meter agentMeter) { + super(agentMeter); + this.agentMeter = agentMeter; + } + + @Override + public DoubleGaugeBuilder gaugeBuilder(String name) { + return new ApplicationDoubleGaugeBuilder138(agentMeter.gaugeBuilder(name)); + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationMeterFactory138.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationMeterFactory138.java new file mode 100644 index 000000000000..79b1e200d280 --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/ApplicationMeterFactory138.java @@ -0,0 +1,18 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics; + +import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeter; +import io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.metrics.ApplicationMeterFactory; + +// this class is used from opentelemetry-api-1.27 via reflection +public final class ApplicationMeterFactory138 implements ApplicationMeterFactory { + @Override + public ApplicationMeter newMeter(Meter agentMeter) { + return new ApplicationMeter138(agentMeter); + } +} diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/MeterTest.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/MeterTest.java new file mode 100644 index 000000000000..adb929d4c75f --- /dev/null +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/MeterTest.java @@ -0,0 +1,125 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_38.metrics; + +import static io.opentelemetry.api.common.AttributeKey.stringKey; +import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo; + +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.metrics.DoubleGauge; +import io.opentelemetry.api.metrics.DoubleGaugeBuilder; +import io.opentelemetry.api.metrics.LongGauge; +import io.opentelemetry.api.metrics.LongGaugeBuilder; +import io.opentelemetry.api.metrics.Meter; +import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; +import io.opentelemetry.sdk.common.InstrumentationScopeInfo; +import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions; +import org.assertj.core.api.AbstractIterableAssert; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.api.extension.RegisterExtension; + +class MeterTest { + + @RegisterExtension + static final AgentInstrumentationExtension testing = AgentInstrumentationExtension.create(); + + private String instrumentationName; + private Meter meter; + + @BeforeEach + void setupMeter(TestInfo test) { + instrumentationName = "test-" + test.getDisplayName(); + meter = + testing + .getOpenTelemetry() + .getMeterProvider() + .meterBuilder(instrumentationName) + .setInstrumentationVersion("1.2.3") + .setSchemaUrl("http://schema.org") + .build(); + } + + @Test + void syncLongGauge() throws InterruptedException { + LongGaugeBuilder builder = + meter.gaugeBuilder("test").ofLongs().setDescription("d").setUnit("u"); + + LongGauge longGauge = builder.build(); + longGauge.set(321); + longGauge.set(123, Attributes.of(stringKey("test"), "test")); + + testing.waitAndAssertMetrics( + instrumentationName, + "test", + metrics -> + metrics.anySatisfy( + metric -> + OpenTelemetryAssertions.assertThat(metric) + .hasDescription("d") + .hasUnit("u") + .hasInstrumentationScope( + InstrumentationScopeInfo.builder(instrumentationName) + .setVersion("1.2.3") + .build()) + .hasLongGaugeSatisfying( + gauge -> + gauge.hasPointsSatisfying( + point -> point.hasValue(321).hasAttributes(Attributes.empty()), + point -> + point + .hasValue(123) + .hasAttributesSatisfying( + equalTo(stringKey("test"), "test")))))); + + // sleep exporter interval + Thread.sleep(100); + testing.clearData(); + Thread.sleep(100); + + testing.waitAndAssertMetrics(instrumentationName, "test", AbstractIterableAssert::isEmpty); + } + + @Test + void syncDoubleGauge() throws InterruptedException { + DoubleGaugeBuilder builder = meter.gaugeBuilder("test").setDescription("d").setUnit("u"); + + DoubleGauge doubleGauge = builder.build(); + doubleGauge.set(3.21); + doubleGauge.set(1.23, Attributes.of(stringKey("test"), "test")); + + testing.waitAndAssertMetrics( + instrumentationName, + "test", + metrics -> + metrics.anySatisfy( + metric -> + OpenTelemetryAssertions.assertThat(metric) + .hasDescription("d") + .hasUnit("u") + .hasInstrumentationScope( + InstrumentationScopeInfo.builder(instrumentationName) + .setVersion("1.2.3") + .build()) + .hasDoubleGaugeSatisfying( + gauge -> + gauge.hasPointsSatisfying( + point -> point.hasValue(3.21).hasAttributes(Attributes.empty()), + point -> + point + .hasValue(1.23) + .hasAttributesSatisfying( + equalTo(stringKey("test"), "test")))))); + + // sleep exporter interval + Thread.sleep(100); + testing.clearData(); + Thread.sleep(100); + + testing.waitAndAssertMetrics(instrumentationName, "test", AbstractIterableAssert::isEmpty); + } +} diff --git a/opentelemetry-api-shaded-for-instrumenting/build.gradle.kts b/opentelemetry-api-shaded-for-instrumenting/build.gradle.kts index eb21d040ba5a..47292515b076 100644 --- a/opentelemetry-api-shaded-for-instrumenting/build.gradle.kts +++ b/opentelemetry-api-shaded-for-instrumenting/build.gradle.kts @@ -52,7 +52,13 @@ val v1_37Deps by configurations.creating { exclude("io.opentelemetry", "opentelemetry-bom") exclude("io.opentelemetry", "opentelemetry-bom-alpha") } - +val v1_38Deps by configurations.creating { + isCanBeResolved = true + isCanBeConsumed = false + // exclude the bom added by dependencyManagement + exclude("io.opentelemetry", "opentelemetry-bom") + exclude("io.opentelemetry", "opentelemetry-bom-alpha") +} // configuration for publishing the shadowed artifact val v1_10 by configurations.creating { isCanBeConsumed = true @@ -78,6 +84,10 @@ val v1_37 by configurations.creating { isCanBeConsumed = true isCanBeResolved = false } +val v1_38 by configurations.creating { + isCanBeConsumed = true + isCanBeResolved = false +} dependencies { latestDeps("io.opentelemetry:opentelemetry-api") @@ -129,6 +139,11 @@ dependencies { strictly("1.37.0-alpha") } } + v1_38Deps("io.opentelemetry:$it") { + version { + strictly("1.38.0-alpha") + } + } } } @@ -168,6 +183,10 @@ tasks { configurations = listOf(v1_37Deps) archiveClassifier.set("v1_37") } + val v1_38Shadow by registering(ShadowJar::class) { + configurations = listOf(v1_38Deps) + archiveClassifier.set("v1_38") + } artifacts { add(v1_10.name, v1_10Shadow) @@ -176,5 +195,6 @@ tasks { add(v1_31.name, v1_31Shadow) add(v1_32.name, v1_32Shadow) add(v1_37.name, v1_37Shadow) + add(v1_38.name, v1_38Shadow) } } diff --git a/settings.gradle.kts b/settings.gradle.kts index 17793b988bcf..92e13836319f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -428,6 +428,7 @@ include(":instrumentation:opentelemetry-api:opentelemetry-api-1.27:javaagent") include(":instrumentation:opentelemetry-api:opentelemetry-api-1.31:javaagent") include(":instrumentation:opentelemetry-api:opentelemetry-api-1.32:javaagent") include(":instrumentation:opentelemetry-api:opentelemetry-api-1.37:javaagent") +include(":instrumentation:opentelemetry-api:opentelemetry-api-1.38:javaagent") include(":instrumentation:opentelemetry-extension-annotations-1.0:javaagent") include(":instrumentation:opentelemetry-extension-kotlin-1.0:javaagent") include(":instrumentation:opentelemetry-instrumentation-annotations-1.16:javaagent") From 4fbab7539d552d7ee4eb063439193a759cdd935c Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Mon, 13 May 2024 16:35:00 +0300 Subject: [PATCH 5/5] fix tests --- .../v1_37/incubator/OpenTelemetryApiInstrumentationModule.java | 3 +-- .../v1_38/OpenTelemetryApiInstrumentationModule.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiInstrumentationModule.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiInstrumentationModule.java index 507e4c7c2845..991895845fbb 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiInstrumentationModule.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/incubator/OpenTelemetryApiInstrumentationModule.java @@ -23,8 +23,7 @@ public OpenTelemetryApiInstrumentationModule() { @Override public ElementMatcher.Junction classLoaderMatcher() { // skip instrumentation when opentelemetry-api-incubator is not present - return hasClassesNamed( - "application.io.opentelemetry.extension.incubator.metrics.ExtendedDoubleGaugeBuilder"); + return hasClassesNamed("application.io.opentelemetry.api.incubator.metrics.DoubleGauge"); } @Override diff --git a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryApiInstrumentationModule.java b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryApiInstrumentationModule.java index 54865e02f9b8..b25f135b56b2 100644 --- a/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryApiInstrumentationModule.java +++ b/instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/OpenTelemetryApiInstrumentationModule.java @@ -27,7 +27,7 @@ public ElementMatcher.Junction classLoaderMatcher() { // handled by OpenTelemetryApiIncubatorInstrumentationModule return not( hasClassesNamed( - "application.io.opentelemetry.extension.incubator.metrics.ExtendedDoubleHistogramBuilder")); + "application.io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder")); } @Override