web-performance-monitor-sdk
Version:
A modern, lightweight performance monitoring SDK for web applications. Monitor Core Web Vitals (LCP, FCP, FID, CLS, TTFB) with sendBeacon support.
61 lines • 1.54 kB
TypeScript
/**
* 性能监控SDK类型定义
*/
export interface PerformanceMetrics {
fcp?: number;
lcp?: number;
fid?: number;
cls?: number;
ttfb?: number;
fmp?: number;
fcpScore?: string;
lcpScore?: string;
fidScore?: string;
clsScore?: string;
url?: string;
pageTitle?: string;
dnsTime?: number;
tcpTime?: number;
sslTime?: number;
requestTime?: number;
downloadTime?: number;
domParseTime?: number;
domContentLoadedTime?: number;
loadTime?: number;
deviceType?: string;
os?: string;
browser?: string;
browserVersion?: string;
connectionType?: string;
downlink?: number;
rtt?: number;
userAgent?: string;
userId?: string;
errorCount?: number;
errors?: string;
metadata?: string;
sessionId?: string;
sdkVersion?: string;
timestamp?: number;
}
export interface PerformanceMonitorConfig {
output?: 'console' | 'sendBeacon' | 'fetch' | 'custom';
customReporter?: (metrics: PerformanceMetrics) => void;
endpoint?: string;
enableErrorTracking?: boolean;
enableResourceTiming?: boolean;
sampleRate?: number;
debug?: boolean;
userId?: string;
autoReportInterval?: number;
reportOnUnload?: boolean;
sdkVersion?: string;
customMetadata?: Record<string, any>;
}
export type PerformanceScore = 'good' | 'needs-improvement' | 'poor';
export interface MetricDetail {
value: number;
score: PerformanceScore;
timestamp: number;
}
//# sourceMappingURL=types.d.ts.map