يتشارك الكائن العام performance وnode:perf_hooks خطًا زمنيًا واحدًا.
التوقيت والمدخلات
performance.now(); // milliseconds since timeOrigin
performance.mark("start");
performance.measure("work", "start");
performance.getEntriesByName("work")[0].entryType; // "measure"تعيد getEntries() وgetEntriesByName() وgetEntriesByType()
مصفوفات جديدة مرتّبة حسب وقت البدء. وتحذف clearMarks() وclearMeasures()
المدخلات المطابقة.
يمكن إنشاء PerformanceMark. أما Performance
وPerformanceEntry وPerformanceMeasure فلا يمكن إنشاؤها
مباشرة.
PerformanceObserver
const observer = new PerformanceObserver((list) => {
for (const entry of list.getEntries()) {
console.log(entry.name, entry.entryType);
}
});
observer.observe({ entryTypes: ["mark", "measure"] });
performance.mark("ready");يحدث تسليم المراقِب عند نقطة تحقق المهام الدقيقة. ويوقف disconnect()
المراقبة ويمسح المدخلات المخزّنة مؤقتًا؛ ويفرّغ takeRecords() المخزن المؤقت
الحالي.
تحتوي PerformanceObserver.supportedEntryTypes على mark
وmeasure وnode وfunction.
تستخدم قيم detail للعلامات والقياسات سلوك structured-clone نفسه المستخدم في
مراسلة الويب. فالأنواع مثل Date وRegExp
وMap وSet وArrayBuffer تحتفظ بنوعها ومحتوياتها؛ أما الدوال فترمي
DataCloneError.
Reference
Status: Full · Not measured · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
PerformanceEntry | class | Full | name, entryType, startTime, duration, detail, toJSON() |
PerformanceMark | class | Full | detail |
PerformanceMeasure | class | Full | detail |
PerformanceObserverEntryList | class | Full | getEntries(), getEntriesByName(), getEntriesByType() |
PerformanceObserver | class | Full | observe(), disconnect(), takeRecords(), PerformanceObserver. |
Performance | class | Full | now(), timeOrigin, mark(), measure(), getEntries(), getEntriesByName(), getEntriesByType(), clearMarks(), clearMeasures(), toJSON() |