Skip to content
This repository was archived by the owner on Jan 21, 2026. It is now read-only.

Commit f688e33

Browse files
authored
feat: add config.disableUntracedModulesWarn (#1070)
1 parent 7cf423c commit f688e33

File tree

4 files changed

+33
-6
lines changed

4 files changed

+33
-6
lines changed

src/config.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,12 @@ export interface Config {
9494
*/
9595
logLevel?: number;
9696

97+
/**
98+
* If set to true, prevents a warning from being emitted if modules are
99+
* required before the Trace Agent.
100+
*/
101+
disableUntracedModulesWarning?: boolean;
102+
97103
/**
98104
* Whether to enable to Trace Agent or not.
99105
* Once enabled, the Trace Agent may not be disabled.
@@ -312,6 +318,7 @@ export interface Config {
312318
*/
313319
export const defaultConfig = {
314320
logLevel: 1,
321+
disableUntracedModulesWarning: false,
315322
enabled: true,
316323
enhancedDatabaseReporting: false,
317324
rootSpanNameOverride: (name: string) => name,

src/index.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ function initConfig(userConfig: Forceable<Config>): TopLevelConfig {
114114

115115
return {
116116
[FORCE_NEW]: forceNew,
117+
disableUntracedModulesWarning: mergedConfig.disableUntracedModulesWarning,
117118
enabled: mergedConfig.enabled,
118119
logLevel: lastOf(
119120
mergedConfig.logLevel,
@@ -230,7 +231,12 @@ export function start(config?: Config): PluginTypes.Tracer {
230231
throw new Error('Cannot call start on an already created agent.');
231232
}
232233
tracing.enable();
233-
tracing.logModulesLoadedBeforeTrace(filesLoadedBeforeTrace);
234+
if (
235+
normalizedConfig.enabled &&
236+
!normalizedConfig.disableUntracedModulesWarning
237+
) {
238+
tracing.logModulesLoadedBeforeTrace(filesLoadedBeforeTrace);
239+
}
234240
return traceAgent;
235241
} finally {
236242
// Stop storing these entries in memory

src/tracing.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export type TopLevelConfig =
3030
| Forceable<{
3131
enabled: boolean;
3232
logLevel: number;
33+
disableUntracedModulesWarning: boolean;
3334
clsConfig: Forceable<TraceCLSConfig>;
3435
writerConfig: Forceable<TraceWriterConfig>;
3536
pluginLoaderConfig: Forceable<PluginLoaderConfig>;

test/test-modules-loaded-before-agent.ts

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ import * as log from '../src/logger';
2222
import {TestLogger} from './logger';
2323
import * as testTraceModule from './trace';
2424

25+
const UNTRACED_LOGS_WARNING = /StackdriverTracer#start.*modules.*loaded.*before.*trace agent.*: \[.*shimmer.*\]/;
26+
2527
describe('modules loaded before agent', () => {
26-
let logger: CaptureTestLogger;
28+
let logger: CaptureTestLogger | null = null;
2729

2830
class CaptureTestLogger extends TestLogger {
2931
constructor() {
@@ -40,14 +42,25 @@ describe('modules loaded before agent', () => {
4042
shimmer.unwrap(log, 'Logger');
4143
});
4244

45+
afterEach(() => {
46+
logger = null;
47+
});
48+
4349
it('should log if modules were loaded before agent', () => {
4450
testTraceModule.start();
51+
assert.ok(logger);
4552
assert.strictEqual(
46-
logger.getNumLogsWith(
47-
'warn',
48-
/StackdriverTracer#start.*modules.*loaded.*before.*trace agent.*: \[.*shimmer.*\]/
49-
),
53+
logger!.getNumLogsWith('warn', UNTRACED_LOGS_WARNING),
5054
1
5155
);
5256
});
57+
58+
it('should not log if disableUntracedModulesWarning is set to true', () => {
59+
testTraceModule.start({disableUntracedModulesWarning: true});
60+
assert.ok(logger);
61+
assert.strictEqual(
62+
logger!.getNumLogsWith('warn', UNTRACED_LOGS_WARNING),
63+
0
64+
);
65+
});
5366
});

0 commit comments

Comments
 (0)