From 27e5926c7f1eb8caf71f5902b747e5b980fe69ef Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 2 Feb 2023 16:57:37 -0800 Subject: [PATCH 01/34] snippet injection use the snippet-injection version otl and add dependency at application insights --- agent/agent-bootstrap/gradle.lockfile | 4 +-- agent/agent-for-testing/gradle.lockfile | 4 +-- .../gc-monitor-api/gradle.lockfile | 4 +-- .../gc-monitor-core/gradle.lockfile | 4 +-- .../gc-monitor-tests/gradle.lockfile | 4 +-- .../agent-alerting-api/gradle.lockfile | 4 +-- .../agent-alerting/gradle.lockfile | 4 +-- .../agent-diagnostics-api/gradle.lockfile | 4 +-- agent/agent-tooling/build.gradle.kts | 2 +- agent/agent-tooling/gradle.lockfile | 4 +-- .../configuration/SnippetInjection.java | 32 +++++++++++++++++++ .../agent/internal/init/SecondEntryPoint.java | 3 ++ agent/agent/gradle.lockfile | 4 +-- agent/azure-monitor-exporter/gradle.lockfile | 4 +-- .../gradle.lockfile | 4 +-- .../gradle.lockfile | 4 +-- .../azure-functions/gradle.lockfile | 4 +-- agent/instrumentation/methods/gradle.lockfile | 4 +-- .../micrometer-1.0/gradle.lockfile | 4 +-- agent/runtime-attach/gradle.lockfile | 4 +-- buildSrc/build.gradle.kts | 1 + .../kotlin/ai.java-conventions.gradle.kts | 1 + classic-sdk/core/gradle.lockfile | 4 +-- classic-sdk/web/gradle.lockfile | 4 +-- dependencyManagement/build.gradle.kts | 8 +++-- etw/java/gradle.lockfile | 4 +-- 26 files changed, 84 insertions(+), 43 deletions(-) create mode 100644 agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java diff --git a/agent/agent-bootstrap/gradle.lockfile b/agent/agent-bootstrap/gradle.lockfile index eddd497d22e..0ea9a11eefa 100644 --- a/agent/agent-bootstrap/gradle.lockfile +++ b/agent/agent-bootstrap/gradle.lockfile @@ -11,8 +11,8 @@ com.google.guava:guava-bom:31.1-jre=runtimeClasspath com.squareup.moshi:moshi:1.11.0=runtimeClasspath com.squareup.okio:okio:1.17.5=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-for-testing/gradle.lockfile b/agent/agent-for-testing/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/agent-for-testing/gradle.lockfile +++ b/agent/agent-for-testing/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-gc-monitor/gc-monitor-api/gradle.lockfile b/agent/agent-gc-monitor/gc-monitor-api/gradle.lockfile index f4460237f1d..b9abe2788d2 100644 --- a/agent/agent-gc-monitor/gc-monitor-api/gradle.lockfile +++ b/agent/agent-gc-monitor/gc-monitor-api/gradle.lockfile @@ -6,8 +6,8 @@ com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.errorprone:error_prone_annotations:2.18.0=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-gc-monitor/gc-monitor-core/gradle.lockfile b/agent/agent-gc-monitor/gc-monitor-core/gradle.lockfile index f4460237f1d..b9abe2788d2 100644 --- a/agent/agent-gc-monitor/gc-monitor-core/gradle.lockfile +++ b/agent/agent-gc-monitor/gc-monitor-core/gradle.lockfile @@ -6,8 +6,8 @@ com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.errorprone:error_prone_annotations:2.18.0=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-gc-monitor/gc-monitor-tests/gradle.lockfile b/agent/agent-gc-monitor/gc-monitor-tests/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/agent-gc-monitor/gc-monitor-tests/gradle.lockfile +++ b/agent/agent-gc-monitor/gc-monitor-tests/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-profiler/agent-alerting-api/gradle.lockfile b/agent/agent-profiler/agent-alerting-api/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/agent-profiler/agent-alerting-api/gradle.lockfile +++ b/agent/agent-profiler/agent-alerting-api/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-profiler/agent-alerting/gradle.lockfile b/agent/agent-profiler/agent-alerting/gradle.lockfile index d6d430fdef8..8ce07419a51 100644 --- a/agent/agent-profiler/agent-alerting/gradle.lockfile +++ b/agent/agent-profiler/agent-alerting/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-profiler/agent-diagnostics-api/gradle.lockfile b/agent/agent-profiler/agent-diagnostics-api/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/agent-profiler/agent-diagnostics-api/gradle.lockfile +++ b/agent/agent-profiler/agent-diagnostics-api/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-tooling/build.gradle.kts b/agent/agent-tooling/build.gradle.kts index 1ea4196eb9e..8a035d37cf6 100644 --- a/agent/agent-tooling/build.gradle.kts +++ b/agent/agent-tooling/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap") compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") - + compileOnly("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap") testImplementation("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api") diff --git a/agent/agent-tooling/gradle.lockfile b/agent/agent-tooling/gradle.lockfile index 6366dfdc9ba..9623cf97ce9 100644 --- a/agent/agent-tooling/gradle.lockfile +++ b/agent/agent-tooling/gradle.lockfile @@ -50,8 +50,8 @@ io.netty:netty-transport-native-epoll:4.1.87.Final=runtimeClasspath io.netty:netty-transport-native-kqueue:4.1.87.Final=runtimeClasspath io.netty:netty-transport-native-unix-common:4.1.87.Final=runtimeClasspath io.netty:netty-transport:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath io.projectreactor.netty:reactor-netty-core:1.1.2=runtimeClasspath diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java new file mode 100644 index 00000000000..b53e26879f9 --- /dev/null +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java @@ -0,0 +1,32 @@ +package com.microsoft.applicationinsights.agent.internal.configuration; + +import com.azure.monitor.opentelemetry.exporter.implementation.utils.Strings; + +import com.microsoft.applicationinsights.agent.internal.init.FirstEntryPoint; +import io.opentelemetry.javaagent.bootstrap.servlet.ExperimentalSnippetHolder; + +public class SnippetInjection { + private static String snippet = "\n"; + public static void updateInstrumentationKey(){ + Configuration configuration = FirstEntryPoint.getConfiguration(); + if (Strings.isNullOrEmpty(configuration.connectionString)) { + if (!configuration.connectionStringConfiguredAtRuntime) + {return;} + } + snippet =snippet.replace("INSTRUMENTATION_KEY",configuration.connectionString); + ExperimentalSnippetHolder.setSnippet(snippet); + } + + private SnippetInjection() {} +} diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index 511bcb85224..f05e93a9d7f 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -3,6 +3,7 @@ package com.microsoft.applicationinsights.agent.internal.init; +import static com.microsoft.applicationinsights.agent.internal.configuration.SnippetInjection.updateInstrumentationKey; import static java.util.concurrent.TimeUnit.MINUTES; import com.azure.core.util.logging.ClientLogger; @@ -99,6 +100,8 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { throw new FriendlyException( "No connection string provided", "Please provide connection string."); } + } else { + updateInstrumentationKey(); } // TODO (trask) should configuration validation be performed earlier? configuration.validate(); diff --git a/agent/agent/gradle.lockfile b/agent/agent/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/agent/gradle.lockfile +++ b/agent/agent/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/azure-monitor-exporter/gradle.lockfile b/agent/azure-monitor-exporter/gradle.lockfile index 9b4d18a08f8..3027427e083 100644 --- a/agent/azure-monitor-exporter/gradle.lockfile +++ b/agent/azure-monitor-exporter/gradle.lockfile @@ -40,8 +40,8 @@ io.netty:netty-transport-native-epoll:4.1.87.Final=runtimeClasspath io.netty:netty-transport-native-kqueue:4.1.87.Final=runtimeClasspath io.netty:netty-transport-native-unix-common:4.1.87.Final=runtimeClasspath io.netty:netty-transport:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath io.projectreactor.netty:reactor-netty-core:1.1.2=runtimeClasspath diff --git a/agent/instrumentation/applicationinsights-web-2.3/gradle.lockfile b/agent/instrumentation/applicationinsights-web-2.3/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/instrumentation/applicationinsights-web-2.3/gradle.lockfile +++ b/agent/instrumentation/applicationinsights-web-2.3/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/instrumentation/azure-functions-worker-stub/gradle.lockfile b/agent/instrumentation/azure-functions-worker-stub/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/instrumentation/azure-functions-worker-stub/gradle.lockfile +++ b/agent/instrumentation/azure-functions-worker-stub/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/instrumentation/azure-functions/gradle.lockfile b/agent/instrumentation/azure-functions/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/instrumentation/azure-functions/gradle.lockfile +++ b/agent/instrumentation/azure-functions/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/instrumentation/methods/gradle.lockfile b/agent/instrumentation/methods/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/instrumentation/methods/gradle.lockfile +++ b/agent/instrumentation/methods/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/instrumentation/micrometer-1.0/gradle.lockfile b/agent/instrumentation/micrometer-1.0/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/agent/instrumentation/micrometer-1.0/gradle.lockfile +++ b/agent/instrumentation/micrometer-1.0/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/runtime-attach/gradle.lockfile b/agent/runtime-attach/gradle.lockfile index 485f9870da3..55dd01fa560 100644 --- a/agent/runtime-attach/gradle.lockfile +++ b/agent/runtime-attach/gradle.lockfile @@ -6,8 +6,8 @@ com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath io.opentelemetry.contrib:opentelemetry-runtime-attach-core:1.18.0-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath net.bytebuddy:byte-buddy-agent:1.11.18=runtimeClasspath diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 26a0421047f..9608abb7e74 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -15,6 +15,7 @@ spotless { repositories { mavenCentral() + mavenLocal() gradlePluginPortal() } diff --git a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts index 98ca101ce9e..296ce7d757b 100644 --- a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts @@ -15,6 +15,7 @@ plugins { repositories { mavenCentral() + mavenLocal() } java { diff --git a/classic-sdk/core/gradle.lockfile b/classic-sdk/core/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/classic-sdk/core/gradle.lockfile +++ b/classic-sdk/core/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/classic-sdk/web/gradle.lockfile b/classic-sdk/web/gradle.lockfile index 6379a006e31..fee71a11f6f 100644 --- a/classic-sdk/web/gradle.lockfile +++ b/classic-sdk/web/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 98947a2614a..7619da519fb 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -12,8 +12,8 @@ val dependencyVersions = hashMapOf() rootProject.extra["versions"] = dependencyVersions val otelVersion = "1.22.0" -val otelInstrumentationVersion = "1.22.1" -val otelInstrumentationAlphaVersion = "1.22.1-alpha" +val otelInstrumentationVersion = "1.23.0-SNAPSHOT" +val otelInstrumentationAlphaVersion = "1.23.0-alpha-SNAPSHOT" val otelContribAlphaVersion = "1.18.0-alpha" rootProject.extra["otelVersion"] = otelVersion @@ -28,6 +28,7 @@ val DEPENDENCY_BOMS = listOf( "io.opentelemetry:opentelemetry-bom-alpha:${otelVersion}-alpha", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:${otelInstrumentationVersion}", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:${otelInstrumentationAlphaVersion}", +// "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationVersion}", "com.azure:azure-sdk-bom:1.2.8", "io.netty:netty-bom:4.1.87.Final", "org.junit:junit-bom:5.9.2", @@ -70,6 +71,7 @@ val CORE_DEPENDENCIES = listOf( "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling:${otelInstrumentationAlphaVersion}", + "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationAlphaVersion}", // temporarily overriding transitive dependency from azure-core until next azure-bom release // which targets at least reactor-netty-http:1.1.1 "io.projectreactor.netty:reactor-netty-http:1.1.2" @@ -96,6 +98,7 @@ javaPlatform { } dependencies { + for (bom in DEPENDENCY_BOMS) { api(enforcedPlatform(bom)) val split = bom.split(':') @@ -113,6 +116,7 @@ dependencies { dependencyVersions[split[0]] = split[2] } } +// implementation (files('')) } fun isNonStable(version: String): Boolean { diff --git a/etw/java/gradle.lockfile b/etw/java/gradle.lockfile index d6d430fdef8..8ce07419a51 100644 --- a/etw/java/gradle.lockfile +++ b/etw/java/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath From 58decf71831ae29174a497559385a6f17fac9036 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 2 Feb 2023 17:04:00 -0800 Subject: [PATCH 02/34] Update build.gradle.kts --- dependencyManagement/build.gradle.kts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 7619da519fb..3884dbb1f14 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -28,8 +28,7 @@ val DEPENDENCY_BOMS = listOf( "io.opentelemetry:opentelemetry-bom-alpha:${otelVersion}-alpha", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:${otelInstrumentationVersion}", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:${otelInstrumentationAlphaVersion}", -// "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationVersion}", - "com.azure:azure-sdk-bom:1.2.8", + "com.azure:azure-sdk-bom:1.2.9", "io.netty:netty-bom:4.1.87.Final", "org.junit:junit-bom:5.9.2", "org.testcontainers:testcontainers-bom:1.17.6", From 1e326539c8bf268f83dcee89ae9525d5e42d3e8c Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 3 Feb 2023 11:33:19 -0800 Subject: [PATCH 03/34] remove lockerfile --- agent/agent-tooling/build.gradle.kts | 2 +- .../configuration/SnippetInjection.java | 32 ------------------- .../agent/internal/init/SecondEntryPoint.java | 3 -- buildSrc/build.gradle.kts | 1 - .../kotlin/ai.java-conventions.gradle.kts | 1 - dependencyManagement/build.gradle.kts | 7 ++-- 6 files changed, 3 insertions(+), 43 deletions(-) delete mode 100644 agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java diff --git a/agent/agent-tooling/build.gradle.kts b/agent/agent-tooling/build.gradle.kts index 8a035d37cf6..1ea4196eb9e 100644 --- a/agent/agent-tooling/build.gradle.kts +++ b/agent/agent-tooling/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap") compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") - compileOnly("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap") + testImplementation("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api") diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java deleted file mode 100644 index b53e26879f9..00000000000 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.microsoft.applicationinsights.agent.internal.configuration; - -import com.azure.monitor.opentelemetry.exporter.implementation.utils.Strings; - -import com.microsoft.applicationinsights.agent.internal.init.FirstEntryPoint; -import io.opentelemetry.javaagent.bootstrap.servlet.ExperimentalSnippetHolder; - -public class SnippetInjection { - private static String snippet = "\n"; - public static void updateInstrumentationKey(){ - Configuration configuration = FirstEntryPoint.getConfiguration(); - if (Strings.isNullOrEmpty(configuration.connectionString)) { - if (!configuration.connectionStringConfiguredAtRuntime) - {return;} - } - snippet =snippet.replace("INSTRUMENTATION_KEY",configuration.connectionString); - ExperimentalSnippetHolder.setSnippet(snippet); - } - - private SnippetInjection() {} -} diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index f05e93a9d7f..511bcb85224 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -3,7 +3,6 @@ package com.microsoft.applicationinsights.agent.internal.init; -import static com.microsoft.applicationinsights.agent.internal.configuration.SnippetInjection.updateInstrumentationKey; import static java.util.concurrent.TimeUnit.MINUTES; import com.azure.core.util.logging.ClientLogger; @@ -100,8 +99,6 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { throw new FriendlyException( "No connection string provided", "Please provide connection string."); } - } else { - updateInstrumentationKey(); } // TODO (trask) should configuration validation be performed earlier? configuration.validate(); diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 9608abb7e74..26a0421047f 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -15,7 +15,6 @@ spotless { repositories { mavenCentral() - mavenLocal() gradlePluginPortal() } diff --git a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts index 296ce7d757b..98ca101ce9e 100644 --- a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts @@ -15,7 +15,6 @@ plugins { repositories { mavenCentral() - mavenLocal() } java { diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 3884dbb1f14..a5c0353da41 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -12,8 +12,8 @@ val dependencyVersions = hashMapOf() rootProject.extra["versions"] = dependencyVersions val otelVersion = "1.22.0" -val otelInstrumentationVersion = "1.23.0-SNAPSHOT" -val otelInstrumentationAlphaVersion = "1.23.0-alpha-SNAPSHOT" +val otelInstrumentationVersion = "1.22.1" +val otelInstrumentationAlphaVersion = "1.22.1-alpha" val otelContribAlphaVersion = "1.18.0-alpha" rootProject.extra["otelVersion"] = otelVersion @@ -70,7 +70,6 @@ val CORE_DEPENDENCIES = listOf( "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling:${otelInstrumentationAlphaVersion}", - "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationAlphaVersion}", // temporarily overriding transitive dependency from azure-core until next azure-bom release // which targets at least reactor-netty-http:1.1.1 "io.projectreactor.netty:reactor-netty-http:1.1.2" @@ -97,7 +96,6 @@ javaPlatform { } dependencies { - for (bom in DEPENDENCY_BOMS) { api(enforcedPlatform(bom)) val split = bom.split(':') @@ -115,7 +113,6 @@ dependencies { dependencyVersions[split[0]] = split[2] } } -// implementation (files('')) } fun isNonStable(version: String): Boolean { From a88c0f6c147dd95c354ba417ccbc5a06b8dea428 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 3 Feb 2023 11:35:21 -0800 Subject: [PATCH 04/34] Revert "remove lockerfile" This reverts commit 1e326539c8bf268f83dcee89ae9525d5e42d3e8c. --- agent/agent-tooling/build.gradle.kts | 2 +- .../configuration/SnippetInjection.java | 32 +++++++++++++++++++ .../agent/internal/init/SecondEntryPoint.java | 3 ++ buildSrc/build.gradle.kts | 1 + .../kotlin/ai.java-conventions.gradle.kts | 1 + dependencyManagement/build.gradle.kts | 7 ++-- 6 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java diff --git a/agent/agent-tooling/build.gradle.kts b/agent/agent-tooling/build.gradle.kts index 1ea4196eb9e..8a035d37cf6 100644 --- a/agent/agent-tooling/build.gradle.kts +++ b/agent/agent-tooling/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap") compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") - + compileOnly("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap") testImplementation("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api") diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java new file mode 100644 index 00000000000..b53e26879f9 --- /dev/null +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java @@ -0,0 +1,32 @@ +package com.microsoft.applicationinsights.agent.internal.configuration; + +import com.azure.monitor.opentelemetry.exporter.implementation.utils.Strings; + +import com.microsoft.applicationinsights.agent.internal.init.FirstEntryPoint; +import io.opentelemetry.javaagent.bootstrap.servlet.ExperimentalSnippetHolder; + +public class SnippetInjection { + private static String snippet = "\n"; + public static void updateInstrumentationKey(){ + Configuration configuration = FirstEntryPoint.getConfiguration(); + if (Strings.isNullOrEmpty(configuration.connectionString)) { + if (!configuration.connectionStringConfiguredAtRuntime) + {return;} + } + snippet =snippet.replace("INSTRUMENTATION_KEY",configuration.connectionString); + ExperimentalSnippetHolder.setSnippet(snippet); + } + + private SnippetInjection() {} +} diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index 511bcb85224..f05e93a9d7f 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -3,6 +3,7 @@ package com.microsoft.applicationinsights.agent.internal.init; +import static com.microsoft.applicationinsights.agent.internal.configuration.SnippetInjection.updateInstrumentationKey; import static java.util.concurrent.TimeUnit.MINUTES; import com.azure.core.util.logging.ClientLogger; @@ -99,6 +100,8 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { throw new FriendlyException( "No connection string provided", "Please provide connection string."); } + } else { + updateInstrumentationKey(); } // TODO (trask) should configuration validation be performed earlier? configuration.validate(); diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 26a0421047f..9608abb7e74 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -15,6 +15,7 @@ spotless { repositories { mavenCentral() + mavenLocal() gradlePluginPortal() } diff --git a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts index 98ca101ce9e..296ce7d757b 100644 --- a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts @@ -15,6 +15,7 @@ plugins { repositories { mavenCentral() + mavenLocal() } java { diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index a5c0353da41..3884dbb1f14 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -12,8 +12,8 @@ val dependencyVersions = hashMapOf() rootProject.extra["versions"] = dependencyVersions val otelVersion = "1.22.0" -val otelInstrumentationVersion = "1.22.1" -val otelInstrumentationAlphaVersion = "1.22.1-alpha" +val otelInstrumentationVersion = "1.23.0-SNAPSHOT" +val otelInstrumentationAlphaVersion = "1.23.0-alpha-SNAPSHOT" val otelContribAlphaVersion = "1.18.0-alpha" rootProject.extra["otelVersion"] = otelVersion @@ -70,6 +70,7 @@ val CORE_DEPENDENCIES = listOf( "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling:${otelInstrumentationAlphaVersion}", + "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationAlphaVersion}", // temporarily overriding transitive dependency from azure-core until next azure-bom release // which targets at least reactor-netty-http:1.1.1 "io.projectreactor.netty:reactor-netty-http:1.1.2" @@ -96,6 +97,7 @@ javaPlatform { } dependencies { + for (bom in DEPENDENCY_BOMS) { api(enforcedPlatform(bom)) val split = bom.split(':') @@ -113,6 +115,7 @@ dependencies { dependencyVersions[split[0]] = split[2] } } +// implementation (files('')) } fun isNonStable(version: String): Boolean { From 91b91e0da659fc102017a848289b2fd730ac2da8 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 3 Feb 2023 11:37:08 -0800 Subject: [PATCH 05/34] Revert "Update build.gradle.kts" This reverts commit 58decf71831ae29174a497559385a6f17fac9036. --- dependencyManagement/build.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 3884dbb1f14..7619da519fb 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -28,7 +28,8 @@ val DEPENDENCY_BOMS = listOf( "io.opentelemetry:opentelemetry-bom-alpha:${otelVersion}-alpha", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:${otelInstrumentationVersion}", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:${otelInstrumentationAlphaVersion}", - "com.azure:azure-sdk-bom:1.2.9", +// "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationVersion}", + "com.azure:azure-sdk-bom:1.2.8", "io.netty:netty-bom:4.1.87.Final", "org.junit:junit-bom:5.9.2", "org.testcontainers:testcontainers-bom:1.17.6", From d199d7f5c9d05128c402ce179f4bccbfd840c49d Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 3 Feb 2023 11:37:15 -0800 Subject: [PATCH 06/34] Revert "snippet injection" This reverts commit 27e5926c7f1eb8caf71f5902b747e5b980fe69ef. --- agent/agent-bootstrap/gradle.lockfile | 4 +-- agent/agent-for-testing/gradle.lockfile | 4 +-- .../gc-monitor-api/gradle.lockfile | 4 +-- .../gc-monitor-core/gradle.lockfile | 4 +-- .../gc-monitor-tests/gradle.lockfile | 4 +-- .../agent-alerting-api/gradle.lockfile | 4 +-- .../agent-alerting/gradle.lockfile | 4 +-- .../agent-diagnostics-api/gradle.lockfile | 4 +-- agent/agent-tooling/build.gradle.kts | 2 +- agent/agent-tooling/gradle.lockfile | 4 +-- .../configuration/SnippetInjection.java | 32 ------------------- .../agent/internal/init/SecondEntryPoint.java | 3 -- agent/agent/gradle.lockfile | 4 +-- agent/azure-monitor-exporter/gradle.lockfile | 4 +-- .../gradle.lockfile | 4 +-- .../gradle.lockfile | 4 +-- .../azure-functions/gradle.lockfile | 4 +-- agent/instrumentation/methods/gradle.lockfile | 4 +-- .../micrometer-1.0/gradle.lockfile | 4 +-- agent/runtime-attach/gradle.lockfile | 4 +-- buildSrc/build.gradle.kts | 1 - .../kotlin/ai.java-conventions.gradle.kts | 1 - classic-sdk/core/gradle.lockfile | 4 +-- classic-sdk/web/gradle.lockfile | 4 +-- dependencyManagement/build.gradle.kts | 8 ++--- etw/java/gradle.lockfile | 4 +-- 26 files changed, 43 insertions(+), 84 deletions(-) delete mode 100644 agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java diff --git a/agent/agent-bootstrap/gradle.lockfile b/agent/agent-bootstrap/gradle.lockfile index 0ea9a11eefa..eddd497d22e 100644 --- a/agent/agent-bootstrap/gradle.lockfile +++ b/agent/agent-bootstrap/gradle.lockfile @@ -11,8 +11,8 @@ com.google.guava:guava-bom:31.1-jre=runtimeClasspath com.squareup.moshi:moshi:1.11.0=runtimeClasspath com.squareup.okio:okio:1.17.5=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-for-testing/gradle.lockfile b/agent/agent-for-testing/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/agent-for-testing/gradle.lockfile +++ b/agent/agent-for-testing/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-gc-monitor/gc-monitor-api/gradle.lockfile b/agent/agent-gc-monitor/gc-monitor-api/gradle.lockfile index b9abe2788d2..f4460237f1d 100644 --- a/agent/agent-gc-monitor/gc-monitor-api/gradle.lockfile +++ b/agent/agent-gc-monitor/gc-monitor-api/gradle.lockfile @@ -6,8 +6,8 @@ com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.errorprone:error_prone_annotations:2.18.0=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-gc-monitor/gc-monitor-core/gradle.lockfile b/agent/agent-gc-monitor/gc-monitor-core/gradle.lockfile index b9abe2788d2..f4460237f1d 100644 --- a/agent/agent-gc-monitor/gc-monitor-core/gradle.lockfile +++ b/agent/agent-gc-monitor/gc-monitor-core/gradle.lockfile @@ -6,8 +6,8 @@ com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.errorprone:error_prone_annotations:2.18.0=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-gc-monitor/gc-monitor-tests/gradle.lockfile b/agent/agent-gc-monitor/gc-monitor-tests/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/agent-gc-monitor/gc-monitor-tests/gradle.lockfile +++ b/agent/agent-gc-monitor/gc-monitor-tests/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-profiler/agent-alerting-api/gradle.lockfile b/agent/agent-profiler/agent-alerting-api/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/agent-profiler/agent-alerting-api/gradle.lockfile +++ b/agent/agent-profiler/agent-alerting-api/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-profiler/agent-alerting/gradle.lockfile b/agent/agent-profiler/agent-alerting/gradle.lockfile index 8ce07419a51..d6d430fdef8 100644 --- a/agent/agent-profiler/agent-alerting/gradle.lockfile +++ b/agent/agent-profiler/agent-alerting/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-profiler/agent-diagnostics-api/gradle.lockfile b/agent/agent-profiler/agent-diagnostics-api/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/agent-profiler/agent-diagnostics-api/gradle.lockfile +++ b/agent/agent-profiler/agent-diagnostics-api/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/agent-tooling/build.gradle.kts b/agent/agent-tooling/build.gradle.kts index 8a035d37cf6..1ea4196eb9e 100644 --- a/agent/agent-tooling/build.gradle.kts +++ b/agent/agent-tooling/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap") compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") - compileOnly("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap") + testImplementation("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api") diff --git a/agent/agent-tooling/gradle.lockfile b/agent/agent-tooling/gradle.lockfile index 9623cf97ce9..6366dfdc9ba 100644 --- a/agent/agent-tooling/gradle.lockfile +++ b/agent/agent-tooling/gradle.lockfile @@ -50,8 +50,8 @@ io.netty:netty-transport-native-epoll:4.1.87.Final=runtimeClasspath io.netty:netty-transport-native-kqueue:4.1.87.Final=runtimeClasspath io.netty:netty-transport-native-unix-common:4.1.87.Final=runtimeClasspath io.netty:netty-transport:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath io.projectreactor.netty:reactor-netty-core:1.1.2=runtimeClasspath diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java deleted file mode 100644 index b53e26879f9..00000000000 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetInjection.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.microsoft.applicationinsights.agent.internal.configuration; - -import com.azure.monitor.opentelemetry.exporter.implementation.utils.Strings; - -import com.microsoft.applicationinsights.agent.internal.init.FirstEntryPoint; -import io.opentelemetry.javaagent.bootstrap.servlet.ExperimentalSnippetHolder; - -public class SnippetInjection { - private static String snippet = "\n"; - public static void updateInstrumentationKey(){ - Configuration configuration = FirstEntryPoint.getConfiguration(); - if (Strings.isNullOrEmpty(configuration.connectionString)) { - if (!configuration.connectionStringConfiguredAtRuntime) - {return;} - } - snippet =snippet.replace("INSTRUMENTATION_KEY",configuration.connectionString); - ExperimentalSnippetHolder.setSnippet(snippet); - } - - private SnippetInjection() {} -} diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index f05e93a9d7f..511bcb85224 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -3,7 +3,6 @@ package com.microsoft.applicationinsights.agent.internal.init; -import static com.microsoft.applicationinsights.agent.internal.configuration.SnippetInjection.updateInstrumentationKey; import static java.util.concurrent.TimeUnit.MINUTES; import com.azure.core.util.logging.ClientLogger; @@ -100,8 +99,6 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { throw new FriendlyException( "No connection string provided", "Please provide connection string."); } - } else { - updateInstrumentationKey(); } // TODO (trask) should configuration validation be performed earlier? configuration.validate(); diff --git a/agent/agent/gradle.lockfile b/agent/agent/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/agent/gradle.lockfile +++ b/agent/agent/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/azure-monitor-exporter/gradle.lockfile b/agent/azure-monitor-exporter/gradle.lockfile index 3027427e083..9b4d18a08f8 100644 --- a/agent/azure-monitor-exporter/gradle.lockfile +++ b/agent/azure-monitor-exporter/gradle.lockfile @@ -40,8 +40,8 @@ io.netty:netty-transport-native-epoll:4.1.87.Final=runtimeClasspath io.netty:netty-transport-native-kqueue:4.1.87.Final=runtimeClasspath io.netty:netty-transport-native-unix-common:4.1.87.Final=runtimeClasspath io.netty:netty-transport:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath io.projectreactor.netty:reactor-netty-core:1.1.2=runtimeClasspath diff --git a/agent/instrumentation/applicationinsights-web-2.3/gradle.lockfile b/agent/instrumentation/applicationinsights-web-2.3/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/instrumentation/applicationinsights-web-2.3/gradle.lockfile +++ b/agent/instrumentation/applicationinsights-web-2.3/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/instrumentation/azure-functions-worker-stub/gradle.lockfile b/agent/instrumentation/azure-functions-worker-stub/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/instrumentation/azure-functions-worker-stub/gradle.lockfile +++ b/agent/instrumentation/azure-functions-worker-stub/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/instrumentation/azure-functions/gradle.lockfile b/agent/instrumentation/azure-functions/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/instrumentation/azure-functions/gradle.lockfile +++ b/agent/instrumentation/azure-functions/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/instrumentation/methods/gradle.lockfile b/agent/instrumentation/methods/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/instrumentation/methods/gradle.lockfile +++ b/agent/instrumentation/methods/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/instrumentation/micrometer-1.0/gradle.lockfile b/agent/instrumentation/micrometer-1.0/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/agent/instrumentation/micrometer-1.0/gradle.lockfile +++ b/agent/instrumentation/micrometer-1.0/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/agent/runtime-attach/gradle.lockfile b/agent/runtime-attach/gradle.lockfile index 55dd01fa560..485f9870da3 100644 --- a/agent/runtime-attach/gradle.lockfile +++ b/agent/runtime-attach/gradle.lockfile @@ -6,8 +6,8 @@ com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath io.opentelemetry.contrib:opentelemetry-runtime-attach-core:1.18.0-alpha=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath net.bytebuddy:byte-buddy-agent:1.11.18=runtimeClasspath diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 9608abb7e74..26a0421047f 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -15,7 +15,6 @@ spotless { repositories { mavenCentral() - mavenLocal() gradlePluginPortal() } diff --git a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts index 296ce7d757b..98ca101ce9e 100644 --- a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts @@ -15,7 +15,6 @@ plugins { repositories { mavenCentral() - mavenLocal() } java { diff --git a/classic-sdk/core/gradle.lockfile b/classic-sdk/core/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/classic-sdk/core/gradle.lockfile +++ b/classic-sdk/core/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/classic-sdk/web/gradle.lockfile b/classic-sdk/web/gradle.lockfile index fee71a11f6f..6379a006e31 100644 --- a/classic-sdk/web/gradle.lockfile +++ b/classic-sdk/web/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 7619da519fb..98947a2614a 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -12,8 +12,8 @@ val dependencyVersions = hashMapOf() rootProject.extra["versions"] = dependencyVersions val otelVersion = "1.22.0" -val otelInstrumentationVersion = "1.23.0-SNAPSHOT" -val otelInstrumentationAlphaVersion = "1.23.0-alpha-SNAPSHOT" +val otelInstrumentationVersion = "1.22.1" +val otelInstrumentationAlphaVersion = "1.22.1-alpha" val otelContribAlphaVersion = "1.18.0-alpha" rootProject.extra["otelVersion"] = otelVersion @@ -28,7 +28,6 @@ val DEPENDENCY_BOMS = listOf( "io.opentelemetry:opentelemetry-bom-alpha:${otelVersion}-alpha", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:${otelInstrumentationVersion}", "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:${otelInstrumentationAlphaVersion}", -// "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationVersion}", "com.azure:azure-sdk-bom:1.2.8", "io.netty:netty-bom:4.1.87.Final", "org.junit:junit-bom:5.9.2", @@ -71,7 +70,6 @@ val CORE_DEPENDENCIES = listOf( "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling:${otelInstrumentationAlphaVersion}", - "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationAlphaVersion}", // temporarily overriding transitive dependency from azure-core until next azure-bom release // which targets at least reactor-netty-http:1.1.1 "io.projectreactor.netty:reactor-netty-http:1.1.2" @@ -98,7 +96,6 @@ javaPlatform { } dependencies { - for (bom in DEPENDENCY_BOMS) { api(enforcedPlatform(bom)) val split = bom.split(':') @@ -116,7 +113,6 @@ dependencies { dependencyVersions[split[0]] = split[2] } } -// implementation (files('')) } fun isNonStable(version: String): Boolean { diff --git a/etw/java/gradle.lockfile b/etw/java/gradle.lockfile index 8ce07419a51..d6d430fdef8 100644 --- a/etw/java/gradle.lockfile +++ b/etw/java/gradle.lockfile @@ -5,8 +5,8 @@ com.azure:azure-sdk-bom:1.2.8=runtimeClasspath com.fasterxml.jackson:jackson-bom:2.14.1=runtimeClasspath com.google.guava:guava-bom:31.1-jre=runtimeClasspath io.netty:netty-bom:4.1.87.Final=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.23.0-alpha-SNAPSHOT=runtimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.23.0-SNAPSHOT=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:1.22.1-alpha=runtimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:1.22.1=runtimeClasspath io.opentelemetry:opentelemetry-bom-alpha:1.22.0-alpha=runtimeClasspath io.opentelemetry:opentelemetry-bom:1.22.0=runtimeClasspath org.junit:junit-bom:5.9.2=runtimeClasspath From 4a44816ccb1feee5985076221c483181bd113ae1 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 3 Feb 2023 11:53:08 -0800 Subject: [PATCH 07/34] Revert "Revert "remove lockerfile"" This reverts commit a88c0f6c147dd95c354ba417ccbc5a06b8dea428. --- .../configuration/SnippetConfiguration.java | 32 +++++++++++++++++++ .../agent/internal/init/SecondEntryPoint.java | 3 ++ buildSrc/build.gradle.kts | 1 + .../kotlin/ai.java-conventions.gradle.kts | 1 + dependencyManagement/build.gradle.kts | 5 +-- 5 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java new file mode 100644 index 00000000000..2e77fd0e0b4 --- /dev/null +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -0,0 +1,32 @@ +package com.microsoft.applicationinsights.agent.internal.configuration; + +import com.azure.monitor.opentelemetry.exporter.implementation.utils.Strings; + +import com.microsoft.applicationinsights.agent.internal.init.FirstEntryPoint; +import io.opentelemetry.javaagent.bootstrap.servlet.ExperimentalSnippetHolder; + +public class SnippetConfiguration { + private static String snippet = "\n"; + public static void updateInstrumentationKey(){ + Configuration configuration = FirstEntryPoint.getConfiguration(); + if (Strings.isNullOrEmpty(configuration.connectionString)) { + if (!configuration.connectionStringConfiguredAtRuntime) + {return;} + } + snippet =snippet.replace("INSTRUMENTATION_KEY",configuration.connectionString); + ExperimentalSnippetHolder.setSnippet(snippet); + } + + private SnippetConfiguration() {} +} diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index 511bcb85224..0843e25c8aa 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -3,6 +3,7 @@ package com.microsoft.applicationinsights.agent.internal.init; +import static com.microsoft.applicationinsights.agent.internal.configuration.SnippetConfiguration.updateInstrumentationKey; import static java.util.concurrent.TimeUnit.MINUTES; import com.azure.core.util.logging.ClientLogger; @@ -99,6 +100,8 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { throw new FriendlyException( "No connection string provided", "Please provide connection string."); } + } else { + updateInstrumentationKey(); } // TODO (trask) should configuration validation be performed earlier? configuration.validate(); diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 26a0421047f..9608abb7e74 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -15,6 +15,7 @@ spotless { repositories { mavenCentral() + mavenLocal() gradlePluginPortal() } diff --git a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts index 98ca101ce9e..296ce7d757b 100644 --- a/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/ai.java-conventions.gradle.kts @@ -15,6 +15,7 @@ plugins { repositories { mavenCentral() + mavenLocal() } java { diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 98947a2614a..d3c8ad0e998 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -12,8 +12,8 @@ val dependencyVersions = hashMapOf() rootProject.extra["versions"] = dependencyVersions val otelVersion = "1.22.0" -val otelInstrumentationVersion = "1.22.1" -val otelInstrumentationAlphaVersion = "1.22.1-alpha" +val otelInstrumentationVersion = "1.23.0-SNAPSHOT" +val otelInstrumentationAlphaVersion = "1.23.0-alpha-SNAPSHOT" val otelContribAlphaVersion = "1.18.0-alpha" rootProject.extra["otelVersion"] = otelVersion @@ -70,6 +70,7 @@ val CORE_DEPENDENCIES = listOf( "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling:${otelInstrumentationAlphaVersion}", + "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationAlphaVersion}", // temporarily overriding transitive dependency from azure-core until next azure-bom release // which targets at least reactor-netty-http:1.1.1 "io.projectreactor.netty:reactor-netty-http:1.1.2" From b2223d5b6fb4aac0d7a0d9bf4c6c649fb7a92e5f Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 3 Feb 2023 14:28:37 -0800 Subject: [PATCH 08/34] Update SnippetConfiguration.java --- .../configuration/SnippetConfiguration.java | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java index 2e77fd0e0b4..d70a48df644 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -1,30 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + package com.microsoft.applicationinsights.agent.internal.configuration; import com.azure.monitor.opentelemetry.exporter.implementation.utils.Strings; - import com.microsoft.applicationinsights.agent.internal.init.FirstEntryPoint; import io.opentelemetry.javaagent.bootstrap.servlet.ExperimentalSnippetHolder; public class SnippetConfiguration { - private static String snippet = "\n"; - public static void updateInstrumentationKey(){ + private static String snippet = + "\n"; + + public static void updateInstrumentationKey() { Configuration configuration = FirstEntryPoint.getConfiguration(); if (Strings.isNullOrEmpty(configuration.connectionString)) { - if (!configuration.connectionStringConfiguredAtRuntime) - {return;} + if (!configuration.connectionStringConfiguredAtRuntime) { + return; + } } - snippet =snippet.replace("INSTRUMENTATION_KEY",configuration.connectionString); + snippet = snippet.replace("INSTRUMENTATION_KEY", configuration.connectionString); ExperimentalSnippetHolder.setSnippet(snippet); } From 21c7dec323d11e04db86de9cf29331ca19c78900 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 23 Feb 2023 10:58:02 -0800 Subject: [PATCH 09/34] add smoke test --- settings.gradle.kts | 2 + .../resources/applicationinsights.json | 2 + .../MockExtension/build.gradle.kts | 18 +++++++ .../MockDiagnosticEngineFactory.java | 31 +++++++++++ ...sights.diagnostics.DiagnosticEngineFactory | 1 + .../apps/SnippetInjection/build.gradle.kts | 11 ++++ .../smoketestapp/SpringBootApp.java | 14 +++++ .../smoketestapp/TestController.java | 28 ++++++++++ .../src/main/resources/static/hello.html | 16 ++++++ .../src/main/resources/templates/hello.html | 16 ++++++ .../smoketest/SnippetInjectionTest.java | 51 +++++++++++++++++++ .../resources/applicationinsights.json | 17 +++++++ .../src/smokeTest/resources/logback-test.xml | 11 ++++ 13 files changed, 218 insertions(+) create mode 100644 smoke-tests/apps/SnippetInjection/MockExtension/build.gradle.kts create mode 100644 smoke-tests/apps/SnippetInjection/MockExtension/src/main/java/com/microsoft/applicationinsights/smoketestextension/MockDiagnosticEngineFactory.java create mode 100644 smoke-tests/apps/SnippetInjection/MockExtension/src/main/resources/META-INF/services/com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory create mode 100644 smoke-tests/apps/SnippetInjection/build.gradle.kts create mode 100644 smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java create mode 100644 smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java create mode 100644 smoke-tests/apps/SnippetInjection/src/main/resources/static/hello.html create mode 100644 smoke-tests/apps/SnippetInjection/src/main/resources/templates/hello.html create mode 100644 smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java create mode 100644 smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json create mode 100644 smoke-tests/apps/SnippetInjection/src/smokeTest/resources/logback-test.xml diff --git a/settings.gradle.kts b/settings.gradle.kts index 3e6e96412ee..834f84681e2 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -124,6 +124,8 @@ hideFromDependabot(":smoke-tests:apps:RoleNameOverrides") hideFromDependabot(":smoke-tests:apps:RuntimeAttach") hideFromDependabot(":smoke-tests:apps:RuntimeAttachWithDelayedConnectionString") hideFromDependabot(":smoke-tests:apps:Sampling") +hideFromDependabot(":smoke-tests:apps:SnippetInjection") +hideFromDependabot(":smoke-tests:apps:SnippetInjection:MockExtension") hideFromDependabot(":smoke-tests:apps:SamplingOverrides") hideFromDependabot(":smoke-tests:apps:SamplingOverridesBackCompat") hideFromDependabot(":smoke-tests:apps:SpringBoot") diff --git a/smoke-tests/apps/CustomDimensions/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/CustomDimensions/src/smokeTest/resources/applicationinsights.json index 594d6b35618..a442b23d36e 100644 --- a/smoke-tests/apps/CustomDimensions/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/CustomDimensions/src/smokeTest/resources/applicationinsights.json @@ -12,3 +12,5 @@ "service.version": "123" } } + +// TODO check diff --git a/smoke-tests/apps/SnippetInjection/MockExtension/build.gradle.kts b/smoke-tests/apps/SnippetInjection/MockExtension/build.gradle.kts new file mode 100644 index 00000000000..e1592e80858 --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/MockExtension/build.gradle.kts @@ -0,0 +1,18 @@ +plugins { + `java` +} + +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(8)) + } +} + +dependencies { + compileOnly(project(":agent:agent-profiler:agent-diagnostics-api")) + compileOnly(project(":agent:agent-profiler:agent-alerting-api")) +} + +tasks.jar { + archiveFileName.set("extension.jar") +} diff --git a/smoke-tests/apps/SnippetInjection/MockExtension/src/main/java/com/microsoft/applicationinsights/smoketestextension/MockDiagnosticEngineFactory.java b/smoke-tests/apps/SnippetInjection/MockExtension/src/main/java/com/microsoft/applicationinsights/smoketestextension/MockDiagnosticEngineFactory.java new file mode 100644 index 00000000000..8a52623ddff --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/MockExtension/src/main/java/com/microsoft/applicationinsights/smoketestextension/MockDiagnosticEngineFactory.java @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.microsoft.applicationinsights.smoketestextension; + +import com.microsoft.applicationinsights.diagnostics.DiagnosisResult; +import com.microsoft.applicationinsights.diagnostics.DiagnosticEngine; +import com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Future; +import java.util.concurrent.ScheduledExecutorService; + +public class MockDiagnosticEngineFactory implements DiagnosticEngineFactory { + + @Override + public DiagnosticEngine create(ScheduledExecutorService executorService) { + return new DiagnosticEngine() { + + @Override + public void init() { + System.setProperty("DIAGNOSTIC_CALLED", "true"); + } + + @Override + public Future> performDiagnosis( + com.microsoft.applicationinsights.alerting.alert.AlertBreach alertBreach) { + return CompletableFuture.completedFuture(null); + } + }; + } +} diff --git a/smoke-tests/apps/SnippetInjection/MockExtension/src/main/resources/META-INF/services/com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory b/smoke-tests/apps/SnippetInjection/MockExtension/src/main/resources/META-INF/services/com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory new file mode 100644 index 00000000000..03e6b13d878 --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/MockExtension/src/main/resources/META-INF/services/com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory @@ -0,0 +1 @@ +com.microsoft.applicationinsights.smoketestextension.MockDiagnosticEngineFactory \ No newline at end of file diff --git a/smoke-tests/apps/SnippetInjection/build.gradle.kts b/smoke-tests/apps/SnippetInjection/build.gradle.kts new file mode 100644 index 00000000000..835dbaeff4b --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + id("ai.smoke-test-jar") +} + +dependencies { + implementation(project(":agent:agent-profiler:agent-diagnostics-api")) + implementation(project(":agent:agent-profiler:agent-alerting-api")) + implementation(project(":smoke-tests:apps:DiagnosticExtension:MockExtension")) + testImplementation(project(":smoke-tests:framework")) + implementation("org.springframework.boot:spring-boot-starter-web:2.1.7.RELEASE") +} diff --git a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java new file mode 100644 index 00000000000..5866f353beb --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java @@ -0,0 +1,14 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.microsoft.applicationinsights.smoketestapp; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SpringBootApp { + public static void main(String[] args) { + SpringApplication.run(SpringBootApp.class, args); + } +} diff --git a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java new file mode 100644 index 00000000000..4c98adeec01 --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.microsoft.applicationinsights.smoketestapp; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Controller +public class TestController { + + @GetMapping("/") + public String root() { + return "OK"; + } + + @RequestMapping(path="/hello") + public String getHelloPage(){ + return "hello.html"; + } + + @GetMapping("/api/profileragent/v4/settings") + public String profilerConfig() { + return "OK"; + } +} diff --git a/smoke-tests/apps/SnippetInjection/src/main/resources/static/hello.html b/smoke-tests/apps/SnippetInjection/src/main/resources/static/hello.html new file mode 100644 index 00000000000..88f5396a698 --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/src/main/resources/static/hello.html @@ -0,0 +1,16 @@ + + + + + + Hello + + + +

h1 h1

+

hello hello

+ + diff --git a/smoke-tests/apps/SnippetInjection/src/main/resources/templates/hello.html b/smoke-tests/apps/SnippetInjection/src/main/resources/templates/hello.html new file mode 100644 index 00000000000..88f5396a698 --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/src/main/resources/templates/hello.html @@ -0,0 +1,16 @@ + + + + + + Hello + + + +

h1 h1

+

hello hello

+ + diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java new file mode 100644 index 00000000000..5295bcbea53 --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.microsoft.applicationinsights.smoketest; + +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_11; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_17; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_19; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_20; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_8; + +import com.microsoft.applicationinsights.smoketest.fakeingestion.ProfilerState; +import java.io.File; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +@UseAgent +abstract class SnippetInjectionTest { + @RegisterExtension + static final SmokeTestExtension testing = + SmokeTestExtension.builder() + .setAgentExtensionFile(new File("MockExtension/build/libs/extension.jar")) + .setProfilerEndpoint(ProfilerState.configuredEnabled) + .build(); + + @Test + @TargetUri("/") + void doDelayedSnippetInjectionTest() throws Exception { + String url = testing.getBaseUrl() + "/hello"; + String response = HttpHelper.get(url, ""); + System.out.println(response); + + Assertions.assertTrue(Boolean.parseBoolean(response)); + } + + @Environment(JAVA_8) + static class Java8Test extends SnippetInjectionTest {} + + @Environment(JAVA_11) + static class Java11Test extends SnippetInjectionTest {} + + @Environment(JAVA_17) + static class Java17Test extends SnippetInjectionTest {} + + @Environment(JAVA_19) + static class Java18Test extends SnippetInjectionTest {} + + @Environment(JAVA_20) + static class Java19Test extends SnippetInjectionTest {} +} diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json new file mode 100644 index 00000000000..46b6552e550 --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -0,0 +1,17 @@ +{ + "role" : { + "name" : "testrolename", + "instance" : "testroleinstance" + }, + "sampling" : { + "percentage" : 100 + }, + "preview" : { + "profiler" : { + "enabled" : true, + "memoryTriggeredSettings" : "DIAGNOSTIC_PROFILE", + "cpuTriggeredSettings" : "DIAGNOSTIC_PROFILE", + "enableDiagnostics" : true + } + } +} diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/logback-test.xml b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/logback-test.xml new file mode 100644 index 00000000000..0cbbecd57ce --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/logback-test.xml @@ -0,0 +1,11 @@ + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{36} - %msg%n + + + + + + From b0a47f21b9130e3aa8e3000199ef06b1c8a1bb86 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Mon, 27 Feb 2023 23:23:28 -0800 Subject: [PATCH 10/34] test only --- settings.gradle.kts | 1 - .../MockExtension/build.gradle.kts | 18 ----------- .../MockDiagnosticEngineFactory.java | 31 ------------------- ...sights.diagnostics.DiagnosticEngineFactory | 1 - .../apps/SnippetInjection/build.gradle.kts | 12 +++---- .../smoketestapp/SpringBootApp.java | 10 +++--- .../smoketestapp/TestController.java | 9 +----- .../src/main/resources/templates/hello.html | 16 ---------- .../smoketest/SnippetInjectionTest.java | 10 +++--- .../resources/applicationinsights.json | 23 +++++++------- .../resources/static/hello.html | 0 11 files changed, 28 insertions(+), 103 deletions(-) delete mode 100644 smoke-tests/apps/SnippetInjection/MockExtension/build.gradle.kts delete mode 100644 smoke-tests/apps/SnippetInjection/MockExtension/src/main/java/com/microsoft/applicationinsights/smoketestextension/MockDiagnosticEngineFactory.java delete mode 100644 smoke-tests/apps/SnippetInjection/MockExtension/src/main/resources/META-INF/services/com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory delete mode 100644 smoke-tests/apps/SnippetInjection/src/main/resources/templates/hello.html rename smoke-tests/apps/SnippetInjection/src/{main => smokeTest}/resources/static/hello.html (100%) diff --git a/settings.gradle.kts b/settings.gradle.kts index cc7c5c9f5be..05548ea1904 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -126,7 +126,6 @@ hideFromDependabot(":smoke-tests:apps:RuntimeAttach") hideFromDependabot(":smoke-tests:apps:RuntimeAttachWithDelayedConnectionString") hideFromDependabot(":smoke-tests:apps:Sampling") hideFromDependabot(":smoke-tests:apps:SnippetInjection") -hideFromDependabot(":smoke-tests:apps:SnippetInjection:MockExtension") hideFromDependabot(":smoke-tests:apps:SamplingOverrides") hideFromDependabot(":smoke-tests:apps:SamplingOverridesBackCompat") hideFromDependabot(":smoke-tests:apps:SpringBoot") diff --git a/smoke-tests/apps/SnippetInjection/MockExtension/build.gradle.kts b/smoke-tests/apps/SnippetInjection/MockExtension/build.gradle.kts deleted file mode 100644 index e1592e80858..00000000000 --- a/smoke-tests/apps/SnippetInjection/MockExtension/build.gradle.kts +++ /dev/null @@ -1,18 +0,0 @@ -plugins { - `java` -} - -java { - toolchain { - languageVersion.set(JavaLanguageVersion.of(8)) - } -} - -dependencies { - compileOnly(project(":agent:agent-profiler:agent-diagnostics-api")) - compileOnly(project(":agent:agent-profiler:agent-alerting-api")) -} - -tasks.jar { - archiveFileName.set("extension.jar") -} diff --git a/smoke-tests/apps/SnippetInjection/MockExtension/src/main/java/com/microsoft/applicationinsights/smoketestextension/MockDiagnosticEngineFactory.java b/smoke-tests/apps/SnippetInjection/MockExtension/src/main/java/com/microsoft/applicationinsights/smoketestextension/MockDiagnosticEngineFactory.java deleted file mode 100644 index 8a52623ddff..00000000000 --- a/smoke-tests/apps/SnippetInjection/MockExtension/src/main/java/com/microsoft/applicationinsights/smoketestextension/MockDiagnosticEngineFactory.java +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.microsoft.applicationinsights.smoketestextension; - -import com.microsoft.applicationinsights.diagnostics.DiagnosisResult; -import com.microsoft.applicationinsights.diagnostics.DiagnosticEngine; -import com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Future; -import java.util.concurrent.ScheduledExecutorService; - -public class MockDiagnosticEngineFactory implements DiagnosticEngineFactory { - - @Override - public DiagnosticEngine create(ScheduledExecutorService executorService) { - return new DiagnosticEngine() { - - @Override - public void init() { - System.setProperty("DIAGNOSTIC_CALLED", "true"); - } - - @Override - public Future> performDiagnosis( - com.microsoft.applicationinsights.alerting.alert.AlertBreach alertBreach) { - return CompletableFuture.completedFuture(null); - } - }; - } -} diff --git a/smoke-tests/apps/SnippetInjection/MockExtension/src/main/resources/META-INF/services/com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory b/smoke-tests/apps/SnippetInjection/MockExtension/src/main/resources/META-INF/services/com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory deleted file mode 100644 index 03e6b13d878..00000000000 --- a/smoke-tests/apps/SnippetInjection/MockExtension/src/main/resources/META-INF/services/com.microsoft.applicationinsights.diagnostics.DiagnosticEngineFactory +++ /dev/null @@ -1 +0,0 @@ -com.microsoft.applicationinsights.smoketestextension.MockDiagnosticEngineFactory \ No newline at end of file diff --git a/smoke-tests/apps/SnippetInjection/build.gradle.kts b/smoke-tests/apps/SnippetInjection/build.gradle.kts index 835dbaeff4b..a1cf44cd118 100644 --- a/smoke-tests/apps/SnippetInjection/build.gradle.kts +++ b/smoke-tests/apps/SnippetInjection/build.gradle.kts @@ -1,11 +1,11 @@ plugins { - id("ai.smoke-test-jar") + id("ai.smoke-test-war") } dependencies { - implementation(project(":agent:agent-profiler:agent-diagnostics-api")) - implementation(project(":agent:agent-profiler:agent-alerting-api")) - implementation(project(":smoke-tests:apps:DiagnosticExtension:MockExtension")) - testImplementation(project(":smoke-tests:framework")) - implementation("org.springframework.boot:spring-boot-starter-web:2.1.7.RELEASE") + implementation("org.springframework.boot:spring-boot-starter-web:2.1.7.RELEASE") { + exclude("org.springframework.boot", "spring-boot-starter-tomcat") + } + // this dependency is needed to make wildfly happy + implementation("org.reactivestreams:reactive-streams:1.0.3") } diff --git a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java index 5866f353beb..fe5cce0e623 100644 --- a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java +++ b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java @@ -3,12 +3,14 @@ package com.microsoft.applicationinsights.smoketestapp; -import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication -public class SpringBootApp { - public static void main(String[] args) { - SpringApplication.run(SpringBootApp.class, args); +public class SpringBootApp extends SpringBootServletInitializer { + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder) { + return applicationBuilder.sources(SpringBootApp.class); } } diff --git a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java index 4c98adeec01..5c818a5e44b 100644 --- a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java +++ b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java @@ -3,12 +3,10 @@ package com.microsoft.applicationinsights.smoketestapp; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Controller +@RestController public class TestController { @GetMapping("/") @@ -20,9 +18,4 @@ public String root() { public String getHelloPage(){ return "hello.html"; } - - @GetMapping("/api/profileragent/v4/settings") - public String profilerConfig() { - return "OK"; - } } diff --git a/smoke-tests/apps/SnippetInjection/src/main/resources/templates/hello.html b/smoke-tests/apps/SnippetInjection/src/main/resources/templates/hello.html deleted file mode 100644 index 88f5396a698..00000000000 --- a/smoke-tests/apps/SnippetInjection/src/main/resources/templates/hello.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Hello - - - -

h1 h1

-

hello hello

- - diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java index 5295bcbea53..3d1e29d088d 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java @@ -19,16 +19,14 @@ abstract class SnippetInjectionTest { @RegisterExtension static final SmokeTestExtension testing = - SmokeTestExtension.builder() - .setAgentExtensionFile(new File("MockExtension/build/libs/extension.jar")) - .setProfilerEndpoint(ProfilerState.configuredEnabled) - .build(); + SmokeTestExtension.builder().setSelfDiagnosticsLevel("trace").build(); @Test - @TargetUri("/") - void doDelayedSnippetInjectionTest() throws Exception { + @TargetUri("/hello") + void normalSnippetInjectionTest() throws Exception { String url = testing.getBaseUrl() + "/hello"; String response = HttpHelper.get(url, ""); + System.out.println(response); Assertions.assertTrue(Boolean.parseBoolean(response)); diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json index 46b6552e550..a442b23d36e 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -1,17 +1,16 @@ { - "role" : { - "name" : "testrolename", - "instance" : "testroleinstance" + "role": { + "name": "testrolename", + "instance": "testroleinstance" }, - "sampling" : { - "percentage" : 100 + "sampling": { + "percentage": 100 }, - "preview" : { - "profiler" : { - "enabled" : true, - "memoryTriggeredSettings" : "DIAGNOSTIC_PROFILE", - "cpuTriggeredSettings" : "DIAGNOSTIC_PROFILE", - "enableDiagnostics" : true - } + "customDimensions": { + "test": "value", + "home": "${HOME}", + "service.version": "123" } } + +// TODO check diff --git a/smoke-tests/apps/SnippetInjection/src/main/resources/static/hello.html b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/static/hello.html similarity index 100% rename from smoke-tests/apps/SnippetInjection/src/main/resources/static/hello.html rename to smoke-tests/apps/SnippetInjection/src/smokeTest/resources/static/hello.html From 4e83a71d4c98d8fc25c5964d4ceca999273d864d Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Mon, 12 Jun 2023 11:46:21 -0700 Subject: [PATCH 11/34] smoke test --- .../internal/init/RuntimeConfigurator.java | 1 + .../agent/internal/init/SecondEntryPoint.java | 3 - .../smoketestapp/TestController.java | 9 ++- .../resources/static/test.html} | 2 +- .../smoketest/SnippetInjectionTest.java | 72 ++++++++++++------- .../resources/applicationinsights.json | 16 +++-- 6 files changed, 66 insertions(+), 37 deletions(-) rename smoke-tests/apps/SnippetInjection/src/{smokeTest/resources/static/hello.html => main/resources/static/test.html} (94%) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java index d084c968d46..183bf5865bb 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java @@ -120,6 +120,7 @@ public void apply(RuntimeConfiguration runtimeConfig) { boolean currentEnabled = !Strings.isNullOrEmpty(currentConfig.connectionString); updateConnectionString(runtimeConfig.connectionString); + System.out.println("read config" + Configuration.PreviewConfiguration.javaScriptSnippet.enabled); if (Configuration.PreviewConfiguration.javaScriptSnippet.enabled) { SnippetConfiguration.initializeSnippet(runtimeConfig.connectionString); } diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index 1e9ba73a1b0..74543f32b98 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -3,7 +3,6 @@ package com.microsoft.applicationinsights.agent.internal.init; -import static com.microsoft.applicationinsights.agent.internal.configuration.SnippetConfiguration.updateInstrumentationKey; import static java.util.concurrent.TimeUnit.MINUTES; import com.azure.core.http.HttpPipeline; @@ -114,8 +113,6 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { throw new FriendlyException( "No connection string provided", "Please provide connection string."); } - } else { - updateInstrumentationKey(); } // TODO (trask) should configuration validation be performed earlier? configuration.validate(); diff --git a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java index 5c818a5e44b..a9773fc7898 100644 --- a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java +++ b/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java @@ -5,6 +5,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; @RestController public class TestController { @@ -14,8 +15,10 @@ public String root() { return "OK"; } - @RequestMapping(path="/hello") - public String getHelloPage(){ - return "hello.html"; + @GetMapping("/test") + public ModelAndView getHelloPage() { + ModelAndView mav = new ModelAndView(); // the name of the HTML page + mav.setViewName("test.html"); + return mav; } } diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/static/hello.html b/smoke-tests/apps/SnippetInjection/src/main/resources/static/test.html similarity index 94% rename from smoke-tests/apps/SnippetInjection/src/smokeTest/resources/static/hello.html rename to smoke-tests/apps/SnippetInjection/src/main/resources/static/test.html index 88f5396a698..f10a32d63fc 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/static/hello.html +++ b/smoke-tests/apps/SnippetInjection/src/main/resources/static/test.html @@ -10,7 +10,7 @@ -

h1 h1

+

h1 s

hello hello

diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java index 3d1e29d088d..3e1424c36b5 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java @@ -3,15 +3,18 @@ package com.microsoft.applicationinsights.smoketest; -import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_11; -import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_17; -import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_19; -import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_20; -import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.JAVA_8; - -import com.microsoft.applicationinsights.smoketest.fakeingestion.ProfilerState; -import java.io.File; -import org.junit.jupiter.api.Assertions; + +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_11; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_11_OPENJ9; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_17; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_19; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_20; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_8; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_8_OPENJ9; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.WILDFLY_13_JAVA_8; +import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.WILDFLY_13_JAVA_8_OPENJ9; +import static org.assertj.core.api.Assertions.assertThat; + import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; @@ -19,31 +22,50 @@ abstract class SnippetInjectionTest { @RegisterExtension static final SmokeTestExtension testing = - SmokeTestExtension.builder().setSelfDiagnosticsLevel("trace").build(); + SmokeTestExtension.builder().build(); @Test - @TargetUri("/hello") + @TargetUri("/test") void normalSnippetInjectionTest() throws Exception { - String url = testing.getBaseUrl() + "/hello"; + String url = testing.getBaseUrl() + "/test"; + System.out.println("url ----------------\n"+url); String response = HttpHelper.get(url, ""); + System.out.println("Response ----------------\n"+response); + assertThat(response).contains("script"); + } - System.out.println(response); - - Assertions.assertTrue(Boolean.parseBoolean(response)); + @Test + @TargetUri("/") + void rootTest() throws Exception { + String url = testing.getBaseUrl() + "/"; + String response = HttpHelper.get(url, ""); + System.out.println("Response ----------------\n"+response); } - @Environment(JAVA_8) - static class Java8Test extends SnippetInjectionTest {} + @Environment(TOMCAT_8_JAVA_8) + static class Tomcat8Java8Test extends SnippetInjectionTest {} + + @Environment(TOMCAT_8_JAVA_8_OPENJ9) + static class Tomcat8Java8OpenJ9Test extends SnippetInjectionTest {} + + @Environment(TOMCAT_8_JAVA_11) + static class Tomcat8Java11Test extends SnippetInjectionTest {} + + @Environment(TOMCAT_8_JAVA_11_OPENJ9) + static class Tomcat8Java11OpenJ9Test extends SnippetInjectionTest {} + + @Environment(TOMCAT_8_JAVA_17) + static class Tomcat8Java17Test extends SnippetInjectionTest {} - @Environment(JAVA_11) - static class Java11Test extends SnippetInjectionTest {} + @Environment(TOMCAT_8_JAVA_19) + static class Tomcat8Java19Test extends SnippetInjectionTest {} - @Environment(JAVA_17) - static class Java17Test extends SnippetInjectionTest {} + @Environment(TOMCAT_8_JAVA_20) + static class Tomcat8Java20Test extends SnippetInjectionTest {} - @Environment(JAVA_19) - static class Java18Test extends SnippetInjectionTest {} + @Environment(WILDFLY_13_JAVA_8) + static class Wildfly13Java8Test extends SnippetInjectionTest {} - @Environment(JAVA_20) - static class Java19Test extends SnippetInjectionTest {} + @Environment(WILDFLY_13_JAVA_8_OPENJ9) + static class Wildfly13Java8OpenJ9Test extends SnippetInjectionTest {} } diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json index a442b23d36e..ffe47b59407 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -6,11 +6,17 @@ "sampling": { "percentage": 100 }, - "customDimensions": { - "test": "value", - "home": "${HOME}", - "service.version": "123" + "preview": { + "connectionStringOverrides": [ + { + "httpPathPrefix": "/SnippetInjectionTest/test", + "connectionString": "InstrumentationKey=814a172a-92fd-4950-9023-9cf13bb65696;IngestionEndpoint=https://eastus-8.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus.livediagnostics.monitor.azure.com/" + } + ], + "javaScriptSnippet": + { + "enabled": true + } } } -// TODO check From ed86694105d74a2d4f513c4f1436485162c94b50 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Mon, 12 Jun 2023 15:14:56 -0700 Subject: [PATCH 12/34] update --- .../internal/configuration/Configuration.java | 2 +- .../configuration/SnippetConfiguration.java | 39 +++++++++++-------- .../internal/init/RuntimeConfigurator.java | 2 +- .../agent/internal/init/SecondEntryPoint.java | 7 ++++ .../SnippetConfigurationTest.java | 3 +- 5 files changed, 33 insertions(+), 20 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java index 596efc56be7..2a997df1ba7 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java @@ -317,7 +317,7 @@ public static class PreviewConfiguration { public boolean disablePropagation; public boolean captureHttpServer4xxAsError = true; - public static JavaScriptSnippet javaScriptSnippet = new JavaScriptSnippet(); + public JavaScriptSnippet javaScriptSnippet = new JavaScriptSnippet(); // LoggingLevel is no longer sent by default since 3.3.0, since the data is already available // under SeverityLevel. This configuration is provided as a temporary measure for customers diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java index 2ec40b70fef..7aa7d611678 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -4,12 +4,11 @@ package com.microsoft.applicationinsights.agent.internal.configuration; import io.opentelemetry.javaagent.bootstrap.servlet.ExperimentalSnippetHolder; +import java.io.BufferedReader; import java.io.IOException; -import java.net.URISyntaxException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -20,19 +19,27 @@ public class SnippetConfiguration { // visible for testing static String readSnippet() { - try { - Path path = getSnippetFilePath("javascript-snippet.txt"); - byte[] bytes = Files.readAllBytes(path); - return new String(bytes, StandardCharsets.UTF_8); - } catch (IOException | URISyntaxException e) { - LOGGER.error("Failed to read javascript-snippet file", e); - } - return ""; - } - - private static Path getSnippetFilePath(String resourceName) throws URISyntaxException { ClassLoader classLoader = SnippetConfiguration.class.getClassLoader(); - return Paths.get(classLoader.getResource(resourceName).toURI()); + String resourceName = "javascript-snippet.txt"; + InputStream inputStream = classLoader.getResourceAsStream(resourceName); + String returnString = ""; + if (inputStream != null) { + try (BufferedReader reader = + new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) { + String line; + while ((line = reader.readLine()) != null) { + // Process each line of the file + returnString += line + "\n"; + } + } catch (IOException e) { + // Handle any IO exceptions that occur + LOGGER.error("Failed to read javascript-snippet file", e); + } + } else { + // Handle the case when the resource is not found + LOGGER.error("Resource not found: " + resourceName); + } + return returnString; } public static void initializeSnippet(String connectionString) { diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java index d084c968d46..c8d5a565988 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java @@ -120,7 +120,7 @@ public void apply(RuntimeConfiguration runtimeConfig) { boolean currentEnabled = !Strings.isNullOrEmpty(currentConfig.connectionString); updateConnectionString(runtimeConfig.connectionString); - if (Configuration.PreviewConfiguration.javaScriptSnippet.enabled) { + if (initialConfig.preview.javaScriptSnippet.enabled) { SnippetConfiguration.initializeSnippet(runtimeConfig.connectionString); } updateRoleName(runtimeConfig.role.name); diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index 74543f32b98..e46a78c0d2d 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -34,6 +34,7 @@ import com.microsoft.applicationinsights.agent.internal.configuration.Configuration.SamplingTelemetryType; import com.microsoft.applicationinsights.agent.internal.configuration.ConfigurationBuilder; import com.microsoft.applicationinsights.agent.internal.configuration.RpConfiguration; +import com.microsoft.applicationinsights.agent.internal.configuration.SnippetConfiguration; import com.microsoft.applicationinsights.agent.internal.exporter.AgentLogExporter; import com.microsoft.applicationinsights.agent.internal.exporter.AgentMetricExporter; import com.microsoft.applicationinsights.agent.internal.exporter.AgentSpanExporter; @@ -228,6 +229,12 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { initStatsbeatFeatureSet(configuration)); } + if (telemetryClient.getConnectionString() != null) { + if (configuration.preview.javaScriptSnippet.enabled) { + SnippetConfiguration.initializeSnippet(configuration.connectionString); + } + } + // TODO (trask) add this method to AutoConfigurationCustomizer upstream? ((AutoConfiguredOpenTelemetrySdkBuilder) autoConfiguration).registerShutdownHook(false); diff --git a/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java b/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java index f7d7b726116..c1be527d5a3 100644 --- a/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java +++ b/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java @@ -5,7 +5,6 @@ import static org.assertj.core.api.Assertions.assertThat; -import java.io.IOException; import org.junit.jupiter.api.Test; public class SnippetConfigurationTest { @@ -13,7 +12,7 @@ public class SnippetConfigurationTest { "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://fake-ingestion-endpoint"; @Test - void testSnippetSetup() throws IOException { + void testSnippetSetup() { String snippet = SnippetConfiguration.readSnippet(); assertThat(snippet).contains("connectionString: \"YOUR_CONNECTION_STRING\"\n"); snippet = snippet.replace("YOUR_CONNECTION_STRING", CONNECTION_STRING); From f36236a3852336e3c16973e45f3a8e9389b85976 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Mon, 12 Jun 2023 15:35:29 -0700 Subject: [PATCH 13/34] change the string --- .../agent/internal/configuration/SnippetConfiguration.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java index 7aa7d611678..9d0b891bf7f 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -22,14 +22,14 @@ static String readSnippet() { ClassLoader classLoader = SnippetConfiguration.class.getClassLoader(); String resourceName = "javascript-snippet.txt"; InputStream inputStream = classLoader.getResourceAsStream(resourceName); - String returnString = ""; + StringBuilder snippetBuilder = new StringBuilder(); if (inputStream != null) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) { String line; while ((line = reader.readLine()) != null) { // Process each line of the file - returnString += line + "\n"; + snippetBuilder.append(line + "\n"); } } catch (IOException e) { // Handle any IO exceptions that occur @@ -39,7 +39,7 @@ static String readSnippet() { // Handle the case when the resource is not found LOGGER.error("Resource not found: " + resourceName); } - return returnString; + return snippetBuilder.toString(); } public static void initializeSnippet(String connectionString) { From 36e830a67251eedc2d787805980746f3c90268dd Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Mon, 12 Jun 2023 15:44:43 -0700 Subject: [PATCH 14/34] extract --- .../configuration/SnippetConfiguration.java | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java index 9d0b891bf7f..0a973b8cfa3 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -9,6 +9,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; +import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,28 +19,28 @@ public class SnippetConfiguration { private static final Logger LOGGER = LoggerFactory.getLogger(SnippetConfiguration.class); // visible for testing - static String readSnippet() { + static String readSnippet(){ ClassLoader classLoader = SnippetConfiguration.class.getClassLoader(); String resourceName = "javascript-snippet.txt"; InputStream inputStream = classLoader.getResourceAsStream(resourceName); - StringBuilder snippetBuilder = new StringBuilder(); - if (inputStream != null) { - try (BufferedReader reader = - new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) { - String line; - while ((line = reader.readLine()) != null) { - // Process each line of the file - snippetBuilder.append(line + "\n"); - } - } catch (IOException e) { - // Handle any IO exceptions that occur - LOGGER.error("Failed to read javascript-snippet file", e); - } - } else { - // Handle the case when the resource is not found + if (inputStream == null){ LOGGER.error("Resource not found: " + resourceName); + return ""; + } + try { + return toString(inputStream); + } catch (IOException e) { + // Handle any IO exceptions that occur + LOGGER.error("Failed to read javascript-snippet file", e); + } + return ""; + } + + private static String toString(InputStream inputStream) throws IOException { + try (BufferedReader bufferedReader = + new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) { + return bufferedReader.lines().collect(Collectors.joining(System.lineSeparator())); } - return snippetBuilder.toString(); } public static void initializeSnippet(String connectionString) { From 4a03bc4df991b70f60838ef9df6ea3360632023d Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Mon, 12 Jun 2023 15:45:52 -0700 Subject: [PATCH 15/34] Update SnippetConfigurationTest.java --- .../agent/internal/configuration/SnippetConfigurationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java b/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java index c1be527d5a3..7f3bf283be5 100644 --- a/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java +++ b/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java @@ -14,7 +14,7 @@ public class SnippetConfigurationTest { @Test void testSnippetSetup() { String snippet = SnippetConfiguration.readSnippet(); - assertThat(snippet).contains("connectionString: \"YOUR_CONNECTION_STRING\"\n"); + assertThat(snippet).contains("connectionString: \"YOUR_CONNECTION_STRING\""); snippet = snippet.replace("YOUR_CONNECTION_STRING", CONNECTION_STRING); assertThat(snippet).contains(" connectionString: \"" + CONNECTION_STRING); } From f70b72d7fdf405287cb63618ec6f4c1560f0a306 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Mon, 12 Jun 2023 15:48:39 -0700 Subject: [PATCH 16/34] Update SnippetConfiguration.java --- .../agent/internal/configuration/SnippetConfiguration.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java index 0a973b8cfa3..0b2ef66aa91 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -19,11 +19,11 @@ public class SnippetConfiguration { private static final Logger LOGGER = LoggerFactory.getLogger(SnippetConfiguration.class); // visible for testing - static String readSnippet(){ + static String readSnippet() { ClassLoader classLoader = SnippetConfiguration.class.getClassLoader(); String resourceName = "javascript-snippet.txt"; InputStream inputStream = classLoader.getResourceAsStream(resourceName); - if (inputStream == null){ + if (inputStream == null) { LOGGER.error("Resource not found: " + resourceName); return ""; } From 8b57c1d1e8f7d4b6489acf9b622e5be550c8402c Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Mon, 12 Jun 2023 16:26:39 -0700 Subject: [PATCH 17/34] update \n --- .../agent/internal/configuration/SnippetConfiguration.java | 2 +- .../agent/internal/configuration/SnippetConfigurationTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java index 0b2ef66aa91..19f6cf61b63 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -39,7 +39,7 @@ static String readSnippet() { private static String toString(InputStream inputStream) throws IOException { try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) { - return bufferedReader.lines().collect(Collectors.joining(System.lineSeparator())); + return bufferedReader.lines().collect(Collectors.joining("\n")); } } diff --git a/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java b/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java index 7f3bf283be5..c1be527d5a3 100644 --- a/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java +++ b/agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfigurationTest.java @@ -14,7 +14,7 @@ public class SnippetConfigurationTest { @Test void testSnippetSetup() { String snippet = SnippetConfiguration.readSnippet(); - assertThat(snippet).contains("connectionString: \"YOUR_CONNECTION_STRING\""); + assertThat(snippet).contains("connectionString: \"YOUR_CONNECTION_STRING\"\n"); snippet = snippet.replace("YOUR_CONNECTION_STRING", CONNECTION_STRING); assertThat(snippet).contains(" connectionString: \"" + CONNECTION_STRING); } From 776e6b39d18a9bec5a4042711a908616ec70a353 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Tue, 13 Jun 2023 11:00:00 -0700 Subject: [PATCH 18/34] smoke test passed --- .../smoketest/SnippetInjectionTest.java | 12 +----------- .../src/smokeTest/resources/applicationinsights.json | 7 +------ 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java index 3e1424c36b5..0f8414642b1 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java @@ -22,26 +22,16 @@ abstract class SnippetInjectionTest { @RegisterExtension static final SmokeTestExtension testing = - SmokeTestExtension.builder().build(); + SmokeTestExtension.builder().setSelfDiagnosticsLevel("trace").build(); @Test @TargetUri("/test") void normalSnippetInjectionTest() throws Exception { String url = testing.getBaseUrl() + "/test"; - System.out.println("url ----------------\n"+url); String response = HttpHelper.get(url, ""); - System.out.println("Response ----------------\n"+response); assertThat(response).contains("script"); } - @Test - @TargetUri("/") - void rootTest() throws Exception { - String url = testing.getBaseUrl() + "/"; - String response = HttpHelper.get(url, ""); - System.out.println("Response ----------------\n"+response); - } - @Environment(TOMCAT_8_JAVA_8) static class Tomcat8Java8Test extends SnippetInjectionTest {} diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json index ffe47b59407..929ed087820 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -1,4 +1,5 @@ { + "connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000", "role": { "name": "testrolename", "instance": "testroleinstance" @@ -7,12 +8,6 @@ "percentage": 100 }, "preview": { - "connectionStringOverrides": [ - { - "httpPathPrefix": "/SnippetInjectionTest/test", - "connectionString": "InstrumentationKey=814a172a-92fd-4950-9023-9cf13bb65696;IngestionEndpoint=https://eastus-8.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus.livediagnostics.monitor.azure.com/" - } - ], "javaScriptSnippet": { "enabled": true From 7755065680dc3f6a4e95f259cdd7f13570258e3e Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Tue, 13 Jun 2023 11:02:33 -0700 Subject: [PATCH 19/34] Update applicationinsights.json --- .../src/smokeTest/resources/applicationinsights.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/smoke-tests/apps/CustomDimensions/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/CustomDimensions/src/smokeTest/resources/applicationinsights.json index a442b23d36e..594d6b35618 100644 --- a/smoke-tests/apps/CustomDimensions/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/CustomDimensions/src/smokeTest/resources/applicationinsights.json @@ -12,5 +12,3 @@ "service.version": "123" } } - -// TODO check From ffff9f53da908eb6ef7830fc555091683f2f263f Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Tue, 13 Jun 2023 16:00:54 -0700 Subject: [PATCH 20/34] Update SnippetInjectionTest.java --- .../applicationinsights/smoketest/SnippetInjectionTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java index 0f8414642b1..6c0a5fe8139 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java @@ -3,7 +3,6 @@ package com.microsoft.applicationinsights.smoketest; - import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_11; import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_11_OPENJ9; import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_17; From 2aad09200b2d57d7a5b1e1659c0cbd46add558b4 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Wed, 14 Jun 2023 14:24:08 -0700 Subject: [PATCH 21/34] Update build.gradle.kts --- dependencyManagement/build.gradle.kts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 9c18c3ce367..f7be052debc 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -12,8 +12,8 @@ val dependencyVersions = hashMapOf() rootProject.extra["versions"] = dependencyVersions val otelVersion = "1.26.0" -val otelInstrumentationAlphaVersion = "1.26.0-alpha" -val otelInstrumentationVersion = "1.26.0" +val otelInstrumentationAlphaVersion = "1.27.0-alpha" +val otelInstrumentationVersion = "1.27.0" val otelContribAlphaVersion = "1.18.0-alpha" rootProject.extra["otelVersion"] = otelVersion @@ -70,7 +70,6 @@ val CORE_DEPENDENCIES = listOf( "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-bootstrap:${otelInstrumentationAlphaVersion}", "io.opentelemetry.javaagent:opentelemetry-javaagent-tooling:${otelInstrumentationAlphaVersion}", - "io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-servlet-common-bootstrap:${otelInstrumentationAlphaVersion}", // temporarily overriding transitive dependency from azure-core until next azure-bom release // which targets at least reactor-netty-http:1.1.1 "io.projectreactor.netty:reactor-netty-http:1.1.7", From 75b297b5cf82a2925289b6721acb6cb2f6a29d2b Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Wed, 14 Jun 2023 14:30:23 -0700 Subject: [PATCH 22/34] Update build.gradle.kts --- dependencyManagement/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index f7be052debc..c3eb3175c2f 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -12,8 +12,8 @@ val dependencyVersions = hashMapOf() rootProject.extra["versions"] = dependencyVersions val otelVersion = "1.26.0" -val otelInstrumentationAlphaVersion = "1.27.0-alpha" -val otelInstrumentationVersion = "1.27.0" +val otelInstrumentationAlphaVersion = "1.26.0-alpha" +val otelInstrumentationVersion = "1.26.0" val otelContribAlphaVersion = "1.18.0-alpha" rootProject.extra["otelVersion"] = otelVersion From 492ff0fb980ce045f61745f0679d12d740007e97 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 15 Jun 2023 13:29:54 -0700 Subject: [PATCH 23/34] be more specific --- .../applicationinsights/smoketest/SnippetInjectionTest.java | 2 +- .../src/smokeTest/resources/applicationinsights.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java index 6c0a5fe8139..2e54c3b9eb7 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java @@ -28,7 +28,7 @@ abstract class SnippetInjectionTest { void normalSnippetInjectionTest() throws Exception { String url = testing.getBaseUrl() + "/test"; String response = HttpHelper.get(url, ""); - assertThat(response).contains("script"); + assertThat(response).contains("InstrumentationKey=00000000-0000-0000-0000-TESTTEST"); } @Environment(TOMCAT_8_JAVA_8) diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json index 929ed087820..d194354cefe 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -1,5 +1,5 @@ { - "connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000", + "connectionString": "InstrumentationKey=00000000-0000-0000-0000-TESTTEST", "role": { "name": "testrolename", "instance": "testroleinstance" From 675c971857efeb6c0eb2b2885cc6d87ae4f1ecc8 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 15 Jun 2023 13:31:26 -0700 Subject: [PATCH 24/34] update --- .../applicationinsights/smoketest/SnippetInjectionTest.java | 2 +- .../src/smokeTest/resources/applicationinsights.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java index 7f5fbdbada5..38c9ad3abfd 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java @@ -27,7 +27,7 @@ abstract class SnippetInjectionTest { void normalSnippetInjectionTest() throws Exception { String url = testing.getBaseUrl() + "/test"; String response = HttpHelper.get(url, "", emptyMap()); - assertThat(response).contains("script"); + assertThat(response).contains("InstrumentationKey=00000000-0000-0000-0000-TESTTEST"); } @Environment(TOMCAT_8_JAVA_8) diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json index 929ed087820..d194354cefe 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -1,5 +1,5 @@ { - "connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000", + "connectionString": "InstrumentationKey=00000000-0000-0000-0000-TESTTEST", "role": { "name": "testrolename", "instance": "testroleinstance" From 5b220849c6339dd67139bd49ebba93fdc9abbbe3 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 15 Jun 2023 14:42:22 -0700 Subject: [PATCH 25/34] sprint boot auto called? --- .../smoketest/SnippetInjectionTest.java | 2 +- .../resources/applicationinsights.json | 17 ----------------- 2 files changed, 1 insertion(+), 18 deletions(-) delete mode 100644 smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java index 38c9ad3abfd..69db4096107 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java @@ -27,7 +27,7 @@ abstract class SnippetInjectionTest { void normalSnippetInjectionTest() throws Exception { String url = testing.getBaseUrl() + "/test"; String response = HttpHelper.get(url, "", emptyMap()); - assertThat(response).contains("InstrumentationKey=00000000-0000-0000-0000-TESTTEST"); + assertThat(response).contains("InstrumentationKey=00000000"); } @Environment(TOMCAT_8_JAVA_8) diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json deleted file mode 100644 index d194354cefe..00000000000 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "connectionString": "InstrumentationKey=00000000-0000-0000-0000-TESTTEST", - "role": { - "name": "testrolename", - "instance": "testroleinstance" - }, - "sampling": { - "percentage": 100 - }, - "preview": { - "javaScriptSnippet": - { - "enabled": true - } - } -} - From 86e8444f2fd8354b868da14c77c281212679bc30 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 15 Jun 2023 14:48:06 -0700 Subject: [PATCH 26/34] Create applicationinsights.json --- .../smokeTest/resources/applicationinsights.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json new file mode 100644 index 00000000000..9bc40c5a4bc --- /dev/null +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -0,0 +1,16 @@ +{ + "connectionString": "", + "role": { + "name": "testrolename", + "instance": "testroleinstance" + }, + "sampling": { + "percentage": 100 + }, + "preview": { + "javaScriptSnippet": + { + "enabled": true + } + } +} From 5ac4619f0fda665143f23c644d80232703fdc9c1 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 15 Jun 2023 14:48:20 -0700 Subject: [PATCH 27/34] Update applicationinsights.json --- .../src/smokeTest/resources/applicationinsights.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json index 9bc40c5a4bc..00cac0e90b2 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -1,12 +1,4 @@ { - "connectionString": "", - "role": { - "name": "testrolename", - "instance": "testroleinstance" - }, - "sampling": { - "percentage": 100 - }, "preview": { "javaScriptSnippet": { From cb9a65572b354b5c1d4419629b9655ff831bf7a2 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 15 Jun 2023 17:40:03 -0700 Subject: [PATCH 28/34] update config name --- .../agent/internal/configuration/Configuration.java | 4 ++-- .../agent/internal/init/RuntimeConfigurator.java | 2 +- .../agent/internal/init/SecondEntryPoint.java | 4 ++-- .../src/smokeTest/resources/applicationinsights.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java index 2a997df1ba7..3b986334442 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java @@ -317,7 +317,7 @@ public static class PreviewConfiguration { public boolean disablePropagation; public boolean captureHttpServer4xxAsError = true; - public JavaScriptSnippet javaScriptSnippet = new JavaScriptSnippet(); + public BrowserSdkLoader browserSdkLoader = new BrowserSdkLoader(); // LoggingLevel is no longer sent by default since 3.3.0, since the data is already available // under SeverityLevel. This configuration is provided as a temporary measure for customers @@ -584,7 +584,7 @@ public static class EnabledByDefaultInstrumentation { public boolean enabled = true; } - public static class JavaScriptSnippet { + public static class BrowserSdkLoader { public boolean enabled; } diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java index c8d5a565988..ee87976ccd8 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/RuntimeConfigurator.java @@ -120,7 +120,7 @@ public void apply(RuntimeConfiguration runtimeConfig) { boolean currentEnabled = !Strings.isNullOrEmpty(currentConfig.connectionString); updateConnectionString(runtimeConfig.connectionString); - if (initialConfig.preview.javaScriptSnippet.enabled) { + if (initialConfig.preview.browserSdkLoader.enabled) { SnippetConfiguration.initializeSnippet(runtimeConfig.connectionString); } updateRoleName(runtimeConfig.role.name); diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index 9380a869e05..c0e2c51c480 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -230,7 +230,7 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { } if (telemetryClient.getConnectionString() != null) { - if (configuration.preview.javaScriptSnippet.enabled) { + if (configuration.preview.browserSdkLoader.enabled) { SnippetConfiguration.initializeSnippet(configuration.connectionString); } } @@ -392,7 +392,7 @@ private static Set initStatsbeatFeatureSet(Configuration config) { if (!config.preview.instrumentation.jaxrsAnnotations.enabled) { featureList.add(Feature.JAXRS_ANNOTATIONS_DISABLED); } - if (config.preview.javaScriptSnippet.enabled) { + if (config.preview.browserSdkLoader.enabled) { featureList.add(Feature.JAVASCRIPT_SNIPPET); } diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json index 00cac0e90b2..67b07fc0e6a 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json +++ b/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json @@ -1,6 +1,6 @@ { "preview": { - "javaScriptSnippet": + "browserSdkLoader": { "enabled": true } From 9c7c81b83a643a8871c3e0c90458b53528e393e0 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Thu, 15 Jun 2023 17:47:30 -0700 Subject: [PATCH 29/34] update relevant name --- .../configuration/SnippetConfiguration.java | 2 +- ...ippet.txt => browserSdkLoader-snippet.txt} | 0 .../build.gradle.kts | 0 .../smoketestapp/SpringBootApp.java | 0 .../smoketestapp/TestController.java | 0 .../src/main/resources/static/test.html | 0 .../smoketest/BrowserSdkLoaderTest.java} | 22 +++++++++---------- .../resources/applicationinsights.json | 0 .../src/smokeTest/resources/logback-test.xml | 0 9 files changed, 12 insertions(+), 12 deletions(-) rename agent/agent-tooling/src/main/resources/{javascript-snippet.txt => browserSdkLoader-snippet.txt} (100%) rename smoke-tests/apps/{SnippetInjection => BrowserSdkLoader}/build.gradle.kts (100%) rename smoke-tests/apps/{SnippetInjection => BrowserSdkLoader}/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java (100%) rename smoke-tests/apps/{SnippetInjection => BrowserSdkLoader}/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java (100%) rename smoke-tests/apps/{SnippetInjection => BrowserSdkLoader}/src/main/resources/static/test.html (100%) rename smoke-tests/apps/{SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java => BrowserSdkLoader/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/BrowserSdkLoaderTest.java} (73%) rename smoke-tests/apps/{SnippetInjection => BrowserSdkLoader}/src/smokeTest/resources/applicationinsights.json (100%) rename smoke-tests/apps/{SnippetInjection => BrowserSdkLoader}/src/smokeTest/resources/logback-test.xml (100%) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java index 19f6cf61b63..f806e6b48ce 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -21,7 +21,7 @@ public class SnippetConfiguration { // visible for testing static String readSnippet() { ClassLoader classLoader = SnippetConfiguration.class.getClassLoader(); - String resourceName = "javascript-snippet.txt"; + String resourceName = "browserSdkLoader-snippet.txt"; InputStream inputStream = classLoader.getResourceAsStream(resourceName); if (inputStream == null) { LOGGER.error("Resource not found: " + resourceName); diff --git a/agent/agent-tooling/src/main/resources/javascript-snippet.txt b/agent/agent-tooling/src/main/resources/browserSdkLoader-snippet.txt similarity index 100% rename from agent/agent-tooling/src/main/resources/javascript-snippet.txt rename to agent/agent-tooling/src/main/resources/browserSdkLoader-snippet.txt diff --git a/smoke-tests/apps/SnippetInjection/build.gradle.kts b/smoke-tests/apps/BrowserSdkLoader/build.gradle.kts similarity index 100% rename from smoke-tests/apps/SnippetInjection/build.gradle.kts rename to smoke-tests/apps/BrowserSdkLoader/build.gradle.kts diff --git a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java b/smoke-tests/apps/BrowserSdkLoader/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java similarity index 100% rename from smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java rename to smoke-tests/apps/BrowserSdkLoader/src/main/java/com/microsoft/applicationinsights/smoketestapp/SpringBootApp.java diff --git a/smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java b/smoke-tests/apps/BrowserSdkLoader/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java similarity index 100% rename from smoke-tests/apps/SnippetInjection/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java rename to smoke-tests/apps/BrowserSdkLoader/src/main/java/com/microsoft/applicationinsights/smoketestapp/TestController.java diff --git a/smoke-tests/apps/SnippetInjection/src/main/resources/static/test.html b/smoke-tests/apps/BrowserSdkLoader/src/main/resources/static/test.html similarity index 100% rename from smoke-tests/apps/SnippetInjection/src/main/resources/static/test.html rename to smoke-tests/apps/BrowserSdkLoader/src/main/resources/static/test.html diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java b/smoke-tests/apps/BrowserSdkLoader/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/BrowserSdkLoaderTest.java similarity index 73% rename from smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java rename to smoke-tests/apps/BrowserSdkLoader/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/BrowserSdkLoaderTest.java index 69db4096107..088397ea1e6 100644 --- a/smoke-tests/apps/SnippetInjection/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/SnippetInjectionTest.java +++ b/smoke-tests/apps/BrowserSdkLoader/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/BrowserSdkLoaderTest.java @@ -19,41 +19,41 @@ import org.junit.jupiter.api.extension.RegisterExtension; @UseAgent -abstract class SnippetInjectionTest { +abstract class BrowserSdkLoaderTest { @RegisterExtension static final SmokeTestExtension testing = SmokeTestExtension.create(); @Test @TargetUri("/test") - void normalSnippetInjectionTest() throws Exception { + void normalBrowserSdkLoaderEnableTest() throws Exception { String url = testing.getBaseUrl() + "/test"; String response = HttpHelper.get(url, "", emptyMap()); assertThat(response).contains("InstrumentationKey=00000000"); } @Environment(TOMCAT_8_JAVA_8) - static class Tomcat8Java8Test extends SnippetInjectionTest {} + static class Tomcat8Java8Test extends BrowserSdkLoaderTest {} @Environment(TOMCAT_8_JAVA_8_OPENJ9) - static class Tomcat8Java8OpenJ9Test extends SnippetInjectionTest {} + static class Tomcat8Java8OpenJ9Test extends BrowserSdkLoaderTest {} @Environment(TOMCAT_8_JAVA_11) - static class Tomcat8Java11Test extends SnippetInjectionTest {} + static class Tomcat8Java11Test extends BrowserSdkLoaderTest {} @Environment(TOMCAT_8_JAVA_11_OPENJ9) - static class Tomcat8Java11OpenJ9Test extends SnippetInjectionTest {} + static class Tomcat8Java11OpenJ9Test extends BrowserSdkLoaderTest {} @Environment(TOMCAT_8_JAVA_17) - static class Tomcat8Java17Test extends SnippetInjectionTest {} + static class Tomcat8Java17Test extends BrowserSdkLoaderTest {} @Environment(TOMCAT_8_JAVA_19) - static class Tomcat8Java19Test extends SnippetInjectionTest {} + static class Tomcat8Java19Test extends BrowserSdkLoaderTest {} @Environment(TOMCAT_8_JAVA_20) - static class Tomcat8Java20Test extends SnippetInjectionTest {} + static class Tomcat8Java20Test extends BrowserSdkLoaderTest {} @Environment(WILDFLY_13_JAVA_8) - static class Wildfly13Java8Test extends SnippetInjectionTest {} + static class Wildfly13Java8Test extends BrowserSdkLoaderTest {} @Environment(WILDFLY_13_JAVA_8_OPENJ9) - static class Wildfly13Java8OpenJ9Test extends SnippetInjectionTest {} + static class Wildfly13Java8OpenJ9Test extends BrowserSdkLoaderTest {} } diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json b/smoke-tests/apps/BrowserSdkLoader/src/smokeTest/resources/applicationinsights.json similarity index 100% rename from smoke-tests/apps/SnippetInjection/src/smokeTest/resources/applicationinsights.json rename to smoke-tests/apps/BrowserSdkLoader/src/smokeTest/resources/applicationinsights.json diff --git a/smoke-tests/apps/SnippetInjection/src/smokeTest/resources/logback-test.xml b/smoke-tests/apps/BrowserSdkLoader/src/smokeTest/resources/logback-test.xml similarity index 100% rename from smoke-tests/apps/SnippetInjection/src/smokeTest/resources/logback-test.xml rename to smoke-tests/apps/BrowserSdkLoader/src/smokeTest/resources/logback-test.xml From 65a3b0d1e704ba3c4a4e29476f3e43808c08b3fe Mon Sep 17 00:00:00 2001 From: siyuniu-ms <123212536+siyuniu-ms@users.noreply.github.com> Date: Fri, 16 Jun 2023 09:57:46 -0700 Subject: [PATCH 30/34] Update agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java Co-authored-by: Trask Stalnaker --- .../agent/internal/init/SecondEntryPoint.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java index c0e2c51c480..a951fe287a6 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/SecondEntryPoint.java @@ -393,7 +393,7 @@ private static Set initStatsbeatFeatureSet(Configuration config) { featureList.add(Feature.JAXRS_ANNOTATIONS_DISABLED); } if (config.preview.browserSdkLoader.enabled) { - featureList.add(Feature.JAVASCRIPT_SNIPPET); + featureList.add(Feature.BROWSER_SDK_LOADER); } // Statsbeat From e2c7f6e5e02a13530107eb340109273cc82fff85 Mon Sep 17 00:00:00 2001 From: siyuniu-ms <123212536+siyuniu-ms@users.noreply.github.com> Date: Fri, 16 Jun 2023 09:57:54 -0700 Subject: [PATCH 31/34] Update agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java Co-authored-by: Trask Stalnaker --- .../agent/internal/configuration/SnippetConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java index f806e6b48ce..959db2f7329 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/SnippetConfiguration.java @@ -21,7 +21,7 @@ public class SnippetConfiguration { // visible for testing static String readSnippet() { ClassLoader classLoader = SnippetConfiguration.class.getClassLoader(); - String resourceName = "browserSdkLoader-snippet.txt"; + String resourceName = "browser-sdk-loader-snippet.txt"; InputStream inputStream = classLoader.getResourceAsStream(resourceName); if (inputStream == null) { LOGGER.error("Resource not found: " + resourceName); From 1fff3eb59d0349244637a0d1f0b27fbdcef92bdb Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 16 Jun 2023 09:58:56 -0700 Subject: [PATCH 32/34] Update browser-sdk-loader-snippet.txt --- ...rowserSdkLoader-snippet.txt => browser-sdk-loader-snippet.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename agent/agent-tooling/src/main/resources/{browserSdkLoader-snippet.txt => browser-sdk-loader-snippet.txt} (100%) diff --git a/agent/agent-tooling/src/main/resources/browserSdkLoader-snippet.txt b/agent/agent-tooling/src/main/resources/browser-sdk-loader-snippet.txt similarity index 100% rename from agent/agent-tooling/src/main/resources/browserSdkLoader-snippet.txt rename to agent/agent-tooling/src/main/resources/browser-sdk-loader-snippet.txt From 7d20ba2597dc41961c2b9b7a580118781c9b33fc Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 16 Jun 2023 09:59:28 -0700 Subject: [PATCH 33/34] Update Feature.java --- .../exporter/implementation/statsbeat/Feature.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/azure-monitor-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/statsbeat/Feature.java b/agent/azure-monitor-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/statsbeat/Feature.java index 268b2f18bdb..127f93a9016 100644 --- a/agent/azure-monitor-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/statsbeat/Feature.java +++ b/agent/azure-monitor-exporter/src/main/java/com/azure/monitor/opentelemetry/exporter/implementation/statsbeat/Feature.java @@ -49,7 +49,7 @@ public enum Feature { TELEMETRY_PROCESSOR_ENABLED(33), SDK_2X_BRIDGE_VIA_3X_AGENT(34), // track 2.x bridge usage via 3.x codeless agent PROFILER_ENABLED(35), - JAVASCRIPT_SNIPPET(36); // track javascript snippet + BROWSER_SDK_LOADER(36); // track javascript snippet private static final Map javaVendorFeatureMap; From c943e748ba935ebad7ae71b22b1e461f82f044c3 Mon Sep 17 00:00:00 2001 From: siyuniu-ms Date: Fri, 16 Jun 2023 10:09:21 -0700 Subject: [PATCH 34/34] Update settings.gradle.kts --- settings.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 17987a5315f..26b82f773d2 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -80,6 +80,7 @@ include(":smoke-tests:framework") hideFromDependabot(":smoke-tests:apps:ActuatorMetrics") hideFromDependabot(":smoke-tests:apps:AutoPerfCounters") hideFromDependabot(":smoke-tests:apps:AzureSdk") +hideFromDependabot(":smoke-tests:apps:BrowserSdkLoader") hideFromDependabot(":smoke-tests:apps:Cassandra") hideFromDependabot(":smoke-tests:apps:ClassicSdkLog4j1Interop2x") hideFromDependabot(":smoke-tests:apps:ClassicSdkLog4j2Interop2x") @@ -132,7 +133,7 @@ hideFromDependabot(":smoke-tests:apps:RoleNameOverrides") hideFromDependabot(":smoke-tests:apps:RuntimeAttach") hideFromDependabot(":smoke-tests:apps:RuntimeAttachWithDelayedConnectionString") hideFromDependabot(":smoke-tests:apps:Sampling") -hideFromDependabot(":smoke-tests:apps:SnippetInjection") + hideFromDependabot(":smoke-tests:apps:SamplingOverrides") hideFromDependabot(":smoke-tests:apps:SamplingOverridesBackCompat") hideFromDependabot(":smoke-tests:apps:SpringBoot")