UNPKG

perf-observer-kit

Version:

A lightweight, flexible library for monitoring web performance metrics including Core Web Vitals, resource loading performance, long tasks, and navigation timing.

62 lines (61 loc) 1.57 kB
import { NavigationMetrics } from '../types'; import { NavigationObserverOptions } from './web-vitals/types'; /** * 导航计时观察者 * 收集页面加载性能指标,包括导航计时、网络信息等 */ export declare class NavigationObserver { private metrics; private isStarted; private hasCollectedMetrics; private options; private metricsUpdateCallback; private perfObserver; private timeoutId; private readonly MAX_WAIT_TIME_MS; private readonly MAX_POLL_ATTEMPTS; private readonly POLL_INTERVAL_MS; constructor(options: NavigationObserverOptions); start(): void; stop(): void; /** * 获取收集到的导航性能指标 */ getMetrics(): NavigationMetrics; /** * 检查是否可以开始收集指标 */ private canStart; /** * 清理超时定时器 */ private clearTimeout; /** * 清理所有资源 */ private cleanupResources; /** * 使用传统方法开始收集导航性能数据 */ private startWithTraditionalMethod; /** * 通过轮询方式检查并获取导航性能数据 */ private pollForNavigationData; /** * 获取最新的导航性能条目 */ private getLatestNavigationEntry; /** * 收集导航计时数据 */ private collectNavigationData; /** * 判断load事件是否已完成 */ private isLoadEventComplete; /** * 处理导航性能条目,提取和计算指标 */ private processNavigationData; }