From e6f1af198f405d1357cfb727a1c4742ebb03ecad Mon Sep 17 00:00:00 2001 From: Abhilash Date: Thu, 22 Aug 2024 11:31:04 +0530 Subject: [PATCH] chore: refactor --- packages/core/src/tracing/index.js | 10 ++-- .../core/src/util/getPackageInstallation.js | 37 +++++++++++++++ .../core/src/util/logPackageInstallation.js | 47 ------------------- 3 files changed, 44 insertions(+), 50 deletions(-) create mode 100644 packages/core/src/util/getPackageInstallation.js delete mode 100644 packages/core/src/util/logPackageInstallation.js diff --git a/packages/core/src/tracing/index.js b/packages/core/src/tracing/index.js index 9c2c90ee71..0fe5b19f1c 100644 --- a/packages/core/src/tracing/index.js +++ b/packages/core/src/tracing/index.js @@ -22,7 +22,7 @@ const { isESMApp } = require('../util/esm'); const iitmHook = require('../util/iitmHook'); -const { logPackageInstallation } = require('../util/logPackageInstallation'); +const { getPackageInstallation } = require('../util/getPackageInstallation'); let tracingEnabled = false; let tracingActivated = false; @@ -180,8 +180,12 @@ exports.preInit = function preInit(preliminaryConfig) { * @param {CollectorPIDStore} _processIdentityProvider */ exports.init = function init(_config, downstreamConnection, _processIdentityProvider) { - // Logs the instana instrumentation method of client application in debug mode - logPackageInstallation(); + if (process.env.INSTANA_DEBUG || process.env.INSTANA_LOG_LEVEL === 'debug') { + const method = getPackageInstallation(); + + // eslint-disable-next-line no-console + console.debug(`The App has instrumented instana using: ${method}`); + } // Consider removing this in the next major release(v4.x) of the @instana package. if (hasExperimentalLoaderFlag()) { diff --git a/packages/core/src/util/getPackageInstallation.js b/packages/core/src/util/getPackageInstallation.js new file mode 100644 index 0000000000..7551895cac --- /dev/null +++ b/packages/core/src/util/getPackageInstallation.js @@ -0,0 +1,37 @@ +/* + * (c) Copyright IBM Corp. 2024 + */ + +'use strict'; + +const isESMApp = require('./esm').isESMApp; + +exports.getPackageInstallation = function getPackageInstallation() { + const instrumentationMap = { + usingExperimentalLoaderFlag: '--experimental-loader flag', + usingImport: '--import flag', + usingRequire: '--require flag', + noFlags: 'no additional flags' + }; + let method = ''; + + if (isESMApp()) { + const usingExperimentalLoaderFlag = + process.env.NODE_OPTIONS?.includes('--experimental-loader') + || process.execArgv?.[0]?.includes('--experimental-loader') + ? 'usingExperimentalLoaderFlag' : ''; + const usingImportFlag = + process.env.NODE_OPTIONS?.includes('--import') || process.execArgv?.[0]?.includes('--import') + ? 'usingImport' : ''; + method = instrumentationMap[usingExperimentalLoaderFlag || usingImportFlag || 'noFlags']; + } else { + const usingRequire = + (process.env.NODE_OPTIONS?.includes('--require') && process.env.NODE_OPTIONS?.includes('@instana')) || + (process.execArgv?.[0]?.includes('--require') && process.execArgv?.[0].includes('@instana')) || + (process.execArgv?.[0]?.includes('--require') && process.execArgv?.[1].includes('@instana')) + ? 'usingRequire' : ''; + method = instrumentationMap[usingRequire || 'noFlags']; + } + + return method; +}; diff --git a/packages/core/src/util/logPackageInstallation.js b/packages/core/src/util/logPackageInstallation.js deleted file mode 100644 index de493319e2..0000000000 --- a/packages/core/src/util/logPackageInstallation.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * (c) Copyright IBM Corp. 2024 - */ - -'use strict'; - -const isESMApp = require('./esm').isESMApp; - -/** @type {import('../logger').GenericLogger} */ -let logger; -logger = require('../logger').getLogger('util/logPackageInstallation', newLogger => { - logger = newLogger; -}); - -exports.logPackageInstallation = function logPackageInstallation() { - if (process.env.INSTANA_DEBUG || process.env.INSTANA_LOG_LEVEL === 'debug') { - const instrumentationMap = { - usingExperimentalLoaderFlag: '--experimental-loader flag', - usingImport: '--import flag', - usingRequire: '--require flag', - noFlags: 'no additional flags' - }; - let method = ''; - - if (isESMApp()) { - const usingExperimentalLoaderFlag = - process.env.NODE_OPTIONS?.includes('--experimental-loader') - || process.execArgv?.[0]?.includes('--experimental-loader') - ? 'usingExperimentalLoaderFlag' : ''; - const usingImportFlag = - process.env.NODE_OPTIONS?.includes('--import') || process.execArgv?.[0]?.includes('--import') - ? 'usingImport' : ''; - - method = instrumentationMap[usingExperimentalLoaderFlag || usingImportFlag || 'noFlags']; - } else { - const usingRequire = - (process.env.NODE_OPTIONS?.includes('--require') && process.env.NODE_OPTIONS?.includes('@instana')) || - (process.execArgv?.[0]?.includes('--require') && process.execArgv?.[0].includes('@instana')) || - (process.execArgv?.[0]?.includes('--require') && process.execArgv?.[1].includes('@instana')) - ? 'usingRequire' : ''; - - method = instrumentationMap[usingRequire || 'noFlags']; - } - - logger.debug(`The App has instrumented instana using: ${method}`); - } - };