From f2df62c0044b582060e06f427fb2f7bc70587cf6 Mon Sep 17 00:00:00 2001 From: rochdev Date: Thu, 19 Sep 2024 17:15:07 -0400 Subject: [PATCH] only start crashtracking when enabled --- packages/dd-trace/src/proxy.js | 4 +++- packages/dd-trace/test/proxy.spec.js | 21 +++------------------ 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/packages/dd-trace/src/proxy.js b/packages/dd-trace/src/proxy.js index ff7fe02989..41a8dd1ba8 100644 --- a/packages/dd-trace/src/proxy.js +++ b/packages/dd-trace/src/proxy.js @@ -58,7 +58,9 @@ class Tracer extends NoopProxy { try { const config = new Config(options) // TODO: support dynamic code config - require('./crashtracking').start(config) // TODO: start earlier in process + if (config.crashtracking.enabled) { + require('./crashtracking').start(config) + } telemetry.start(config, this._pluginManager) diff --git a/packages/dd-trace/test/proxy.spec.js b/packages/dd-trace/test/proxy.spec.js index f921f7bb7a..147b059ea3 100644 --- a/packages/dd-trace/test/proxy.spec.js +++ b/packages/dd-trace/test/proxy.spec.js @@ -31,8 +31,6 @@ describe('TracerProxy', () => { let dogStatsD let noopDogStatsDClient let NoopDogStatsDClient - let crashtracker - let noopCrashtracker beforeEach(() => { process.env.DD_TRACE_MOCHA_ENABLED = false @@ -130,6 +128,7 @@ describe('TracerProxy', () => { profiling: {}, appsec: {}, iast: {}, + crashtracking: {}, remoteConfig: { enabled: true }, @@ -179,19 +178,10 @@ describe('TracerProxy', () => { remoteConfig.enable.returns(rc) - crashtracker = { - start: sinon.spy() - } - - noopCrashtracker = { - start: sinon.spy() - } - NoopProxy = proxyquire('../src/noop/proxy', { './tracer': NoopTracer, '../appsec/sdk/noop': NoopAppsecSdk, - './dogstatsd': NoopDogStatsDClient, - './crashtracking': noopCrashtracker + './dogstatsd': NoopDogStatsDClient }) Proxy = proxyquire('../src/proxy', { @@ -209,8 +199,7 @@ describe('TracerProxy', () => { './appsec/sdk': AppsecSdk, './dogstatsd': dogStatsD, './noop/dogstatsd': NoopDogStatsDClient, - './flare': flare, - './crashtracking': crashtracker + './flare': flare }) proxy = new Proxy() @@ -329,7 +318,6 @@ describe('TracerProxy', () => { it('should support applying remote config', () => { const RemoteConfigProxy = proxyquire('../src/proxy', { './tracer': DatadogTracer, - './crashtracking': crashtracker, './appsec': appsec, './appsec/iast': iast, './appsec/remote_config': remoteConfig, @@ -359,7 +347,6 @@ describe('TracerProxy', () => { it('should support applying remote config (only call disable if enabled before)', () => { const RemoteConfigProxy = proxyquire('../src/proxy', { './tracer': DatadogTracer, - './crashtracking': crashtracker, './config': Config, './appsec': appsec, './appsec/iast': iast, @@ -519,7 +506,6 @@ describe('TracerProxy', () => { const ProfilerImportFailureProxy = proxyquire('../src/proxy', { './tracer': DatadogTracer, - './crashtracking': crashtracker, './noop/tracer': NoopTracer, './config': Config, './runtime_metrics': runtimeMetrics, @@ -551,7 +537,6 @@ describe('TracerProxy', () => { const options = {} const DatadogProxy = proxyquire('../src/proxy', { './tracer': DatadogTracer, - './crashtracking': crashtracker, './config': Config, './appsec': appsec, './appsec/iast': iast,