UNPKG

@embrace-io/web-sdk

Version:
27 lines (26 loc) 1.1 kB
import "./enums/EventNames.js"; import { PerformanceTimingNames, hasKey } from "@opentelemetry/sdk-trace-web"; //#region src/instrumentations/document-load/DocumentLoadInstrumentation/utils.ts const getPerformanceNavigationEntries = () => { const entries = {}; const performanceNavigationTiming = window.performance.getEntriesByType("navigation")[0]; Object.values(PerformanceTimingNames).forEach((key) => { if (hasKey(performanceNavigationTiming, key)) { const value = performanceNavigationTiming[key]; if (typeof value === "number") entries[key] = value; } }); return entries; }; const performancePaintNames = { "first-paint": "firstPaint", "first-contentful-paint": "firstContentfulPaint" }; const addSpanPerformancePaintEvents = (span, perf) => { window.performance.getEntriesByType("paint").forEach(({ name, startTime }) => { if (hasKey(performancePaintNames, name)) span.addEvent(performancePaintNames[name], perf.epochMillisFromOrigin(startTime)); }); }; //#endregion export { addSpanPerformancePaintEvents, getPerformanceNavigationEntries }; //# sourceMappingURL=utils.js.map