UNPKG

@embrace-io/web-sdk

Version:
29 lines (28 loc) 1.35 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); require("./enums/EventNames.cjs"); let _opentelemetry_sdk_trace_web = require("@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(_opentelemetry_sdk_trace_web.PerformanceTimingNames).forEach((key) => { if ((0, _opentelemetry_sdk_trace_web.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 ((0, _opentelemetry_sdk_trace_web.hasKey)(performancePaintNames, name)) span.addEvent(performancePaintNames[name], perf.epochMillisFromOrigin(startTime)); }); }; //#endregion exports.addSpanPerformancePaintEvents = addSpanPerformancePaintEvents; exports.getPerformanceNavigationEntries = getPerformanceNavigationEntries; //# sourceMappingURL=utils.cjs.map