spy-client
Version:
spy client
47 lines (46 loc) • 1.27 kB
TypeScript
/**
* @file Longtask
* @author kaivean
*/
import { Module, FSPLongtaskCB, LCPLongtaskCB, LoadLongtaskCB, PageLongtaskCB } from '../lib/interface';
export interface LongtaskData {
longtaskTime?: number;
longtaskRate?: number;
longtaskNum?: number;
totalTime?: number;
longtaskIframeTime?: number;
longtaskIframeNum?: number;
longtaskIframeRate?: number;
iframeLongtasks?: {
[propName: string]: number[] | undefined;
};
}
export default class Longtask implements Module {
private lts;
private observer;
private fspCB;
private lcpCB;
private loadCB;
private pageCB;
private onceLeave;
constructor();
check(): any;
listenFSPLongTask(cb: FSPLongtaskCB): void;
listenLCPLongTask(cb: LCPLongtaskCB): void;
listenLoadLongTask(cb: LoadLongtaskCB): void;
listenPageLongTask(cb: PageLongtaskCB): void;
load(): void;
leave(): void;
destroy(): void;
getStatData(finalTime: number): {
num: number;
time: number;
tbt: number;
totalTime: number;
rate: number;
iframeTime: number;
iframeNum: number;
iframeRate: number;
iframeLongtasks: any;
};
}