From 907bf3e7e4f10b54722510b90c212ac3b34871ee Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Mon, 13 May 2024 17:42:02 -0700 Subject: [PATCH] update start time of the context --- .../playwright-core/src/server/trace/recorder/tracing.ts | 7 ++++++- packages/trace-viewer/src/traceModernizer.ts | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/playwright-core/src/server/trace/recorder/tracing.ts b/packages/playwright-core/src/server/trace/recorder/tracing.ts index 5f0bfb15df..2639aff91d 100644 --- a/packages/playwright-core/src/server/trace/recorder/tracing.ts +++ b/packages/playwright-core/src/server/trace/recorder/tracing.ts @@ -179,7 +179,12 @@ export class Tracing extends SdkObject implements InstrumentationListener, Snaps this._allocateNewTraceFile(this._state); this._fs.mkdir(path.dirname(this._state.traceFile)); - const event: trace.TraceEvent = { ...this._contextCreatedEvent, title: options.title, wallTime: Date.now() }; + const event: trace.TraceEvent = { + ...this._contextCreatedEvent, + title: options.title, + wallTime: Date.now(), + monotonicTime: monotonicTime() + }; this._fs.appendFile(this._state.traceFile, JSON.stringify(event) + '\n'); this._context.instrumentation.addListener(this, this._context); diff --git a/packages/trace-viewer/src/traceModernizer.ts b/packages/trace-viewer/src/traceModernizer.ts index 1ade445382..a2a987318c 100644 --- a/packages/trace-viewer/src/traceModernizer.ts +++ b/packages/trace-viewer/src/traceModernizer.ts @@ -388,9 +388,11 @@ export class TraceModernizer { result.push({ ...event, monotonicTime: 0, origin: 'library' }); continue; } - // Take wall time from the first event. + // Take wall and monotonic time from the first event. if (!this._contextEntry.wallTime && event.type === 'before') this._contextEntry.wallTime = event.wallTime; + if (!this._contextEntry.startTime && event.type === 'before') + this._contextEntry.startTime = event.startTime; result.push(event); } return result;