diff --git a/src/agent/agentLoader.ts b/src/agent/agentLoader.ts index 286b3322..7dc8c06c 100644 --- a/src/agent/agentLoader.ts +++ b/src/agent/agentLoader.ts @@ -6,7 +6,7 @@ import { Util } from "../shared/util"; import { ConsoleWriter } from "./diagnostics/writers/consoleWriter"; import { DiagnosticLogger } from "./diagnostics/diagnosticLogger"; import { StatusLogger } from "./diagnostics/statusLogger"; -import { AgentResourceProviderType, DiagnosticMessageId, IDiagnosticLog, IDiagnosticLogger, NODE_JS_RUNTIME_MAJOR_VERSION } from "./types"; +import { AZURE_MONITOR_AUTO_ATTACH, DiagnosticMessageId, IDiagnosticLog, IDiagnosticLogger, NODE_JS_RUNTIME_MAJOR_VERSION } from "./types"; import { AzureMonitorOpenTelemetryOptions } from "../types"; import { useAzureMonitor } from "../main"; @@ -120,6 +120,8 @@ export class AgentLoader { } if (this._validate()) { try { + // Set environment variable to auto attach so the distro is aware of the attach state + process.env[AZURE_MONITOR_AUTO_ATTACH] = "true"; // Initialize Distro this._options.azureMonitorExporterOptions.credential = this._aadCredential; useAzureMonitor(this._options); @@ -281,26 +283,4 @@ export class AgentLoader { return false; } } - - protected _getVersionPrefix(rpType: AgentResourceProviderType): string { - let rp = "u"; // Default unknown - let os = "u"; // Default unknown - if (rpType === AgentResourceProviderType.aks) { - rp = "k"; - } - else if (rpType === AgentResourceProviderType.appServices) { - rp = "a"; - } - else if (rpType === AgentResourceProviderType.azureFunctions) { - rp = "f"; - } - if (process.platform === 'win32') { - os = "w"; - } - else if (process.platform === 'linux') { - os = "l"; - } - return `${rp}${os}_`; - } - } diff --git a/src/agent/aksLoader.ts b/src/agent/aksLoader.ts index ddcb4175..248cab92 100644 --- a/src/agent/aksLoader.ts +++ b/src/agent/aksLoader.ts @@ -7,8 +7,6 @@ import { DiagnosticLogger } from './diagnostics/diagnosticLogger'; import { FileWriter } from "./diagnostics/writers/fileWriter"; import { StatusLogger } from "./diagnostics/statusLogger"; import { AgentLoader } from "./agentLoader"; -import { AgentResourceProviderType, AZURE_MONITOR_AGENT_PREFIX } from './types'; - export class AKSLoader extends AgentLoader { @@ -50,7 +48,6 @@ export class AKSLoader extends AgentLoader { } ) ); - process.env[AZURE_MONITOR_AGENT_PREFIX] = this._getVersionPrefix(AgentResourceProviderType.aks); } } } diff --git a/src/agent/appServicesLoader.ts b/src/agent/appServicesLoader.ts index a5b2f920..9f9886da 100644 --- a/src/agent/appServicesLoader.ts +++ b/src/agent/appServicesLoader.ts @@ -10,8 +10,6 @@ import { DiagnosticLogger } from './diagnostics/diagnosticLogger'; import { FileWriter } from "./diagnostics/writers/fileWriter"; import { StatusLogger } from "./diagnostics/statusLogger"; import { AgentLoader } from "./agentLoader"; -import { AgentResourceProviderType, AZURE_MONITOR_AGENT_PREFIX } from './types'; - export class AppServicesLoader extends AgentLoader { @@ -60,7 +58,6 @@ export class AppServicesLoader extends AgentLoader { } ) ); - process.env[AZURE_MONITOR_AGENT_PREFIX] = this._getVersionPrefix(AgentResourceProviderType.appServices); } } } diff --git a/src/agent/azureFunctionsLoader.ts b/src/agent/azureFunctionsLoader.ts index 0e6f6906..d8dad099 100644 --- a/src/agent/azureFunctionsLoader.ts +++ b/src/agent/azureFunctionsLoader.ts @@ -6,7 +6,6 @@ import { AgentLoader } from "./agentLoader"; import { DiagnosticLogger } from "./diagnostics/diagnosticLogger"; import { StatusLogger } from "./diagnostics/statusLogger"; import { AzureFunctionsWriter } from "./diagnostics/writers/azureFunctionsWriter"; -import { AgentResourceProviderType, AZURE_MONITOR_AGENT_PREFIX } from "./types"; import { Attributes } from "@opentelemetry/api"; import { SemanticResourceAttributes } from "@opentelemetry/semantic-conventions"; @@ -33,9 +32,6 @@ export class AzureFunctionsLoader extends AgentLoader { const writer = new AzureFunctionsWriter(this._instrumentationKey); this._diagnosticLogger = new DiagnosticLogger(this._instrumentationKey, writer); this._statusLogger = new StatusLogger(this._instrumentationKey, writer); - process.env[AZURE_MONITOR_AGENT_PREFIX] = this._getVersionPrefix( - AgentResourceProviderType.azureFunctions - ); } } } diff --git a/src/agent/types.ts b/src/agent/types.ts index ab160961..cc702944 100644 --- a/src/agent/types.ts +++ b/src/agent/types.ts @@ -2,13 +2,7 @@ export const LOGGER_NAME = "applicationinsights.extension.diagnostics"; export const LOGGER_LANGUAGE = "nodejs"; export const NODE_JS_RUNTIME_MAJOR_VERSION = parseInt(process.versions.node.split('.')[0], 10); export const AZURE_APP_NAME = process.env.WEBSITE_SITE_NAME || 'unknown'; -export const AZURE_MONITOR_AGENT_PREFIX = "AZURE_MONITOR_AGENT_PREFIX"; - -export enum AgentResourceProviderType { - appServices, - azureFunctions, - aks -} +export const AZURE_MONITOR_AUTO_ATTACH = "AZURE_MONITOR_AUTO_ATTACH"; export interface IAgentLogger { log(message: any, ...optional: any[]): void; diff --git a/test/unitTests/agent/agentLoader.tests.ts b/test/unitTests/agent/agentLoader.tests.ts index cf66958c..08c83efc 100644 --- a/test/unitTests/agent/agentLoader.tests.ts +++ b/test/unitTests/agent/agentLoader.tests.ts @@ -89,6 +89,7 @@ describe("agent/agentLoader", () => { const diagnosticLoggerStub = sandbox.stub(agent["_diagnosticLogger"], "logMessage"); const initAgent = agent.initialize(); + assert.equal(process.env["AZURE_MONITOR_AUTO_ATTACH"], "true"); assert.ok(diagnosticLoggerStub.calledOnce); }); diff --git a/test/unitTests/agent/aksLoader.tests.ts b/test/unitTests/agent/aksLoader.tests.ts index d85b977e..19f77be3 100644 --- a/test/unitTests/agent/aksLoader.tests.ts +++ b/test/unitTests/agent/aksLoader.tests.ts @@ -40,9 +40,6 @@ describe("agent/AKSLoader", () => { // Loader is using correct diagnostics assert.equal(agent["_diagnosticLogger"], diagnosticLogger, "Wrong diagnosticLogger"); assert.equal(agent["_statusLogger"], statusLogger, "Wrong statusLogger"); - // Prefix Env variable should be set - assert.equal(process.env["AZURE_MONITOR_AGENT_PREFIX"].length, 3, "Missing prefix"); - assert.ok(process.env["AZURE_MONITOR_AGENT_PREFIX"].startsWith, "k"); }); it("initialize", () => { diff --git a/test/unitTests/agent/appServicesLoader.ts b/test/unitTests/agent/appServicesLoader.ts index f16cad3a..95c577bf 100644 --- a/test/unitTests/agent/appServicesLoader.ts +++ b/test/unitTests/agent/appServicesLoader.ts @@ -43,18 +43,13 @@ describe("agent/AppServicesLoader", () => { assert.ok(statusLogger["_agentLogger"] instanceof FileWriter, "Wrong statusLogger agentLogger"); assert.equal(statusLogger["_agentLogger"]["_filename"], "status_nodejs.json"); - // Prefix Env variable should be set - assert.equal(process.env["AZURE_MONITOR_AGENT_PREFIX"].length, 3, "Missing prefix"); - if (isWindows) { assert.equal(diagnosticLogger["_agentLogger"]["_filepath"], "c:\\LogFiles\\ApplicationInsights\\status"); assert.equal(statusLogger["_agentLogger"]["_filepath"], "c:\\LogFiles\\ApplicationInsights\\status"); - assert.equal(process.env["AZURE_MONITOR_AGENT_PREFIX"], "aw_"); } else { assert.equal(diagnosticLogger["_agentLogger"]["_filepath"], "/var/log/applicationinsights/"); assert.equal(statusLogger["_agentLogger"]["_filepath"], "/var/log/applicationinsights/"); - assert.equal(process.env["AZURE_MONITOR_AGENT_PREFIX"], "al_"); } // Loader is using correct diagnostics assert.equal(agent["_diagnosticLogger"], diagnosticLogger, "Wrong diagnosticLogger"); diff --git a/test/unitTests/agent/azureFunctionsLoader.ts b/test/unitTests/agent/azureFunctionsLoader.ts index d9515225..c1d3f80a 100644 --- a/test/unitTests/agent/azureFunctionsLoader.ts +++ b/test/unitTests/agent/azureFunctionsLoader.ts @@ -43,9 +43,6 @@ describe("agent/AzureFunctionsLoader", () => { // Loader is using correct diagnostics assert.equal(agent["_diagnosticLogger"], diagnosticLogger); assert.equal(agent["_statusLogger"], statusLogger); - // Prefix Env variable should be set - assert.equal(process.env["AZURE_MONITOR_AGENT_PREFIX"].length, 3, "Missing prefix"); - assert.ok(process.env["AZURE_MONITOR_AGENT_PREFIX"].startsWith, "f"); }); it("initialize", () => {