summaryrefslogtreecommitdiff
path: root/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts
diff options
context:
space:
mode:
authoranj-s <[email protected]>2025-06-23 17:05:42 -0700
committerGitHub <[email protected]>2025-06-24 00:05:42 +0000
commit30126844695ec2b0853f50464afdbc06ad84f3ee (patch)
treecb23bc1980d342b9966ee692af7b044c933ca89b /packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts
parent335802f4ddaac15999d80b1809e59245bbdb1937 (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.ts8
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) {