Skip to content

getPerformance

سنجه‌های کارایی صفحه را می‌گیرد، از جمله گشایش DNS، اتصال TCP، بارگذاری منابع و دیگر شاخص‌ها.

API

getPerformance

بازگشت

آرگومانتوضیحنوع
BasicType | undefinedشیء سنجه‌های کاراییBasicType | undefined

BasicType

ویژگیتوضیحنوع
dnsSearchزمان گشایش DNS (میلی‌ثانیه)number
tcpConnectزمان اتصال TCP (میلی‌ثانیه)number
sslConnectزمان اتصال امن SSL (میلی‌ثانیه)number
requestTTFB؛ زمان درخواست شبکه (میلی‌ثانیه)number
responseزمان انتقال داده (میلی‌ثانیه)number
parseDomTreeزمان تجزیهٔ DOM (میلی‌ثانیه)number
resourceزمان بارگذاری منابع (میلی‌ثانیه)number
domReadyزمان تا DOM Ready (میلی‌ثانیه)number
httpHeadاندازهٔ سرآیندهای HTTP (بایت)number
interactiveزمان تا نخستین تعامل‌پذیری (میلی‌ثانیه)number
completeزمان تا بارگذاری کامل صفحه (میلی‌ثانیه)number
redirectشمار تغییر مسیرهاnumber
redirectTimeزمان تغییر مسیرها (میلی‌ثانیه)number
durationزمان کل درخواست منابع (میلی‌ثانیه)number
fpزمان تا نخستین ترسیم (مدت صفحهٔ سفید، میلی‌ثانیه)number | undefined
fcpزمان تا نخستین ترسیم محتوایی (پایان نخستین صفحه، میلی‌ثانیه)number | undefined

پارامترها

بدون پارامتر

نمونه

کاربرد پایه

js
import { getPerformance } from 'ranuts';

const perf = getPerformance();
if (perf) {
  console.log('گشایش DNS:', perf.dnsSearch, 'ms');
  console.log('اتصال TCP:', perf.tcpConnect, 'ms');
  console.log('تا نخستین صفحه:', perf.fcp, 'ms');
}

سنجش کارایی

js
import { getPerformance } from 'ranuts';

window.addEventListener('load', () => {
  const perf = getPerformance();
  if (perf) {
    // دادهٔ کارایی را به سرور بفرست
    sendToServer({
      dns: perf.dnsSearch,
      tcp: perf.tcpConnect,
      request: perf.request,
      fcp: perf.fcp,
    });
  }
});

تحلیل کارایی

js
import { getPerformance } from 'ranuts';

function analyzePerformance() {
  const perf = getPerformance();
  if (!perf) return;

  console.log('=== تحلیل کارایی ===');
  console.log('گشایش DNS:', perf.dnsSearch, 'ms');
  console.log('اتصال TCP:', perf.tcpConnect, 'ms');
  console.log('دست‌دادن SSL:', perf.sslConnect, 'ms');
  console.log('پاسخ به درخواست:', perf.request, 'ms');
  console.log('انتقال داده:', perf.response, 'ms');
  console.log('تجزیهٔ DOM:', perf.parseDomTree, 'ms');
  console.log('بارگذاری منابع:', perf.resource, 'ms');
  console.log('نخستین ترسیم:', perf.fp, 'ms');
  console.log('نخستین ترسیم محتوایی:', perf.fcp, 'ms');
}

یادداشت‌ها

  1. پشتیبانی مرورگر: مرورگر باید Performance API را داشته باشد؛ همهٔ مرورگرهای امروزی دارند.

  2. محیط سرور: در محیط‌های سرور (بدون شیء window) مقدار undefined برمی‌گردد.

  3. زمان فراخوانی: برای داشتن دادهٔ کامل، بهتر است پس از پایان بارگذاری صفحه (رویداد load) صدا زده شود.

  4. یکاها: همهٔ زمان‌ها بر حسب میلی‌ثانیه و همهٔ اندازه‌ها بر حسب بایت‌اند.

  5. کاربرد: معمولاً برای پایش، تحلیل و بهبود کارایی به کار می‌رود.

منتشرشده تحت مجوز MIT.