monotonic time
This commit is contained in:
parent
7e96709ca0
commit
79796dda15
|
|
@ -105,7 +105,7 @@ export class Tracing extends SdkObject implements InstrumentationListener, Snaps
|
|||
options: {},
|
||||
platform: process.platform,
|
||||
wallTime: 0,
|
||||
monotonicTimeOffset: 0,
|
||||
monotonicTime: 0,
|
||||
sdkLanguage: context.attribution.playwright.options.sdkLanguage,
|
||||
testIdAttributeName
|
||||
};
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ export class TestTracing {
|
|||
options: {},
|
||||
platform: process.platform,
|
||||
wallTime: Date.now(),
|
||||
monotonicTimeOffset: Date.now() - monotonicTime(),
|
||||
monotonicTime: monotonicTime(),
|
||||
sdkLanguage: 'javascript',
|
||||
};
|
||||
this._appendTraceEvent(this._contextCreatedEvent);
|
||||
|
|
|
|||
|
|
@ -26,8 +26,7 @@ export type ContextEntry = {
|
|||
browserName: string;
|
||||
channel?: string;
|
||||
platform?: string;
|
||||
wallTime?: number;
|
||||
monotonicTimeOffset: number;
|
||||
wallTime: number;
|
||||
sdkLanguage?: Language;
|
||||
testIdAttributeName?: string;
|
||||
title?: string;
|
||||
|
|
@ -59,7 +58,7 @@ export function createEmptyContext(): ContextEntry {
|
|||
origin: 'testRunner',
|
||||
traceUrl: '',
|
||||
startTime: Number.MAX_SAFE_INTEGER,
|
||||
monotonicTimeOffset: 0,
|
||||
wallTime: Number.MAX_SAFE_INTEGER,
|
||||
endTime: 0,
|
||||
browserName: '',
|
||||
options: {
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ export class TraceModernizer {
|
|||
contextEntry.title = event.title;
|
||||
contextEntry.platform = event.platform;
|
||||
contextEntry.wallTime = event.wallTime;
|
||||
contextEntry.startTime = event.monotonicTime;
|
||||
contextEntry.sdkLanguage = event.sdkLanguage;
|
||||
contextEntry.options = event.options;
|
||||
contextEntry.testIdAttributeName = event.testIdAttributeName;
|
||||
|
|
@ -176,11 +177,13 @@ export class TraceModernizer {
|
|||
}
|
||||
|
||||
private _modernize(event: any): trace.TraceEvent[] {
|
||||
if (this._version === undefined)
|
||||
// In trace 6->7 we also need to modernize context-options event.
|
||||
let version = this._version || event.version;
|
||||
if (version === undefined)
|
||||
return [event];
|
||||
const lastVersion: trace.VERSION = 7;
|
||||
let events = [event];
|
||||
for (let version = this._version; version < lastVersion; ++version)
|
||||
for (; version < lastVersion; ++version)
|
||||
events = (this as any)[`_modernize_${version}_to_${version + 1}`].call(this, events);
|
||||
return events;
|
||||
}
|
||||
|
|
@ -375,18 +378,19 @@ export class TraceModernizer {
|
|||
options: {},
|
||||
platform: process.platform,
|
||||
wallTime: 0,
|
||||
monotonicTimeOffset: 0,
|
||||
monotonicTime: 0,
|
||||
sdkLanguage: 'javascript',
|
||||
};
|
||||
result.push(event);
|
||||
}
|
||||
for (const event of events) {
|
||||
if (event.type === 'context-options') {
|
||||
result.push({ ...event, monotonicTimeOffset: 0, origin: 'library' });
|
||||
result.push({ ...event, monotonicTime: 0, origin: 'library' });
|
||||
continue;
|
||||
}
|
||||
if (!this._contextEntry.monotonicTimeOffset && event.type === 'before')
|
||||
this._contextEntry.monotonicTimeOffset = event.wallTime - event.startTime;
|
||||
// Take wall time from the first event.
|
||||
if (!this._contextEntry.wallTime && event.type === 'before')
|
||||
this._contextEntry.wallTime = event.wallTime;
|
||||
result.push(event);
|
||||
}
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ export type ContextCreatedTraceEvent = {
|
|||
channel?: string,
|
||||
platform: string,
|
||||
wallTime: number,
|
||||
monotonicTimeOffset: number,
|
||||
monotonicTime: number,
|
||||
title?: string,
|
||||
options: BrowserContextEventOptions,
|
||||
sdkLanguage?: Language,
|
||||
|
|
|
|||
Loading…
Reference in a new issue