Skip to content

Commit c6b3a21

Browse files
Flush errorhandling (#469)
* bug fix * changeset * fix * warn * biome
1 parent e1ab434 commit c6b3a21

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

.changeset/rotten-ghosts-tease.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@inkeep/agents-run-api": patch
3+
---
4+
5+
bug fix for flush

agents-run-api/src/instrumentation.ts

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,31 @@ import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
1313
import { resourceFromAttributes } from '@opentelemetry/resources';
1414
import type { NodeSDKConfiguration } from '@opentelemetry/sdk-node';
1515
import { NodeSDK } from '@opentelemetry/sdk-node';
16-
import { BatchSpanProcessor, type SpanProcessor } from '@opentelemetry/sdk-trace-base';
16+
import {
17+
BatchSpanProcessor,
18+
type SpanProcessor,
19+
NoopSpanProcessor,
20+
} from '@opentelemetry/sdk-trace-base';
1721
import { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
22+
import { getLogger } from './logger';
1823

1924
const otlpExporter = new OTLPTraceExporter();
25+
const logger = getLogger('instrumentation');
26+
/**
27+
* Creates a safe batch processor that falls back to no-op when SignOz is not configured
28+
*/
29+
function createSafeBatchProcessor(): SpanProcessor {
30+
try {
31+
return new BatchSpanProcessor(otlpExporter, {
32+
scheduledDelayMillis: 1000,
33+
});
34+
} catch (error) {
35+
logger.warn({ error }, 'Failed to create batch processor');
36+
return new NoopSpanProcessor();
37+
}
38+
}
2039

21-
export const defaultBatchProcessor = new BatchSpanProcessor(otlpExporter, {
22-
scheduledDelayMillis: 1000,
23-
});
40+
export const defaultBatchProcessor = createSafeBatchProcessor();
2441

2542
export const defaultResource = resourceFromAttributes({
2643
[ATTR_SERVICE_NAME]: 'inkeep-agents-run-api',
@@ -66,6 +83,4 @@ export const defaultSDK = new NodeSDK({
6683
textMapPropagator: defaultTextMapPropagator,
6784
spanProcessors: defaultSpanProcessors,
6885
instrumentations: defaultInstrumentations,
69-
7086
});
71-

0 commit comments

Comments
 (0)