diff options
| author | anj-s <[email protected]> | 2025-06-23 17:05:42 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-24 00:05:42 +0000 |
| commit | 30126844695ec2b0853f50464afdbc06ad84f3ee (patch) | |
| tree | cb23bc1980d342b9966ee692af7b044c933ca89b /packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts | |
| parent | 335802f4ddaac15999d80b1809e59245bbdb1937 (diff) | |
Fix duplicate startSession logs and duplicate logging events over the wire (#1357)
Diffstat (limited to 'packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts')
| -rw-r--r-- | packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts index 50f2fffa..edf1d952 100644 --- a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts +++ b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts @@ -85,12 +85,15 @@ export class ClearcutLogger { if (this.config?.getDebugMode()) { console.log('Flushing log events to Clearcut.'); } + const eventsToSend = [...this.events]; + this.events.length = 0; + return new Promise<Buffer>((resolve, reject) => { const request = [ { log_source_name: 'CONCORD', request_time_ms: Date.now(), - log_event: this.events, + log_event: eventsToSend, }, ]; const body = JSON.stringify(request); @@ -114,12 +117,13 @@ export class ClearcutLogger { if (this.config?.getDebugMode()) { console.log('Clearcut POST request error: ', e); } + // Add the events back to the front of the queue to be retried. + this.events.unshift(...eventsToSend); reject(e); }); req.end(body); }).then((buf: Buffer) => { try { - this.events.length = 0; this.last_flush_time = Date.now(); return this.decodeLogResponse(buf) || {}; } catch (error: unknown) { |
