Skip to content

Commit c8980e6

Browse files
authored
We only need the earliest event when dumping recordings (#1178)
1 parent 00c0c2b commit c8980e6

File tree

2 files changed

+9
-80
lines changed

2 files changed

+9
-80
lines changed

src/browser/replay/recorder.js

Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -47,26 +47,6 @@ export default class Recorder {
4747
this.#options = newOptions;
4848
}
4949

50-
/**
51-
* Find the earliest and latest events in a list of events based on timestamp
52-
*
53-
* @param {Array} events - Array of events with timestamp property
54-
* @returns {Object} Object containing the earliest and latest events
55-
*/
56-
findEventBoundaries(events) {
57-
if (!events || events.length === 0) {
58-
return { earliest: null, latest: null };
59-
}
60-
61-
return events.reduce(
62-
(acc, e) => ({
63-
earliest: e.timestamp < acc.earliest.timestamp ? e : acc.earliest,
64-
latest: e.timestamp > acc.latest.timestamp ? e : acc.latest,
65-
}),
66-
{ earliest: events[0], latest: events[0] },
67-
);
68-
}
69-
7050
/**
7151
* Dumps the recorded events into a span that can be exported
7252
* Creates a span for the recording session and adds all events as span events
@@ -86,32 +66,28 @@ export default class Recorder {
8666

8767
console.log(`Recorder.dump: Dumping ${events.length} events`);
8868

89-
const { earliest: earliestEvent, latest: latestEvent } =
90-
this.findEventBoundaries(events);
91-
92-
console.log(`Recorder.dump: Earliest event: ${earliestEvent}`);
93-
console.log(`Recorder.dump: Latest event: ${latestEvent}`);
94-
9569
const recordingSpan = this.#tracing.startSpan(
9670
'rrweb-replay-recording',
9771
{},
9872
context,
9973
);
10074

75+
const earliestEvent = events.reduce((earliestEvent, event) =>
76+
event.timestamp < earliestEvent.timestamp ? event : earliestEvent,
77+
);
78+
79+
recordingSpan.span.startTime = recordingSpan.toHrTime(
80+
earliestEvent.timestamp,
81+
);
82+
10183
for (const event of events) {
10284
recordingSpan.addEvent(
10385
'rrweb-replay-events',
10486
{
10587
eventType: event.type,
10688
json: JSON.stringify(event.data),
10789
},
108-
event.timestamp ? recordingSpan.toHrTime(event.timestamp) : null,
109-
);
110-
}
111-
112-
if (earliestEvent) {
113-
recordingSpan.span.startTime = recordingSpan.toHrTime(
114-
earliestEvent.timestamp,
90+
recordingSpan.toHrTime(event.timestamp),
11591
);
11692
}
11793

test/browser.replay.recorder.eventBoundaries.test.js

Lines changed: 0 additions & 47 deletions
This file was deleted.

0 commit comments

Comments
 (0)