UNPKG

coach-core

Version:
26 lines (25 loc) 859 B
(function () { 'use strict'; const supported = PerformanceObserver.supportedEntryTypes; if (!supported || !supported.includes('element')) { return; } const observer = new PerformanceObserver(() => {}); observer.observe({ type: 'element', buffered: true }); const entries = observer.takeRecords(); const elements = {}; for (let entry of entries) { // Look out for colliding identifiers and missing identifiers elements[entry.identifier] = { duration: entry.duration, url: entry.url, loadTime: Number(entry.loadTime.toFixed(0)), renderTime: Number(entry.renderTime.toFixed(0)), startTime: Number(entry.startTime.toFixed(0)), naturalHeight: entry.naturalHeight, naturalWidth: entry.naturalWidth, tagName: entry.element ? entry.element.tagName : '' }; } return elements; })();