UNPKG

@esmj/web-metrics

Version:

A lightweight utility for collecting and analyzing web performance metrics, such as navigation timing, paint timing, and user interaction metrics. This package helps developers monitor and optimize the performance of their web applications.

63 lines (61 loc) 1.84 kB
type UndefinedNumber = number | undefined; type UndefinedString = string | undefined; type WebMetricsType = { value: UndefinedNumber; } | undefined; type Metrics = { navigation: { redirect: UndefinedNumber; appCache: UndefinedNumber; DNS: UndefinedNumber; TCP: UndefinedNumber; TLS: UndefinedNumber; QUIC: UndefinedNumber; queueing: UndefinedNumber; worker: UndefinedNumber; request: UndefinedNumber; response: UndefinedNumber; processingToDI: UndefinedNumber; processingToDCL: UndefinedNumber; processingDCL: UndefinedNumber; processingToDC: UndefinedNumber; processingL: UndefinedNumber; processing: UndefinedNumber; TTFB: UndefinedNumber; TTI: UndefinedNumber; HTML: UndefinedNumber; resource: UndefinedNumber; navigation: UndefinedNumber; redirectCount: UndefinedNumber; transferSize: UndefinedNumber; decodedBodySize: UndefinedNumber; type: UndefinedString; name: UndefinedString; }; device: { width: number; height: number; visibilityState: DocumentVisibilityState; bfcache: boolean; mobile: boolean; userAgent: string; connection?: { effectiveType: UndefinedString; downlink: UndefinedNumber; rtt: UndefinedNumber; saveData?: boolean; }; }; }; declare function measure(): void; declare function getMetrics(): (Metrics & { navigation: Metrics['navigation'] & { FCP: WebMetricsType; FI: WebMetricsType; FID: WebMetricsType; LCP: WebMetricsType; CLS: WebMetricsType; INP: WebMetricsType; }; }) | undefined; export { getMetrics, measure };