You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

31 lines
1.0 KiB

export function measurePerformance() {
if (typeof window === "undefined") return;
window.addEventListener("load", () => {
const perfData = performance.getEntriesByType(
"navigation",
)[0] as PerformanceNavigationTiming;
const metrics = {
dns: perfData.domainLookupEnd - perfData.domainLookupStart,
tcp: perfData.connectEnd - perfData.connectStart,
ttfb: perfData.responseStart - perfData.requestStart,
download: perfData.responseEnd - perfData.responseStart,
domInteractive: perfData.domInteractive - perfData.fetchStart,
domComplete: perfData.domComplete - perfData.fetchStart,
loadComplete: perfData.loadEventEnd - perfData.fetchStart,
};
console.log("⏱️ Performance Metrics:", metrics);
// ارسال به analytics (اختیاری)
if ((window as any).HabibApp) {
(window as any).HabibApp.postMessage(
JSON.stringify({
action: "performance_metrics",
data: metrics,
}),
);
}
});
}