UNPKG

perfrunner-core

Version:

Automated UI performance test tool to measure performance changes for the web apps and sites

66 lines (65 loc) 1.88 kB
import { Page } from 'puppeteer'; declare type TraceEvents = TraceEvent[]; export declare type Trace = { traceEvents: TraceEvents; }; declare type TraceEventName = 'ResourceFinish' | 'ResourceSendRequest' | 'ResourceReceiveResponse'; export interface TraceEvent { cat: string; name: TraceEventName; args: { data?: { requestId: string; }; }; } interface ResourceFinishTraceEvent extends TraceEvent { args: { data: { requestId: string; decodedBodyLength: number; encodedDataLength: number; finishTime: number; }; }; } interface ResourceSendRequestTraceEvent extends TraceEvent { args: { data: { requestId: string; priority: string; requestMethod: string; url: string; }; }; } interface ResourceReceiveResponseTraceEven extends TraceEvent { args: { data: { requestId: string; encodedDataLength: number; mimeType: string; statusCode: number; timing: unknown; }; }; } declare type TracedResourceData = { sendRequest?: ResourceSendRequestTraceEvent; receiveResponse?: ResourceReceiveResponseTraceEven; finish?: ResourceFinishTraceEvent; }; export declare class Tracer { private readonly _outputFolder; private _page; private _path; constructor(_outputFolder: string); start: (page: Page) => Promise<void>; stop: () => Promise<Trace>; private generateTracePath; private generateTraceName; private ensureFolderCreated; } export declare function subsetTrace(trc: TraceEvents): TraceEvent[]; export declare function extractResourceData(url: string, trace: TraceEvents): TracedResourceData; export {};