From 59e750bc885a3b43f97b9f030139cd72de949cfa Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Mon, 9 Sep 2024 16:51:59 +0200 Subject: [PATCH] rename to walltime --- .../src/server/trace/recorder/snapshotter.ts | 2 +- .../src/server/trace/recorder/snapshotterInjected.ts | 4 ++-- packages/trace-viewer/src/snapshotServer.ts | 2 +- packages/trace-viewer/src/traceModernizer.ts | 4 ++++ packages/trace-viewer/src/ui/snapshotTab.tsx | 12 ++++++------ packages/trace/src/snapshot.ts | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/playwright-core/src/server/trace/recorder/snapshotter.ts b/packages/playwright-core/src/server/trace/recorder/snapshotter.ts index 60d0e01836..d552c397e0 100644 --- a/packages/playwright-core/src/server/trace/recorder/snapshotter.ts +++ b/packages/playwright-core/src/server/trace/recorder/snapshotter.ts @@ -137,7 +137,7 @@ export class Snapshotter { html: data.html, viewport: data.viewport, timestamp: monotonicTime(), - absoluteTimestamp: data.absoluteTimestamp, + wallTime: data.wallTime, collectionTime: data.collectionTime, resourceOverrides: [], isMainFrame: page.mainFrame() === frame diff --git a/packages/playwright-core/src/server/trace/recorder/snapshotterInjected.ts b/packages/playwright-core/src/server/trace/recorder/snapshotterInjected.ts index bb1c5f386d..e881d52313 100644 --- a/packages/playwright-core/src/server/trace/recorder/snapshotterInjected.ts +++ b/packages/playwright-core/src/server/trace/recorder/snapshotterInjected.ts @@ -27,7 +27,7 @@ export type SnapshotData = { }[], viewport: { width: number, height: number }, url: string, - absoluteTimestamp: number, // milliseconds since epoch + wallTime: number, collectionTime: number, }; @@ -572,7 +572,7 @@ export function frameSnapshotStreamer(snapshotStreamer: string, removeNoScript: height: window.innerHeight, }, url: location.href, - absoluteTimestamp: Date.now(), + wallTime: Date.now(), collectionTime: 0, }; diff --git a/packages/trace-viewer/src/snapshotServer.ts b/packages/trace-viewer/src/snapshotServer.ts index 48ed34119e..4b61104d33 100644 --- a/packages/trace-viewer/src/snapshotServer.ts +++ b/packages/trace-viewer/src/snapshotServer.ts @@ -46,7 +46,7 @@ export class SnapshotServer { viewport: snapshot.viewport(), url: snapshot.snapshot().frameUrl, timestamp: snapshot.snapshot().timestamp, - absoluteTimestamp: snapshot.snapshot().absoluteTimestamp, + wallTime: snapshot.snapshot().wallTime, } : { error: 'No snapshot found' }); diff --git a/packages/trace-viewer/src/traceModernizer.ts b/packages/trace-viewer/src/traceModernizer.ts index 7c6ff19ce6..d12b99096d 100644 --- a/packages/trace-viewer/src/traceModernizer.ts +++ b/packages/trace-viewer/src/traceModernizer.ts @@ -395,6 +395,10 @@ export class TraceModernizer { result.push({ ...event, monotonicTime: 0, origin: 'library' }); continue; } + if (event.type === 'frame-snapshot') { + result.push({ ...event, snapshot: { ...event.snapshot, wallTime: 0 } }); + continue; + } // Take wall and monotonic time from the first event. if (!this._contextEntry.wallTime && event.type === 'before') this._contextEntry.wallTime = event.wallTime; diff --git a/packages/trace-viewer/src/ui/snapshotTab.tsx b/packages/trace-viewer/src/ui/snapshotTab.tsx index 790c731b3a..f66f723c52 100644 --- a/packages/trace-viewer/src/ui/snapshotTab.tsx +++ b/packages/trace-viewer/src/ui/snapshotTab.tsx @@ -101,7 +101,7 @@ export const SnapshotTab: React.FunctionComponent<{ const iframeRef0 = React.useRef(null); const iframeRef1 = React.useRef(null); - const [snapshotInfo, setSnapshotInfo] = React.useState<{ viewport: typeof kDefaultViewport, url: string, timestamp?: number, absoluteTimestamp?: undefined }>({ viewport: kDefaultViewport, url: '' }); + const [snapshotInfo, setSnapshotInfo] = React.useState<{ viewport: typeof kDefaultViewport, url: string, timestamp?: number, wallTime?: undefined }>({ viewport: kDefaultViewport, url: '' }); const loadingRef = React.useRef({ iteration: 0, visibleIframe: 0 }); React.useEffect(() => { @@ -110,7 +110,7 @@ export const SnapshotTab: React.FunctionComponent<{ const newVisibleIframe = 1 - loadingRef.current.visibleIframe; loadingRef.current.iteration = thisIteration; - const newSnapshotInfo = { url: '', viewport: kDefaultViewport, timestamp: undefined, absoluteTimestamp: undefined }; + const newSnapshotInfo = { url: '', viewport: kDefaultViewport, timestamp: undefined, wallTime: undefined }; if (snapshotInfoUrl) { const response = await fetch(snapshotInfoUrl); const info = await response.json(); @@ -118,7 +118,7 @@ export const SnapshotTab: React.FunctionComponent<{ newSnapshotInfo.url = info.url; newSnapshotInfo.viewport = info.viewport; newSnapshotInfo.timestamp = info.timestamp; - newSnapshotInfo.absoluteTimestamp = info.absoluteTimestamp; + newSnapshotInfo.wallTime = info.wallTime; } } @@ -170,13 +170,13 @@ export const SnapshotTab: React.FunctionComponent<{ const page = action ? pageForAction(action) : undefined; const screencastFrame = React.useMemo( () => { - if (snapshotInfo.absoluteTimestamp && page?.screencastFrames[0]?.frameSwapTimestamp) - return findClosest(page.screencastFrames, frame => frame.frameSwapTimestamp!, snapshotInfo.absoluteTimestamp); + if (snapshotInfo.wallTime && page?.screencastFrames[0]?.frameSwapTimestamp) + return findClosest(page.screencastFrames, frame => frame.frameSwapTimestamp!, snapshotInfo.wallTime); if (snapshotInfo.timestamp && page?.screencastFrames) return findClosest(page.screencastFrames, frame => frame.timestamp, snapshotInfo.timestamp); }, - [page?.screencastFrames, snapshotInfo.timestamp, snapshotInfo.absoluteTimestamp] + [page?.screencastFrames, snapshotInfo.timestamp, snapshotInfo.wallTime] ); return