Skip to content

Commit caf7c8a

Browse files
authored
Disable OTEL console exporter by default (#192)
Signed-off-by: Alexis Rico <[email protected]>
1 parent 03f2705 commit caf7c8a

File tree

1 file changed

+14
-18
lines changed

1 file changed

+14
-18
lines changed

apps/dbagent/instrumentation-node.ts

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function otelExporter(
4747
}
4848
}
4949

50-
function createExporter(): SpanExporter {
50+
function createExporter(): SpanExporter | undefined {
5151
const exporters: SpanExporter[] = [];
5252

5353
const level = env.OTEL_DEBUG === 'true' ? DiagLogLevel.DEBUG : DiagLogLevel.ERROR;
@@ -62,7 +62,6 @@ function createExporter(): SpanExporter {
6262
headers['Authorization'] = `Bearer ${env.OTEL_EXPORTER_OTLP_KEY}`;
6363
}
6464

65-
console.log('OTEL exporter is enabled');
6665
exporters.push(
6766
otelExporter(env.OTEL_EXPORTER_OTLP_PROTOCOL || 'http/json', {
6867
url: env.OTEL_EXPORTER_OTLP_ENDPOINT,
@@ -72,7 +71,6 @@ function createExporter(): SpanExporter {
7271
}
7372

7473
if (env.LANGFUSE_HOST && env.LANGFUSE_PUBLIC_KEY && env.LANGFUSE_SECRET_KEY) {
75-
console.log('Langfuse exporter is enabled');
7674
exporters.push(
7775
new LangfuseExporter({
7876
baseUrl: env.LANGFUSE_HOST,
@@ -83,51 +81,49 @@ function createExporter(): SpanExporter {
8381
);
8482
}
8583

86-
if (exporters.length === 0) {
87-
return new ConsoleSpanExporter();
84+
if (env.OTEL_DEBUG === 'true') {
85+
exporters.push(new ConsoleSpanExporter());
8886
}
89-
if (exporters.length === 1) {
90-
return exporters[0] as SpanExporter;
87+
88+
if (exporters.length === 0) {
89+
return undefined;
9190
}
9291

9392
return {
9493
export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void {
9594
for (const exporter of exporters) {
9695
exporter.export(spans, resultCallback);
9796
}
98-
console.log('Exported spans', spans.length);
9997
},
10098

101-
shutdown(): Promise<void> {
102-
return Promise.all(exporters.map((exporter) => exporter.shutdown())).then(() => undefined);
99+
async shutdown(): Promise<void> {
100+
return await Promise.all(exporters.map((exporter) => exporter.shutdown())).then(() => undefined);
103101
},
104102

105-
forceFlush(): Promise<void> {
106-
return Promise.all(exporters.map((exporter) => exporter.forceFlush?.())).then(() => undefined);
103+
async forceFlush(): Promise<void> {
104+
return await Promise.all(exporters.map((exporter) => exporter.forceFlush?.())).then(() => undefined);
107105
}
108106
} as SpanExporter;
109107
}
110108

111-
console.log('Initializing OTel SDK');
112-
const exporter = createExporter();
109+
const traceExporter = createExporter();
113110
const contextManager = new AsyncLocalStorageContextManager();
114111
contextManager.enable();
115112

116113
const sdk = new NodeSDK({
117114
contextManager,
118-
traceExporter: exporter,
119-
spanProcessor: new BatchSpanProcessor(exporter),
115+
traceExporter,
116+
spanProcessor: traceExporter ? new BatchSpanProcessor(traceExporter) : undefined,
120117
instrumentations: [getNodeAutoInstrumentations()]
121118
});
122119

123-
console.log('Starting OTel SDK');
124120
sdk.start();
125121

126122
process.on('SIGTERM', () => {
127123
sdk
128124
.shutdown()
129125
.then(
130-
() => console.log('OTel shutdown complete'),
126+
() => {},
131127
(error) => console.error('OTel shutdown error', error)
132128
)
133129
.finally(() => process.exit(0));

0 commit comments

Comments
 (0)