diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index c2736327ab5a..31d0c8cdb54a 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -2285,8 +2285,8 @@ packages: - '@types/node' dev: false - /@microsoft/applicationinsights-web-snippet@1.0.1: - resolution: {integrity: sha512-2IHAOaLauc8qaAitvWS+U931T+ze+7MNWrDHY47IENP5y2UA0vqJDu67kWZDdpCN1fFC77sfgfB+HV7SrKshnQ==} + /@microsoft/applicationinsights-web-snippet@1.1.2: + resolution: {integrity: sha512-qPoOk3MmEx3gS6hTc1/x8JWQG5g4BvRdH7iqZMENBsKCL927b7D7Mvl19bh3sW9Ucrg1fVrF+4hqShwQNdqLxQ==} dev: false /@microsoft/tsdoc-config@0.16.2: @@ -20275,13 +20275,13 @@ packages: dev: false file:projects/monitor-opentelemetry.tgz: - resolution: {integrity: sha512-WBujV1y7D6UTSec+Bsha86JZGhqO1YFlgQmKWJNPDuAAkDaaOf/Nm0fpOgmYIGpPNQVPa9P4g+EqBC+UTinWHg==, tarball: file:projects/monitor-opentelemetry.tgz} + resolution: {integrity: sha512-gUTzwr2Lub0zol8dlkc7cs9/BL+gE8AYwZWZFn2zJjFJq9umRFaDjx+rHejVS4bQAqHY+3F6xujKLVd0CQaG4A==, tarball: file:projects/monitor-opentelemetry.tgz} name: '@rush-temp/monitor-opentelemetry' version: 0.0.0 dependencies: '@azure/functions': 3.5.1 '@microsoft/api-extractor': 7.41.0(@types/node@18.19.18) - '@microsoft/applicationinsights-web-snippet': 1.0.1 + '@microsoft/applicationinsights-web-snippet': 1.1.2 '@opentelemetry/api': 1.7.0 '@opentelemetry/api-logs': 0.48.0 '@opentelemetry/core': 1.21.0(@opentelemetry/api@1.7.0) diff --git a/sdk/monitor/monitor-opentelemetry/CHANGELOG.md b/sdk/monitor/monitor-opentelemetry/CHANGELOG.md index 5cef905b6e5d..e0a4047977be 100644 --- a/sdk/monitor/monitor-opentelemetry/CHANGELOG.md +++ b/sdk/monitor/monitor-opentelemetry/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History +## Unreleased () + +### Other Changes + +- Updated the @microsoft/applicationinsights-web-snippet to v1.1.2. + ## 1.3.0 (2024-02-13) ### Features Added diff --git a/sdk/monitor/monitor-opentelemetry/package.json b/sdk/monitor/monitor-opentelemetry/package.json index 379de06da1e9..107b344137af 100644 --- a/sdk/monitor/monitor-opentelemetry/package.json +++ b/sdk/monitor/monitor-opentelemetry/package.json @@ -111,7 +111,7 @@ "@opentelemetry/sdk-trace-node": "^1.21.0", "@opentelemetry/semantic-conventions": "^1.21.0", "tslib": "^2.2.0", - "@microsoft/applicationinsights-web-snippet": "1.0.1", + "@microsoft/applicationinsights-web-snippet": "^1.1.2", "@opentelemetry/resource-detector-azure": "^0.2.4" }, "sideEffects": false, diff --git a/sdk/monitor/monitor-opentelemetry/test/internal/unit/browserSdkLoader/browserSdkLoader.test.ts b/sdk/monitor/monitor-opentelemetry/test/internal/unit/browserSdkLoader/browserSdkLoader.test.ts index d752ee74dae1..78ccb761d7b0 100644 --- a/sdk/monitor/monitor-opentelemetry/test/internal/unit/browserSdkLoader/browserSdkLoader.test.ts +++ b/sdk/monitor/monitor-opentelemetry/test/internal/unit/browserSdkLoader/browserSdkLoader.test.ts @@ -8,7 +8,7 @@ import { shutdownAzureMonitor, useAzureMonitor, } from "../../../../src/index"; -import { isLinux, isWindows } from "../../../../src/utils/common"; +import { getOsPrefix } from "../../../../src/utils/common"; import { metrics, trace } from "@opentelemetry/api"; import { logs } from "@opentelemetry/api-logs"; @@ -117,9 +117,15 @@ describe("#BrowserSdkLoader", () => { let validHtml = ""; assert.equal(browserSdkLoader.ValidateInjection(response, validHtml), true); let newHtml = browserSdkLoader.InjectSdkLoader(response, validHtml).toString(); - assert.ok(newHtml.indexOf("https://js.monitor.azure.com/scripts/b/ai.2.min.js") >= 0); - assert.ok(newHtml.indexOf("") == 0); - assert.ok(newHtml.indexOf('instrumentationKey: "1aa11111-bbbb-1ccc-8ddd-eeeeffff3333"') >= 0); + assert.ok( + newHtml.indexOf("https://js.monitor.azure.com/scripts/b/ai.3.gbl.min.js") >= 0, + "src path does not exist in the snippet", + ); + assert.ok(newHtml.indexOf("") == 0, "No snippet content was populated"); + assert.ok( + newHtml.indexOf("InstrumentationKey=1aa11111-bbbb-1ccc-8ddd-eeeeffff3333") >= 0, + "Instrumentation Key is not set correctly", + ); }); it("injection of browser SDK should overwrite content length ", () => { @@ -184,16 +190,16 @@ describe("#BrowserSdkLoader", () => { let validHtml = ""; assert.equal(browserSdkLoader.ValidateInjection(response, validHtml), true); let newHtml = browserSdkLoader.InjectSdkLoader(response, validHtml); - let osType: string = "u"; - if (isWindows()) { - osType = "w"; - } else if (isLinux()) { - osType = "l"; - } - let expectedStr = ` instrumentationKey: "1aa11111-bbbb-1ccc-8ddd-eeeeffff3333",\r\n disableIkeyDeprecationMessage: true,\r\n sdkExtension: "u${osType}d_n_`; - assert.ok(newHtml.indexOf("https://js.monitor.azure.com/scripts/b/ai.2.min.js") >= 0); - assert.ok(newHtml.indexOf("") == 0); - assert.ok(newHtml.indexOf(expectedStr) >= 0, expectedStr); + const expectedSdkVersion = `sdkExtension: "u${getOsPrefix()}d_n_"`; + assert.ok( + newHtml.indexOf("https://js.monitor.azure.com/scripts/b/ai.3.gbl.min.js") >= 0, + "src path does not exist in the snippet", + ); + assert.ok(newHtml.indexOf("") == 0, "No snippet content was populated"); + assert.ok( + newHtml.indexOf(expectedSdkVersion) >= 0, + `Expected string does not exist in the snippet. Expected: ${expectedSdkVersion} in ${newHtml}`, + ); }); it("browser SDK loader injection to buffer", () => { @@ -227,9 +233,15 @@ describe("#BrowserSdkLoader", () => { let validBuffer = Buffer.from(validHtml); assert.equal(browserSdkLoader.ValidateInjection(response, validBuffer), true); let newHtml = browserSdkLoader.InjectSdkLoader(response, validBuffer).toString(); - assert.ok(newHtml.indexOf("https://js.monitor.azure.com/scripts/b/ai.2.min.js") >= 0); - assert.ok(newHtml.indexOf("") == 0); - assert.ok(newHtml.indexOf('instrumentationKey: "1aa11111-bbbb-1ccc-8ddd-eeeeffff3333"') >= 0); + assert.ok( + newHtml.indexOf("https://js.monitor.azure.com/scripts/b/ai.3.gbl.min.js") >= 0, + "src path does not exist in the snippet", + ); + assert.ok(newHtml.indexOf("") == 0, "No snippet content was populated"); + assert.ok( + newHtml.indexOf("InstrumentationKey=1aa11111-bbbb-1ccc-8ddd-eeeeffff3333") >= 0, + "Instrumentation Key is not set correctly", + ); }); it("injection of browser SDK should overwrite content length using buffer ", () => { @@ -304,9 +316,15 @@ describe("#BrowserSdkLoader", () => { let validHtml = ""; assert.equal(browserSdkLoader.ValidateInjection(response, validHtml), true); let newHtml = browserSdkLoader.InjectSdkLoader(response, validHtml).toString(); - assert.ok(newHtml.indexOf("https://js.monitor.azure.com/scripts/b/ai.2.min.js") >= 0, newHtml); - assert.ok(newHtml.indexOf("") == 0); - assert.ok(newHtml.indexOf('instrumentationKey: "1aa11111-bbbb-1ccc-8ddd-eeeeffff3333"') >= 0); + assert.ok( + newHtml.indexOf("https://js.monitor.azure.com/scripts/b/ai.3.gbl.min.js") >= 0, + "src path does not exist in the snippet", + ); + assert.ok(newHtml.indexOf("") == 0, "No snippet content was populated"); + assert.ok( + newHtml.indexOf("InstrumentationKey=1aa11111-bbbb-1ccc-8ddd-eeeeffff3333") >= 0, + "Instrumentation Key is not set correctly", + ); }); it("injection should throw errors when ikey from config is not valid", () => {