perfor-monitor
Version:
性能监控工具库
75 lines (74 loc) • 1.93 kB
TypeScript
import { PanelJank } from './panel-jank';
import type { PanelJankOps } from './panel-jank';
import { PerformanceBase } from './performance-base';
export interface JankStutterOptions {
/**
* 帧率
* 默认16.67,单位:ms
*/
frame?: number;
/**
* 设备刷新率
* 默认60,单位:Hz
*/
deviceRefreshRate?: number;
/**
* 事件处理延迟阈值(小卡顿)
* 默认50ms
*/
minJankThreshold?: number;
/**
* 事件处理延迟阈值(大卡顿)
* 默认100ms
*/
largeJankThreshold?: number;
/**
* 数据更新间隔
* 默认1000ms
*/
updateInterval?: number;
}
export declare class PerformanceJankStutter extends PerformanceBase {
private frameTimes;
private jankCounts;
/** 帧率 */
frame: number;
/** 设备刷新率 */
deviceRefreshRate: number;
/** 事件延迟阈值(小卡顿)*/
minJankThreshold: number;
/** 事件延迟阈值(大卡顿)*/
largeJankThreshold: number;
/** 数据更新间隔 */
updateInterval: number;
/** 性能观察器 */
private performanceObserver;
/** 定时更新器 */
private updateTimer;
/** 收集的事件数据 */
private eventEntries;
/** RAF ID */
private rafId;
constructor(ops?: JankStutterOptions);
startMonitoring(): void;
/**
* 启动基于 PerformanceObserver 的事件计时监测
*/
private startEventTimingMonitor;
/**
* 启动基于 RAF 的帧率监测
*/
private startFrameRateMonitor;
/**
* 传统的卡顿监测方式(兼容性保障)
*/
private startLegacyMonitor;
/**
* 更新并发送性能指标
*/
private updateMetrics;
stopMonitoring(): void;
}
export declare function useJankStutter(opsJank?: JankStutterOptions, opsPanel?: PanelJankOps): {
panelJank: PanelJank;
};