@safaricom-mxl/web-sdk 0.0.16 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DATA_EXPORT.md +2 -3
- package/REACT.md +5 -7
- package/README.md +94 -57
- package/UPGRADING.md +29 -19
- package/dist/api-logs/api/LogAPI/LogAPI.cjs +3 -3
- package/dist/api-logs/api/LogAPI/LogAPI.cjs.map +1 -1
- package/dist/api-logs/api/LogAPI/LogAPI.js +3 -3
- package/dist/api-logs/api/LogAPI/LogAPI.js.map +1 -1
- package/dist/api-logs/manager/NoOpLogManager/NoOpLogManager.cjs.map +1 -1
- package/dist/api-logs/manager/NoOpLogManager/NoOpLogManager.js.map +1 -1
- package/dist/api-logs/manager/types.d.cts +4 -4
- package/dist/api-logs/manager/types.d.cts.map +1 -1
- package/dist/api-logs/manager/types.d.ts +4 -4
- package/dist/api-logs/manager/types.d.ts.map +1 -1
- package/dist/api-page/api/PageAPI/PageAPI.cjs +3 -3
- package/dist/api-page/api/PageAPI/PageAPI.cjs.map +1 -1
- package/dist/api-page/api/PageAPI/PageAPI.js +3 -3
- package/dist/api-page/api/PageAPI/PageAPI.js.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs +9 -9
- package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts +5 -7
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts +5 -7
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.js +9 -9
- package/dist/api-sessions/api/SessionAPI/SessionAPI.js.map +1 -1
- package/dist/api-sessions/index.cjs +4 -4
- package/dist/api-sessions/index.d.cts +4 -4
- package/dist/api-sessions/index.d.ts +4 -4
- package/dist/api-sessions/index.js +3 -3
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs +47 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs.map +1 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.cts +30 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.cts.map +1 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.ts +30 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.ts.map +1 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.js +46 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.js.map +1 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/index.cjs +3 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/index.d.cts +2 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/index.d.ts +2 -0
- package/dist/api-sessions/manager/NoOpUserSessionManager/index.js +2 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs +81 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs.map +1 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts +35 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts.map +1 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts +35 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts.map +1 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js +81 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js.map +1 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/index.cjs +3 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/index.d.cts +2 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/index.d.ts +2 -0
- package/dist/api-sessions/manager/ProxyUserSessionManager/index.js +2 -0
- package/dist/api-sessions/manager/index.cjs +4 -4
- package/dist/api-sessions/manager/index.d.cts +4 -4
- package/dist/api-sessions/manager/index.d.ts +4 -4
- package/dist/api-sessions/manager/index.js +3 -3
- package/dist/api-sessions/manager/types.d.cts +14 -24
- package/dist/api-sessions/manager/types.d.cts.map +1 -1
- package/dist/api-sessions/manager/types.d.ts +14 -24
- package/dist/api-sessions/manager/types.d.ts.map +1 -1
- package/dist/api-traces/api/TraceAPI/TraceAPI.cjs +3 -3
- package/dist/api-traces/api/TraceAPI/TraceAPI.cjs.map +1 -1
- package/dist/api-traces/api/TraceAPI/TraceAPI.js +3 -3
- package/dist/api-traces/api/TraceAPI/TraceAPI.js.map +1 -1
- package/dist/api-traces/api/TraceAPI/types.d.cts +2 -2
- package/dist/api-traces/api/TraceAPI/types.d.cts.map +1 -1
- package/dist/api-traces/api/TraceAPI/types.d.ts +2 -2
- package/dist/api-traces/api/TraceAPI/types.d.ts.map +1 -1
- package/dist/api-users/api/UserAPI/UserAPI.cjs +3 -3
- package/dist/api-users/api/UserAPI/UserAPI.cjs.map +1 -1
- package/dist/api-users/api/UserAPI/UserAPI.js +3 -3
- package/dist/api-users/api/UserAPI/UserAPI.js.map +1 -1
- package/dist/common/types.d.cts +2 -0
- package/dist/common/types.d.cts.map +1 -1
- package/dist/common/types.d.ts +2 -0
- package/dist/common/types.d.ts.map +1 -1
- package/dist/constants/attributes.cjs +28 -0
- package/dist/constants/attributes.cjs.map +1 -1
- package/dist/constants/attributes.d.cts +17 -2
- package/dist/constants/attributes.d.cts.map +1 -1
- package/dist/constants/attributes.d.ts +17 -2
- package/dist/constants/attributes.d.ts.map +1 -1
- package/dist/constants/attributes.js +16 -1
- package/dist/constants/attributes.js.map +1 -1
- package/dist/constants/index.cjs +13 -0
- package/dist/constants/index.d.cts +2 -2
- package/dist/constants/index.d.ts +2 -2
- package/dist/constants/index.js +2 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs +1 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts +1 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts +1 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js +1 -2
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js.map +1 -1
- package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.cjs.map +1 -1
- package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.js.map +1 -1
- package/dist/exporters/constants.cjs +1 -1
- package/dist/exporters/constants.cjs.map +1 -1
- package/dist/exporters/constants.d.cts +1 -1
- package/dist/exporters/constants.d.ts +1 -1
- package/dist/exporters/constants.js +1 -1
- package/dist/exporters/constants.js.map +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.cjs.map +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.js.map +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.cjs +2 -2
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.cjs.map +1 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.cts.map +1 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.ts.map +1 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.js +2 -2
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.js.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs +6 -7
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.cts +4 -5
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.cts.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.ts +4 -5
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.ts.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js +6 -7
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs +8 -8
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js +8 -8
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs +10 -10
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js +10 -10
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs +2 -2
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js +2 -2
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js.map +1 -1
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs +5 -5
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js +5 -5
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs +4 -4
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js +4 -4
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js.map +1 -1
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs +7 -7
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js +7 -7
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs +2 -2
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts +4 -4
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.ts +4 -4
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.ts.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js +2 -2
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js.map +1 -1
- package/dist/instrumentations/index.cjs +2 -4
- package/dist/instrumentations/index.d.cts +4 -6
- package/dist/instrumentations/index.d.ts +4 -6
- package/dist/instrumentations/index.js +2 -3
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs +23 -23
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts +2 -3
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts +2 -3
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js +23 -23
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs +5 -5
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js +5 -5
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.cts +10 -10
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts +10 -10
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.cts +2 -2
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts +2 -2
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.js.map +1 -1
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs +257 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts +56 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts +56 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js +252 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs +15 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts +9 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts +9 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.js +10 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/constants.js.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/index.cjs +3 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/index.d.cts +3 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/index.d.ts +3 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/index.js +2 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts +17 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts.map +1 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts +17 -0
- package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts.map +1 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs +18 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs.map +1 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.cts +8 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.cts.map +1 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.ts +8 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.ts.map +1 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js +17 -0
- package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js.map +1 -0
- package/dist/instrumentations/replay/index.cjs +8 -0
- package/dist/instrumentations/replay/index.d.cts +4 -0
- package/dist/instrumentations/replay/index.d.ts +4 -0
- package/dist/instrumentations/replay/index.js +3 -0
- package/dist/instrumentations/replay/utils/index.cjs +5 -0
- package/dist/instrumentations/replay/utils/index.d.cts +2 -0
- package/dist/instrumentations/replay/utils/index.d.ts +2 -0
- package/dist/instrumentations/replay/utils/index.js +2 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.cjs +79 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.cjs.map +1 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.d.cts +32 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.d.cts.map +1 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.d.ts +32 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.d.ts.map +1 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.js +73 -0
- package/dist/instrumentations/replay/utils/session-recording-utils.js.map +1 -0
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs +6 -6
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js +6 -6
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/session/index.cjs +0 -6
- package/dist/instrumentations/session/index.d.cts +2 -7
- package/dist/instrumentations/session/index.d.ts +2 -7
- package/dist/instrumentations/session/index.js +1 -4
- package/dist/instrumentations/session/types.d.cts +5 -5
- package/dist/instrumentations/session/types.d.cts.map +1 -1
- package/dist/instrumentations/session/types.d.ts +5 -5
- package/dist/instrumentations/session/types.d.ts.map +1 -1
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs +10 -10
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js +10 -10
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs +15 -15
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js +15 -15
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.cts +1 -3
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.cts.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.ts +1 -3
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.ts.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs +0 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.d.cts.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.d.ts.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js +0 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js.map +1 -1
- package/dist/managers/MXLConfigManager/constants.cjs +2 -2
- package/dist/managers/MXLConfigManager/constants.cjs.map +1 -1
- package/dist/managers/MXLConfigManager/constants.js +2 -2
- package/dist/managers/MXLConfigManager/constants.js.map +1 -1
- package/dist/managers/MXLConfigManager/types.d.cts +8 -7
- package/dist/managers/MXLConfigManager/types.d.cts.map +1 -1
- package/dist/managers/MXLConfigManager/types.d.ts +8 -7
- package/dist/managers/MXLConfigManager/types.d.ts.map +1 -1
- package/dist/managers/MXLLimitManager/MXLLimitManager.cjs +20 -20
- package/dist/managers/MXLLimitManager/MXLLimitManager.cjs.map +1 -1
- package/dist/managers/MXLLimitManager/MXLLimitManager.js +20 -20
- package/dist/managers/MXLLimitManager/MXLLimitManager.js.map +1 -1
- package/dist/managers/MXLLimitManager/constants.cjs +20 -20
- package/dist/managers/MXLLimitManager/constants.cjs.map +1 -1
- package/dist/managers/MXLLimitManager/constants.js +20 -20
- package/dist/managers/MXLLimitManager/constants.js.map +1 -1
- package/dist/managers/MXLLimitManager/types.d.cts +8 -8
- package/dist/managers/MXLLimitManager/types.d.cts.map +1 -1
- package/dist/managers/MXLLimitManager/types.d.ts +8 -8
- package/dist/managers/MXLLimitManager/types.d.ts.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.cjs +19 -19
- package/dist/managers/MXLLogManager/MXLLogManager.cjs.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.d.cts +2 -2
- package/dist/managers/MXLLogManager/MXLLogManager.d.cts.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.d.ts +2 -2
- package/dist/managers/MXLLogManager/MXLLogManager.d.ts.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.js +19 -19
- package/dist/managers/MXLLogManager/MXLLogManager.js.map +1 -1
- package/dist/managers/MXLLogManager/types.d.cts +2 -2
- package/dist/managers/MXLLogManager/types.d.ts +2 -2
- package/dist/managers/MXLPageManager/MXLPageManager.cjs +1 -3
- package/dist/managers/MXLPageManager/MXLPageManager.cjs.map +1 -1
- package/dist/managers/MXLPageManager/MXLPageManager.d.cts.map +1 -1
- package/dist/managers/MXLPageManager/MXLPageManager.d.ts.map +1 -1
- package/dist/managers/MXLPageManager/MXLPageManager.js +1 -3
- package/dist/managers/MXLPageManager/MXLPageManager.js.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs +0 -4
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.cts +0 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.cts.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.ts +0 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.ts.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js +0 -4
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/types.d.cts +0 -1
- package/dist/managers/MXLSDKFeaturesManager/types.d.cts.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/types.d.ts +0 -1
- package/dist/managers/MXLSDKFeaturesManager/types.d.ts.map +1 -1
- package/dist/managers/MXLTraceManager/MXLExtendedSpan.cjs.map +1 -1
- package/dist/managers/MXLTraceManager/MXLExtendedSpan.js.map +1 -1
- package/dist/managers/MXLUserManager/MXLUserManager.cjs +14 -14
- package/dist/managers/MXLUserManager/MXLUserManager.cjs.map +1 -1
- package/dist/managers/MXLUserManager/MXLUserManager.js +14 -14
- package/dist/managers/MXLUserManager/MXLUserManager.js.map +1 -1
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs +574 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts +142 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts +142 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js +572 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/constants.cjs +55 -0
- package/dist/managers/MXLUserSessionManager/constants.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/constants.d.cts +31 -0
- package/dist/managers/MXLUserSessionManager/constants.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/constants.d.ts +31 -0
- package/dist/managers/MXLUserSessionManager/constants.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/constants.js +37 -0
- package/dist/managers/MXLUserSessionManager/constants.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/index.cjs +6 -0
- package/dist/managers/MXLUserSessionManager/index.d.cts +4 -0
- package/dist/managers/MXLUserSessionManager/index.d.ts +4 -0
- package/dist/managers/MXLUserSessionManager/index.js +3 -0
- package/dist/managers/MXLUserSessionManager/types.d.cts +84 -0
- package/dist/managers/MXLUserSessionManager/types.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/types.d.ts +84 -0
- package/dist/managers/MXLUserSessionManager/types.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.cjs +25 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.d.cts +40 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.d.ts +40 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.js +22 -0
- package/dist/managers/MXLUserSessionManager/utils/activity.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/index.cjs +11 -0
- package/dist/managers/MXLUserSessionManager/utils/index.d.cts +3 -0
- package/dist/managers/MXLUserSessionManager/utils/index.d.ts +3 -0
- package/dist/managers/MXLUserSessionManager/utils/index.js +3 -0
- package/dist/managers/MXLUserSessionManager/utils/state.cjs +78 -0
- package/dist/managers/MXLUserSessionManager/utils/state.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/state.d.cts +39 -0
- package/dist/managers/MXLUserSessionManager/utils/state.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/state.d.ts +39 -0
- package/dist/managers/MXLUserSessionManager/utils/state.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/state.js +73 -0
- package/dist/managers/MXLUserSessionManager/utils/state.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs +132 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.cts +33 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.cts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.ts +33 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.ts.map +1 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.js +127 -0
- package/dist/managers/MXLUserSessionManager/utils/tabTracking.js.map +1 -0
- package/dist/managers/index.cjs +5 -2
- package/dist/managers/index.d.cts +4 -3
- package/dist/managers/index.d.ts +4 -3
- package/dist/managers/index.js +3 -2
- package/dist/mxl-web-sdk.js +1 -23
- package/dist/mxl-web-sdk.js.map +1 -1
- package/dist/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.js.map +1 -1
- package/dist/processors/BrowserSpanProcessor/BrowserSpanProcessor.cjs.map +1 -1
- package/dist/processors/BrowserSpanProcessor/BrowserSpanProcessor.js.map +1 -1
- package/dist/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.cjs.map +1 -1
- package/dist/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.js.map +1 -1
- package/dist/processors/LogRecordScrubProcessor/types.d.cts +2 -2
- package/dist/processors/LogRecordScrubProcessor/types.d.cts.map +1 -1
- package/dist/processors/LogRecordScrubProcessor/types.d.ts +2 -2
- package/dist/processors/LogRecordScrubProcessor/types.d.ts.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.js.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/types.d.cts +2 -2
- package/dist/processors/MXLLogRecordProcessor/types.d.cts.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/types.d.ts +2 -2
- package/dist/processors/MXLLogRecordProcessor/types.d.ts.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.cjs.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.js.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/types.cjs.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/types.js.map +1 -1
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.cjs +74 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.cjs.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.cts +28 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.cts.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.ts +28 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.ts.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.js +72 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.js.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.cjs +3 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.d.cts +3 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.d.ts +3 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.js +2 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.cts +15 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.cts.map +1 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.ts +15 -0
- package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.ts.map +1 -0
- package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.js.map +1 -1
- package/dist/processors/PageSpanProcessor/PageSpanProcessor.cjs.map +1 -1
- package/dist/processors/PageSpanProcessor/PageSpanProcessor.js.map +1 -1
- package/dist/processors/SpanScrubProcessor/SpanScrubProcessor.cjs.map +1 -1
- package/dist/processors/SpanScrubProcessor/SpanScrubProcessor.js.map +1 -1
- package/dist/processors/UserLogRecordProcessor/UserLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/UserLogRecordProcessor/UserLogRecordProcessor.js.map +1 -1
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs +34 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts +16 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts +16 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js +32 -0
- package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/index.cjs +3 -0
- package/dist/processors/UserSessionLogRecordProcessor/index.d.cts +3 -0
- package/dist/processors/UserSessionLogRecordProcessor/index.d.ts +3 -0
- package/dist/processors/UserSessionLogRecordProcessor/index.js +2 -0
- package/dist/processors/UserSessionLogRecordProcessor/types.d.cts +8 -0
- package/dist/processors/UserSessionLogRecordProcessor/types.d.cts.map +1 -0
- package/dist/processors/UserSessionLogRecordProcessor/types.d.ts +8 -0
- package/dist/processors/UserSessionLogRecordProcessor/types.d.ts.map +1 -0
- package/dist/processors/UserSpanProcessor/UserSpanProcessor.cjs.map +1 -1
- package/dist/processors/UserSpanProcessor/UserSpanProcessor.js.map +1 -1
- package/dist/processors/index.cjs +4 -4
- package/dist/processors/index.d.cts +3 -3
- package/dist/processors/index.d.ts +3 -3
- package/dist/processors/index.js +3 -3
- package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.cjs.map +1 -1
- package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.js.map +1 -1
- package/dist/resources/appInstanceId.cjs +4 -4
- package/dist/resources/appInstanceId.cjs.map +1 -1
- package/dist/resources/appInstanceId.js +4 -4
- package/dist/resources/appInstanceId.js.map +1 -1
- package/dist/resources/constants/index.cjs +1 -1
- package/dist/resources/constants/index.cjs.map +1 -1
- package/dist/resources/constants/index.d.cts +1 -1
- package/dist/resources/constants/index.d.ts +1 -1
- package/dist/resources/constants/index.js +1 -1
- package/dist/resources/constants/index.js.map +1 -1
- package/dist/resources/webSdkResource.cjs +15 -19
- package/dist/resources/webSdkResource.cjs.map +1 -1
- package/dist/resources/webSdkResource.d.cts.map +1 -1
- package/dist/resources/webSdkResource.d.ts.map +1 -1
- package/dist/resources/webSdkResource.js +15 -19
- package/dist/resources/webSdkResource.js.map +1 -1
- package/dist/sdk/defaultAttributeScrubbers.cjs +8 -8
- package/dist/sdk/defaultAttributeScrubbers.cjs.map +1 -1
- package/dist/sdk/defaultAttributeScrubbers.js +8 -8
- package/dist/sdk/defaultAttributeScrubbers.js.map +1 -1
- package/dist/sdk/index.d.cts +3 -2
- package/dist/sdk/index.d.ts +3 -2
- package/dist/sdk/initSDK.cjs +137 -98
- package/dist/sdk/initSDK.cjs.map +1 -1
- package/dist/sdk/initSDK.d.cts +4 -2
- package/dist/sdk/initSDK.d.cts.map +1 -1
- package/dist/sdk/initSDK.d.ts +4 -2
- package/dist/sdk/initSDK.d.ts.map +1 -1
- package/dist/sdk/initSDK.js +137 -98
- package/dist/sdk/initSDK.js.map +1 -1
- package/dist/sdk/registry.cjs +1 -3
- package/dist/sdk/registry.cjs.map +1 -1
- package/dist/sdk/registry.d.cts.map +1 -1
- package/dist/sdk/registry.d.ts.map +1 -1
- package/dist/sdk/registry.js +1 -3
- package/dist/sdk/registry.js.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.cjs +9 -5
- package/dist/sdk/setupDefaultInstrumentations.cjs.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.d.cts +5 -2
- package/dist/sdk/setupDefaultInstrumentations.d.cts.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.d.ts +5 -2
- package/dist/sdk/setupDefaultInstrumentations.d.ts.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.js +9 -5
- package/dist/sdk/setupDefaultInstrumentations.js.map +1 -1
- package/dist/sdk/types.d.cts +68 -56
- package/dist/sdk/types.d.cts.map +1 -1
- package/dist/sdk/types.d.ts +69 -57
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/utils.cjs +1 -1
- package/dist/sdk/utils.cjs.map +1 -1
- package/dist/sdk/utils.d.cts.map +1 -1
- package/dist/sdk/utils.d.ts.map +1 -1
- package/dist/sdk/utils.js +1 -1
- package/dist/sdk/utils.js.map +1 -1
- package/dist/transport/FetchTransport/FetchTransport.cjs +13 -13
- package/dist/transport/FetchTransport/FetchTransport.cjs.map +1 -1
- package/dist/transport/FetchTransport/FetchTransport.js +13 -13
- package/dist/transport/FetchTransport/FetchTransport.js.map +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.cjs +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.cjs.map +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.js +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.js.map +1 -1
- package/dist/utils/NamespacedStorage/NamespacedStorage.cjs +69 -24
- package/dist/utils/NamespacedStorage/NamespacedStorage.cjs.map +1 -1
- package/dist/utils/NamespacedStorage/NamespacedStorage.d.cts +27 -13
- package/dist/utils/NamespacedStorage/NamespacedStorage.d.cts.map +1 -1
- package/dist/utils/NamespacedStorage/NamespacedStorage.d.ts +27 -13
- package/dist/utils/NamespacedStorage/NamespacedStorage.d.ts.map +1 -1
- package/dist/utils/NamespacedStorage/NamespacedStorage.js +68 -24
- package/dist/utils/NamespacedStorage/NamespacedStorage.js.map +1 -1
- package/dist/utils/PerformanceManager/OTelPerformanceManager.cjs.map +1 -1
- package/dist/utils/PerformanceManager/OTelPerformanceManager.js.map +1 -1
- package/dist/utils/clampNumber.cjs +23 -0
- package/dist/utils/clampNumber.cjs.map +1 -0
- package/dist/utils/clampNumber.d.cts +24 -0
- package/dist/utils/clampNumber.d.cts.map +1 -0
- package/dist/utils/clampNumber.d.ts +24 -0
- package/dist/utils/clampNumber.d.ts.map +1 -0
- package/dist/utils/clampNumber.js +22 -0
- package/dist/utils/clampNumber.js.map +1 -0
- package/dist/utils/createSafeProxy/createSafeProxy.cjs +2 -2
- package/dist/utils/createSafeProxy/createSafeProxy.cjs.map +1 -1
- package/dist/utils/createSafeProxy/createSafeProxy.d.cts.map +1 -1
- package/dist/utils/createSafeProxy/createSafeProxy.d.ts.map +1 -1
- package/dist/utils/createSafeProxy/createSafeProxy.js +2 -2
- package/dist/utils/createSafeProxy/createSafeProxy.js.map +1 -1
- package/dist/utils/generateWebVitalID.cjs +1 -3
- package/dist/utils/generateWebVitalID.cjs.map +1 -1
- package/dist/utils/generateWebVitalID.js +1 -3
- package/dist/utils/generateWebVitalID.js.map +1 -1
- package/dist/utils/getIncrementedCount.cjs +2 -2
- package/dist/utils/getIncrementedCount.cjs.map +1 -1
- package/dist/utils/getIncrementedCount.js +2 -2
- package/dist/utils/getIncrementedCount.js.map +1 -1
- package/dist/utils/globalConfig.cjs.map +1 -1
- package/dist/utils/globalConfig.d.cts +2 -2
- package/dist/utils/globalConfig.d.cts.map +1 -1
- package/dist/utils/globalConfig.d.ts +2 -2
- package/dist/utils/globalConfig.d.ts.map +1 -1
- package/dist/utils/globalConfig.js.map +1 -1
- package/dist/utils/index.cjs +2 -2
- package/dist/utils/index.d.cts +3 -3
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.js +2 -2
- package/dist/utils/isDeviceIdEnabled.cjs.map +1 -1
- package/dist/utils/isDeviceIdEnabled.js.map +1 -1
- package/dist/utils/performanceObserver/performanceObserver.cjs +3 -3
- package/dist/utils/performanceObserver/performanceObserver.cjs.map +1 -1
- package/dist/utils/performanceObserver/performanceObserver.js +3 -3
- package/dist/utils/performanceObserver/performanceObserver.js.map +1 -1
- package/dist/utils/throttle.cjs +13 -9
- package/dist/utils/throttle.cjs.map +1 -1
- package/dist/utils/throttle.d.cts +6 -3
- package/dist/utils/throttle.d.cts.map +1 -1
- package/dist/utils/throttle.d.ts +6 -3
- package/dist/utils/throttle.d.ts.map +1 -1
- package/dist/utils/throttle.js +13 -9
- package/dist/utils/throttle.js.map +1 -1
- package/package.json +56 -56
- package/dist/api-sessions/api/SessionAPI/types.d.cts +0 -8
- package/dist/api-sessions/api/SessionAPI/types.d.cts.map +0 -1
- package/dist/api-sessions/api/SessionAPI/types.d.ts +0 -8
- package/dist/api-sessions/api/SessionAPI/types.d.ts.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs +0 -31
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.cts +0 -24
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.cts.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.ts +0 -24
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.ts.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js +0 -30
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js.map +0 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/index.cjs +0 -3
- package/dist/api-sessions/manager/NoOpSpanSessionManager/index.d.cts +0 -2
- package/dist/api-sessions/manager/NoOpSpanSessionManager/index.d.ts +0 -2
- package/dist/api-sessions/manager/NoOpSpanSessionManager/index.js +0 -2
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs +0 -55
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs.map +0 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.cts +0 -27
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.cts.map +0 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts +0 -27
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts.map +0 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js +0 -55
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js.map +0 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/index.cjs +0 -3
- package/dist/api-sessions/manager/ProxySpanSessionManager/index.d.cts +0 -2
- package/dist/api-sessions/manager/ProxySpanSessionManager/index.d.ts +0 -2
- package/dist/api-sessions/manager/ProxySpanSessionManager/index.js +0 -2
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs +0 -27
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.cts +0 -15
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.ts +0 -15
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js +0 -25
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.d.cts +0 -2
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.d.ts +0 -2
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.js +0 -2
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.cts +0 -9
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.ts +0 -9
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/fetch/index.cjs +0 -3
- package/dist/instrumentations/fetch/index.d.cts +0 -3
- package/dist/instrumentations/fetch/index.d.ts +0 -3
- package/dist/instrumentations/fetch/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs +0 -60
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.cts +0 -24
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.ts +0 -24
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js +0 -59
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.cjs +0 -19
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.cts +0 -10
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.ts +0 -10
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.js +0 -16
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.d.cts +0 -3
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.d.ts +0 -3
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.cts +0 -6
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.ts +0 -6
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs +0 -24
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.cts +0 -14
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.ts +0 -14
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js +0 -23
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.d.cts +0 -3
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.d.ts +0 -3
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.cts +0 -6
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.ts +0 -6
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs +0 -55
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.cts +0 -22
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.ts +0 -22
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js +0 -54
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.cjs +0 -7
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.cts +0 -5
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.ts +0 -5
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.js +0 -6
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.d.cts +0 -3
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.d.ts +0 -3
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.cjs +0 -0
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.cts +0 -6
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.ts +0 -6
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.js +0 -0
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs +0 -38
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.cts +0 -17
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.ts +0 -17
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js +0 -37
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.d.cts +0 -3
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.d.ts +0 -3
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.js +0 -2
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.cjs +0 -0
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.cts +0 -10
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.ts +0 -10
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.js +0 -0
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs +0 -27
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.cts +0 -15
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.cts.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.ts +0 -15
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.ts.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js +0 -25
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.cjs +0 -3
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.d.cts +0 -2
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.d.ts +0 -2
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.js +0 -2
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.cjs +0 -0
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.cts +0 -9
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.cts.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.ts +0 -9
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.ts.map +0 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.js +0 -0
- package/dist/instrumentations/xhr/index.cjs +0 -3
- package/dist/instrumentations/xhr/index.d.cts +0 -3
- package/dist/instrumentations/xhr/index.d.ts +0 -3
- package/dist/instrumentations/xhr/index.js +0 -2
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs +0 -350
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs.map +0 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts +0 -72
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts +0 -72
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js +0 -348
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js.map +0 -1
- package/dist/managers/MXLSpanSessionManager/constants.cjs +0 -11
- package/dist/managers/MXLSpanSessionManager/constants.cjs.map +0 -1
- package/dist/managers/MXLSpanSessionManager/constants.d.cts +0 -7
- package/dist/managers/MXLSpanSessionManager/constants.d.cts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/constants.d.ts +0 -7
- package/dist/managers/MXLSpanSessionManager/constants.d.ts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/constants.js +0 -8
- package/dist/managers/MXLSpanSessionManager/constants.js.map +0 -1
- package/dist/managers/MXLSpanSessionManager/index.cjs +0 -3
- package/dist/managers/MXLSpanSessionManager/index.d.cts +0 -3
- package/dist/managers/MXLSpanSessionManager/index.d.ts +0 -3
- package/dist/managers/MXLSpanSessionManager/index.js +0 -2
- package/dist/managers/MXLSpanSessionManager/types.cjs +0 -0
- package/dist/managers/MXLSpanSessionManager/types.d.cts +0 -41
- package/dist/managers/MXLSpanSessionManager/types.d.cts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/types.d.ts +0 -41
- package/dist/managers/MXLSpanSessionManager/types.d.ts.map +0 -1
- package/dist/managers/MXLSpanSessionManager/types.js +0 -0
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs +0 -28
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.cts +0 -16
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.cts.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.ts +0 -16
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.ts.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.js +0 -26
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.js.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/index.cjs +0 -3
- package/dist/processors/IdentifiableSessionLogRecordProcessor/index.d.cts +0 -2
- package/dist/processors/IdentifiableSessionLogRecordProcessor/index.d.ts +0 -2
- package/dist/processors/IdentifiableSessionLogRecordProcessor/index.js +0 -2
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.cjs +0 -0
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.cts +0 -9
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.cts.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.ts +0 -9
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.ts.map +0 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/types.js +0 -0
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs +0 -95
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.cts +0 -34
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.cts.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.ts +0 -34
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.ts.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js +0 -93
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/index.cjs +0 -3
- package/dist/processors/MXLSessionBatchedSpanProcessor/index.d.cts +0 -2
- package/dist/processors/MXLSessionBatchedSpanProcessor/index.d.ts +0 -2
- package/dist/processors/MXLSessionBatchedSpanProcessor/index.js +0 -2
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.cjs +0 -0
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.cts +0 -19
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.cts.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.ts +0 -19
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.ts.map +0 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/types.js +0 -0
- package/dist/sdk/setupSessionRecorder.cjs +0 -87
- package/dist/sdk/setupSessionRecorder.cjs.map +0 -1
- package/dist/sdk/setupSessionRecorder.d.cts +0 -30
- package/dist/sdk/setupSessionRecorder.d.cts.map +0 -1
- package/dist/sdk/setupSessionRecorder.d.ts +0 -30
- package/dist/sdk/setupSessionRecorder.d.ts.map +0 -1
- package/dist/sdk/setupSessionRecorder.js +0 -83
- package/dist/sdk/setupSessionRecorder.js.map +0 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs +0 -116
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs.map +0 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.cts +0 -42
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.cts.map +0 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.ts +0 -42
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.ts.map +0 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.js +0 -114
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.js.map +0 -1
- package/dist/utils/MXLSpanStorage/index.cjs +0 -3
- package/dist/utils/MXLSpanStorage/index.d.cts +0 -2
- package/dist/utils/MXLSpanStorage/index.d.ts +0 -2
- package/dist/utils/MXLSpanStorage/index.js +0 -2
- package/dist/utils/MXLSpanStorage/types.cjs +0 -0
- package/dist/utils/MXLSpanStorage/types.d.cts +0 -2
- package/dist/utils/MXLSpanStorage/types.d.ts +0 -2
- package/dist/utils/MXLSpanStorage/types.js +0 -0
- /package/dist/{api-sessions/api/SessionAPI → instrumentations/replay/ReplayInstrumentation}/types.cjs +0 -0
- /package/dist/{api-sessions/api/SessionAPI → instrumentations/replay/ReplayInstrumentation}/types.js +0 -0
- /package/dist/{instrumentations/fetch/MXLFetchInstrumentation → managers/MXLUserSessionManager}/types.cjs +0 -0
- /package/dist/{instrumentations/fetch/MXLFetchInstrumentation → managers/MXLUserSessionManager}/types.js +0 -0
- /package/dist/{instrumentations/session/SpanSessionBrowserActivityInstrumentation → processors/MXLSessionPartBatchedSpanProcessor}/types.cjs +0 -0
- /package/dist/{instrumentations/session/SpanSessionBrowserActivityInstrumentation → processors/MXLSessionPartBatchedSpanProcessor}/types.js +0 -0
- /package/dist/{instrumentations/session/SpanSessionOnLoadInstrumentation → processors/UserSessionLogRecordProcessor}/types.cjs +0 -0
- /package/dist/{instrumentations/session/SpanSessionOnLoadInstrumentation → processors/UserSessionLogRecordProcessor}/types.js +0 -0
|
@@ -8,10 +8,9 @@ const require_instrumentations_exceptions_GlobalExceptionInstrumentation_GlobalE
|
|
|
8
8
|
const require_instrumentations_loaf_LoafInstrumentation_LoafInstrumentation = require("./loaf/LoafInstrumentation/LoafInstrumentation.cjs");
|
|
9
9
|
const require_instrumentations_navigation_NavigationInstrumentation_instance = require("./navigation/NavigationInstrumentation/instance.cjs");
|
|
10
10
|
const require_instrumentations_server_timing_ServerTimingInstrumentation_ServerTimingInstrumentation = require("./server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs");
|
|
11
|
-
const require_instrumentations_session_SpanSessionBrowserActivityInstrumentation_SpanSessionBrowserActivityInstrumentation = require("./session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs");
|
|
12
|
-
const require_instrumentations_session_SpanSessionVisibilityInstrumentation_SpanSessionVisibilityInstrumentation = require("./session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs");
|
|
13
11
|
const require_instrumentations_user_timing_UserTimingInstrumentation_UserTimingInstrumentation = require("./user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs");
|
|
14
12
|
const require_instrumentations_web_vitals_WebVitalsInstrumentation_WebVitalsInstrumentation = require("./web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs");
|
|
13
|
+
const require_instrumentations_replay_ReplayInstrumentation_ReplayInstrumentation = require("./replay/ReplayInstrumentation/ReplayInstrumentation.cjs");
|
|
15
14
|
exports.ClicksInstrumentation = require_instrumentations_clicks_ClicksInstrumentation_ClicksInstrumentation.ClicksInstrumentation;
|
|
16
15
|
exports.DocumentLoadInstrumentation = require_instrumentations_document_load_DocumentLoadInstrumentation_DocumentLoadInstrumentation.DocumentLoadInstrumentation;
|
|
17
16
|
exports.ElementTimingInstrumentation = require_instrumentations_element_timing_ElementTimingInstrumentation_ElementTimingInstrumentation.ElementTimingInstrumentation;
|
|
@@ -19,9 +18,8 @@ exports.EmptyRootInstrumentation = require_instrumentations_empty_root_EmptyRoot
|
|
|
19
18
|
exports.GlobalExceptionInstrumentation = require_instrumentations_exceptions_GlobalExceptionInstrumentation_GlobalExceptionInstrumentation.GlobalExceptionInstrumentation;
|
|
20
19
|
exports.LoafInstrumentation = require_instrumentations_loaf_LoafInstrumentation_LoafInstrumentation.LoafInstrumentation;
|
|
21
20
|
exports.MXLInstrumentationBase = require_instrumentations_MXLInstrumentationBase_MXLInstrumentationBase.MXLInstrumentationBase;
|
|
21
|
+
exports.ReplayInstrumentation = require_instrumentations_replay_ReplayInstrumentation_ReplayInstrumentation.ReplayInstrumentation;
|
|
22
22
|
exports.ServerTimingInstrumentation = require_instrumentations_server_timing_ServerTimingInstrumentation_ServerTimingInstrumentation.ServerTimingInstrumentation;
|
|
23
|
-
exports.SpanSessionBrowserActivityInstrumentation = require_instrumentations_session_SpanSessionBrowserActivityInstrumentation_SpanSessionBrowserActivityInstrumentation.SpanSessionBrowserActivityInstrumentation;
|
|
24
|
-
exports.SpanSessionVisibilityInstrumentation = require_instrumentations_session_SpanSessionVisibilityInstrumentation_SpanSessionVisibilityInstrumentation.SpanSessionVisibilityInstrumentation;
|
|
25
23
|
exports.UserTimingInstrumentation = require_instrumentations_user_timing_UserTimingInstrumentation_UserTimingInstrumentation.UserTimingInstrumentation;
|
|
26
24
|
exports.WebVitalsInstrumentation = require_instrumentations_web_vitals_WebVitalsInstrumentation_WebVitalsInstrumentation.WebVitalsInstrumentation;
|
|
27
25
|
exports.getNavigationInstrumentation = require_instrumentations_navigation_NavigationInstrumentation_instance.getNavigationInstrumentation;
|
|
@@ -14,13 +14,11 @@ import { LoafInstrumentation } from "./loaf/LoafInstrumentation/LoafInstrumentat
|
|
|
14
14
|
import { getNavigationInstrumentation } from "./navigation/NavigationInstrumentation/instance.cjs";
|
|
15
15
|
import { ServerTimingInstrumentationArgs } from "./server-timing/ServerTimingInstrumentation/types.cjs";
|
|
16
16
|
import { ServerTimingInstrumentation } from "./server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs";
|
|
17
|
-
import {
|
|
18
|
-
import { SpanSessionBrowserActivityInstrumentation } from "./session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs";
|
|
19
|
-
import { SpanSessionVisibilityInstrumentationArgs } from "./session/SpanSessionVisibilityInstrumentation/types.cjs";
|
|
20
|
-
import { SpanSessionVisibilityInstrumentation } from "./session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs";
|
|
21
|
-
import { SessionSpan } from "./session/types.cjs";
|
|
17
|
+
import { SessionPartSpan } from "./session/types.cjs";
|
|
22
18
|
import { UserTimingInstrumentationArgs } from "./user-timing/UserTimingInstrumentation/types.cjs";
|
|
23
19
|
import { UserTimingInstrumentation } from "./user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs";
|
|
24
20
|
import { WebVitalOnReport, WebVitalsInstrumentationArgs } from "./web-vitals/WebVitalsInstrumentation/types.cjs";
|
|
25
21
|
import { WebVitalsInstrumentation } from "./web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs";
|
|
26
|
-
|
|
22
|
+
import { ReplayInstrumentationArgs, ReplayUserConfig } from "./replay/ReplayInstrumentation/types.cjs";
|
|
23
|
+
import { ReplayInstrumentation } from "./replay/ReplayInstrumentation/ReplayInstrumentation.cjs";
|
|
24
|
+
export { ClicksInstrumentation, type ClicksInstrumentationArgs, DocumentLoadInstrumentation, type DocumentLoadInstrumentationConfig, ElementTimingInstrumentation, type ElementTimingInstrumentationArgs, EmptyRootInstrumentation, type EmptyRootInstrumentationArgs, GlobalExceptionInstrumentation, type GlobalExceptionInstrumentationArgs, LoafInstrumentation, type LoafInstrumentationArgs, MXLInstrumentationBase, ReplayInstrumentation, type ReplayInstrumentationArgs, type ReplayUserConfig, ServerTimingInstrumentation, type ServerTimingInstrumentationArgs, type SessionPartSpan, UserTimingInstrumentation, type UserTimingInstrumentationArgs, type WebVitalOnReport, WebVitalsInstrumentation, type WebVitalsInstrumentationArgs, getNavigationInstrumentation };
|
|
@@ -14,13 +14,11 @@ import { LoafInstrumentation } from "./loaf/LoafInstrumentation/LoafInstrumentat
|
|
|
14
14
|
import { getNavigationInstrumentation } from "./navigation/NavigationInstrumentation/instance.js";
|
|
15
15
|
import { ServerTimingInstrumentationArgs } from "./server-timing/ServerTimingInstrumentation/types.js";
|
|
16
16
|
import { ServerTimingInstrumentation } from "./server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js";
|
|
17
|
-
import {
|
|
18
|
-
import { SpanSessionBrowserActivityInstrumentation } from "./session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js";
|
|
19
|
-
import { SpanSessionVisibilityInstrumentationArgs } from "./session/SpanSessionVisibilityInstrumentation/types.js";
|
|
20
|
-
import { SpanSessionVisibilityInstrumentation } from "./session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js";
|
|
21
|
-
import { SessionSpan } from "./session/types.js";
|
|
17
|
+
import { SessionPartSpan } from "./session/types.js";
|
|
22
18
|
import { UserTimingInstrumentationArgs } from "./user-timing/UserTimingInstrumentation/types.js";
|
|
23
19
|
import { UserTimingInstrumentation } from "./user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js";
|
|
24
20
|
import { WebVitalOnReport, WebVitalsInstrumentationArgs } from "./web-vitals/WebVitalsInstrumentation/types.js";
|
|
25
21
|
import { WebVitalsInstrumentation } from "./web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js";
|
|
26
|
-
|
|
22
|
+
import { ReplayInstrumentationArgs, ReplayUserConfig } from "./replay/ReplayInstrumentation/types.js";
|
|
23
|
+
import { ReplayInstrumentation } from "./replay/ReplayInstrumentation/ReplayInstrumentation.js";
|
|
24
|
+
export { ClicksInstrumentation, type ClicksInstrumentationArgs, DocumentLoadInstrumentation, type DocumentLoadInstrumentationConfig, ElementTimingInstrumentation, type ElementTimingInstrumentationArgs, EmptyRootInstrumentation, type EmptyRootInstrumentationArgs, GlobalExceptionInstrumentation, type GlobalExceptionInstrumentationArgs, LoafInstrumentation, type LoafInstrumentationArgs, MXLInstrumentationBase, ReplayInstrumentation, type ReplayInstrumentationArgs, type ReplayUserConfig, ServerTimingInstrumentation, type ServerTimingInstrumentationArgs, type SessionPartSpan, UserTimingInstrumentation, type UserTimingInstrumentationArgs, type WebVitalOnReport, WebVitalsInstrumentation, type WebVitalsInstrumentationArgs, getNavigationInstrumentation };
|
|
@@ -7,8 +7,7 @@ import { GlobalExceptionInstrumentation } from "./exceptions/GlobalExceptionInst
|
|
|
7
7
|
import { LoafInstrumentation } from "./loaf/LoafInstrumentation/LoafInstrumentation.js";
|
|
8
8
|
import { getNavigationInstrumentation } from "./navigation/NavigationInstrumentation/instance.js";
|
|
9
9
|
import { ServerTimingInstrumentation } from "./server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js";
|
|
10
|
-
import { SpanSessionBrowserActivityInstrumentation } from "./session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js";
|
|
11
|
-
import { SpanSessionVisibilityInstrumentation } from "./session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js";
|
|
12
10
|
import { UserTimingInstrumentation } from "./user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js";
|
|
13
11
|
import { WebVitalsInstrumentation } from "./web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js";
|
|
14
|
-
|
|
12
|
+
import { ReplayInstrumentation } from "./replay/ReplayInstrumentation/ReplayInstrumentation.js";
|
|
13
|
+
export { ClicksInstrumentation, DocumentLoadInstrumentation, ElementTimingInstrumentation, EmptyRootInstrumentation, GlobalExceptionInstrumentation, LoafInstrumentation, MXLInstrumentationBase, ReplayInstrumentation, ServerTimingInstrumentation, UserTimingInstrumentation, WebVitalsInstrumentation, getNavigationInstrumentation };
|
|
@@ -22,11 +22,11 @@ var LoafInstrumentation = class extends require_instrumentations_MXLInstrumentat
|
|
|
22
22
|
_scriptSummaries = /* @__PURE__ */ new Map();
|
|
23
23
|
constructor({ diag, perf } = {}) {
|
|
24
24
|
super({
|
|
25
|
+
config: {},
|
|
26
|
+
diag,
|
|
25
27
|
instrumentationName: "LoafInstrumentation",
|
|
26
28
|
instrumentationVersion: "1.0.0",
|
|
27
|
-
|
|
28
|
-
perf,
|
|
29
|
-
config: {}
|
|
29
|
+
perf
|
|
30
30
|
});
|
|
31
31
|
if (this._config.enabled) this.enable();
|
|
32
32
|
}
|
|
@@ -49,16 +49,16 @@ var LoafInstrumentation = class extends require_instrumentations_MXLInstrumentat
|
|
|
49
49
|
_registerSessionEndListener() {
|
|
50
50
|
if (!this._isEnabled) return;
|
|
51
51
|
if (this._removeSessionEndListener) this._removeSessionEndListener();
|
|
52
|
-
this._removeSessionEndListener = this.
|
|
52
|
+
this._removeSessionEndListener = this.userSessionManager.addSessionPartEndedListener(() => {
|
|
53
53
|
try {
|
|
54
54
|
this._flushReport();
|
|
55
|
-
} catch (
|
|
56
|
-
this._diag.error("error flushing report",
|
|
55
|
+
} catch (error) {
|
|
56
|
+
this._diag.error("error flushing report", error);
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
super.
|
|
60
|
+
setUserSessionManager(userSessionManager) {
|
|
61
|
+
super.setUserSessionManager(userSessionManager);
|
|
62
62
|
this._registerSessionEndListener();
|
|
63
63
|
}
|
|
64
64
|
disable() {
|
|
@@ -95,13 +95,13 @@ var LoafInstrumentation = class extends require_instrumentations_MXLInstrumentat
|
|
|
95
95
|
existing.styleAndLayoutDuration += script.forcedStyleAndLayoutDuration;
|
|
96
96
|
existing.count++;
|
|
97
97
|
} else this._scriptSummaries.set(url, {
|
|
98
|
-
|
|
98
|
+
count: 1,
|
|
99
99
|
styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,
|
|
100
|
-
|
|
100
|
+
totalDuration: script.duration
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
-
} catch (
|
|
104
|
-
this._diag.error("error processing scripts for entry",
|
|
103
|
+
} catch (error) {
|
|
104
|
+
this._diag.error("error processing scripts for entry", error);
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
_flushReport() {
|
|
@@ -125,29 +125,29 @@ var LoafInstrumentation = class extends require_instrumentations_MXLInstrumentat
|
|
|
125
125
|
};
|
|
126
126
|
try {
|
|
127
127
|
this.logger.emit({
|
|
128
|
+
attributes: attrs,
|
|
128
129
|
eventName: require_instrumentations_loaf_LoafInstrumentation_constants.LOAF_EVENT_NAME,
|
|
129
|
-
severityNumber: _opentelemetry_api_logs.SeverityNumber.INFO
|
|
130
|
-
attributes: attrs
|
|
130
|
+
severityNumber: _opentelemetry_api_logs.SeverityNumber.INFO
|
|
131
131
|
});
|
|
132
|
-
} catch (
|
|
133
|
-
this._diag.error("error emitting loaf report",
|
|
132
|
+
} catch (error) {
|
|
133
|
+
this._diag.error("error emitting loaf report", error);
|
|
134
134
|
}
|
|
135
135
|
try {
|
|
136
136
|
if (this._scriptSummaries.size > 0) {
|
|
137
137
|
const scripts = [...this._scriptSummaries].sort((a, b) => b[1].totalDuration - a[1].totalDuration).slice(0, 250).map(([url, script]) => [url, {
|
|
138
|
-
|
|
138
|
+
count: script.count,
|
|
139
139
|
style_and_layout_duration: Math.round(script.styleAndLayoutDuration),
|
|
140
|
-
|
|
140
|
+
total_duration: Math.round(script.totalDuration)
|
|
141
141
|
}]);
|
|
142
142
|
this.logger.emit({
|
|
143
|
-
|
|
144
|
-
severityNumber: _opentelemetry_api_logs.SeverityNumber.INFO,
|
|
143
|
+
attributes: { [require_constants_attributes.KEY_MXL_TYPE]: "ux.loaf_scripts" },
|
|
145
144
|
body: JSON.stringify(Object.fromEntries(scripts)),
|
|
146
|
-
|
|
145
|
+
eventName: require_instrumentations_loaf_LoafInstrumentation_constants.LOAF_SCRIPTS_EVENT_NAME,
|
|
146
|
+
severityNumber: _opentelemetry_api_logs.SeverityNumber.INFO
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
|
-
} catch (
|
|
150
|
-
this._diag.error("error emitting loaf script summary",
|
|
149
|
+
} catch (error) {
|
|
150
|
+
this._diag.error("error emitting loaf script summary", error);
|
|
151
151
|
}
|
|
152
152
|
this._resetAccumulators();
|
|
153
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoafInstrumentation.cjs","names":["MXLInstrumentationBase","isEntryTypeSupported","createPerformanceObserver","MAX_SCRIPT_URL_LENGTH","KEY_MXL_TYPE","generateWebVitalID","ATTR_TBD_LOAF_TOTAL_DURATION","ATTR_TBD_LOAF_WORK_DURATION","ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION","ATTR_TBD_LOAF_COUNT","ATTR_TBD_LOAF_LONGEST_DURATION","ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST","LOAF_EVENT_NAME","SeverityNumber","LOAF_SCRIPTS_EVENT_NAME"],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"sourcesContent":["/* eslint-disable baseline-js/use-baseline */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Metric } from 'web-vitals';\nimport type { SpanSessionManager } from '../../../api-sessions';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport {\n createPerformanceObserver,\n isEntryTypeSupported,\n} from '../../../utils';\nimport { generateWebVitalID } from '../../../utils/generateWebVitalID';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport {\n ATTR_TBD_LOAF_COUNT,\n ATTR_TBD_LOAF_LONGEST_DURATION,\n ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST,\n ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION,\n ATTR_TBD_LOAF_TOTAL_DURATION,\n ATTR_TBD_LOAF_WORK_DURATION,\n BLOCKING_DURATION_GOOD_THRESHOLD,\n BLOCKING_DURATION_POOR_THRESHOLD,\n LOAF_EVENT_NAME,\n LOAF_SCRIPTS_EVENT_NAME,\n MAX_SCRIPT_ENTRIES,\n MAX_SCRIPT_URL_LENGTH,\n} from './constants';\nimport type { LoafInstrumentationArgs } from './types';\n\ntype ScriptSummaryValue = {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n};\n\ntype ScriptSummaries = Map<string, ScriptSummaryValue>;\n\nexport class LoafInstrumentation extends MXLInstrumentationBase {\n private _observer: PerformanceObserver | null = null;\n private _isFirstEntry = true;\n private _removeSessionEndListener: (() => void) | null = null;\n private _isEnabled = false;\n\n private _totalDuration = 0;\n private _workDuration = 0;\n private _styleLayoutDuration = 0;\n private _count = 0;\n private _longestDuration = 0;\n private _longestDurationExcludingFirst = 0;\n private _totalBlockingDuration = 0;\n private _scriptSummaries: ScriptSummaries = new Map();\n\n public constructor({ diag, perf }: LoafInstrumentationArgs = {}) {\n super({\n instrumentationName: 'LoafInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n perf,\n config: {},\n });\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public enable(): void {\n if (this._isEnabled) {\n return;\n }\n\n if (!isEntryTypeSupported('long-animation-frame')) {\n this._diag.debug('long-animation-frame not supported, skipping');\n return;\n }\n\n this._isEnabled = true;\n\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer =\n createPerformanceObserver<PerformanceLongAnimationFrameTiming>(\n 'long-animation-frame',\n (entry) => this._processEntry(entry),\n { diag: this._diag },\n );\n\n if (!this._observer) {\n this._isEnabled = false;\n this._diag.error('failed to enable');\n return;\n }\n\n this._registerSessionEndListener();\n }\n\n private _registerSessionEndListener(): void {\n if (!this._isEnabled) {\n return;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n }\n\n this._removeSessionEndListener =\n this.sessionManager.addSessionEndedListener(() => {\n try {\n this._flushReport();\n } catch (e) {\n this._diag.error('error flushing report', e);\n }\n });\n }\n\n public override setSessionManager(sessionManager: SpanSessionManager): void {\n super.setSessionManager(sessionManager);\n this._registerSessionEndListener();\n }\n\n public disable(): void {\n this._isEnabled = false;\n this._resetAccumulators();\n\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n this._removeSessionEndListener = null;\n }\n }\n\n private _processEntry(entry: PerformanceLongAnimationFrameTiming): void {\n if (!this._isEnabled) {\n return;\n }\n\n this._count++;\n this._totalDuration += entry.duration;\n this._workDuration += entry.renderStart\n ? entry.renderStart - entry.startTime\n : entry.duration;\n\n if (entry.styleAndLayoutStart) {\n this._styleLayoutDuration += Math.max(\n 0,\n entry.startTime + entry.duration - entry.styleAndLayoutStart,\n );\n }\n\n this._longestDuration = Math.max(this._longestDuration, entry.duration);\n\n if (this._isFirstEntry && this._count === 1) {\n this._isFirstEntry = false;\n } else {\n this._longestDurationExcludingFirst = Math.max(\n this._longestDurationExcludingFirst,\n entry.duration,\n );\n if (entry.firstUIEventTimestamp === 0) {\n this._totalBlockingDuration += entry.blockingDuration;\n }\n }\n\n try {\n for (const script of entry.scripts) {\n // sourceURL is an empty string for inline scripts\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_SCRIPT_URL_LENGTH)}...`;\n }\n\n const existing = this._scriptSummaries.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n this._scriptSummaries.set(url, {\n totalDuration: script.duration,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n count: 1,\n });\n }\n }\n } catch (e) {\n this._diag.error('error processing scripts for entry', e);\n }\n }\n\n private _flushReport(): void {\n if (this._count === 0) {\n return;\n }\n\n // use web-vitals Metric type for rating\n let rating: Metric['rating'];\n if (this._totalBlockingDuration <= BLOCKING_DURATION_GOOD_THRESHOLD) {\n rating = 'good';\n } else if (\n this._totalBlockingDuration <= BLOCKING_DURATION_POOR_THRESHOLD\n ) {\n rating = 'needs-improvement';\n } else {\n rating = 'poor';\n }\n\n const attrs: Record<string, string | number> = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n ['mxl.web_vital.id']: generateWebVitalID(),\n ['mxl.web_vital.name']: 'TBD',\n ['mxl.web_vital.value']: Math.round(this._totalBlockingDuration),\n ['mxl.web_vital.rating']: rating,\n [ATTR_TBD_LOAF_TOTAL_DURATION]: Math.round(this._totalDuration),\n [ATTR_TBD_LOAF_WORK_DURATION]: Math.round(this._workDuration),\n [ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION]: Math.round(\n this._styleLayoutDuration,\n ),\n [ATTR_TBD_LOAF_COUNT]: this._count,\n [ATTR_TBD_LOAF_LONGEST_DURATION]: Math.round(this._longestDuration),\n [ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST]: Math.round(\n this._longestDurationExcludingFirst,\n ),\n };\n\n try {\n this.logger.emit({\n eventName: LOAF_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n attributes: attrs,\n });\n } catch (e) {\n this._diag.error('error emitting loaf report', e);\n }\n\n try {\n if (this._scriptSummaries.size > 0) {\n const scripts = [...this._scriptSummaries]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n total_duration: Math.round(script.totalDuration),\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n count: script.count,\n },\n ]);\n\n this.logger.emit({\n eventName: LOAF_SCRIPTS_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n body: JSON.stringify(Object.fromEntries(scripts)),\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.LoafScripts,\n },\n });\n }\n } catch (e) {\n this._diag.error('error emitting loaf script summary', e);\n }\n\n this._resetAccumulators();\n }\n\n private _resetAccumulators(): void {\n this._totalDuration = 0;\n this._workDuration = 0;\n this._styleLayoutDuration = 0;\n this._count = 0;\n this._longestDuration = 0;\n this._longestDurationExcludingFirst = 0;\n this._totalBlockingDuration = 0;\n this._scriptSummaries = new Map();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LoafInstrumentation.cjs","names":["MXLInstrumentationBase","isEntryTypeSupported","createPerformanceObserver","MAX_SCRIPT_URL_LENGTH","KEY_MXL_TYPE","generateWebVitalID","ATTR_TBD_LOAF_TOTAL_DURATION","ATTR_TBD_LOAF_WORK_DURATION","ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION","ATTR_TBD_LOAF_COUNT","ATTR_TBD_LOAF_LONGEST_DURATION","ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST","LOAF_EVENT_NAME","SeverityNumber","LOAF_SCRIPTS_EVENT_NAME"],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"sourcesContent":["/* eslint-disable baseline-js/use-baseline */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Metric } from 'web-vitals';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport type { UserSessionManagerInternal } from '../../../managers/MXLUserSessionManager';\nimport {\n createPerformanceObserver,\n isEntryTypeSupported,\n} from '../../../utils';\nimport { generateWebVitalID } from '../../../utils/generateWebVitalID';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport {\n ATTR_TBD_LOAF_COUNT,\n ATTR_TBD_LOAF_LONGEST_DURATION,\n ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST,\n ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION,\n ATTR_TBD_LOAF_TOTAL_DURATION,\n ATTR_TBD_LOAF_WORK_DURATION,\n BLOCKING_DURATION_GOOD_THRESHOLD,\n BLOCKING_DURATION_POOR_THRESHOLD,\n LOAF_EVENT_NAME,\n LOAF_SCRIPTS_EVENT_NAME,\n MAX_SCRIPT_ENTRIES,\n MAX_SCRIPT_URL_LENGTH,\n} from './constants';\nimport type { LoafInstrumentationArgs } from './types';\n\ninterface ScriptSummaryValue {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n}\n\ntype ScriptSummaries = Map<string, ScriptSummaryValue>;\n\nexport class LoafInstrumentation extends MXLInstrumentationBase {\n private _observer: PerformanceObserver | null = null;\n private _isFirstEntry = true;\n private _removeSessionEndListener: (() => void) | null = null;\n private _isEnabled = false;\n\n private _totalDuration = 0;\n private _workDuration = 0;\n private _styleLayoutDuration = 0;\n private _count = 0;\n private _longestDuration = 0;\n private _longestDurationExcludingFirst = 0;\n private _totalBlockingDuration = 0;\n private _scriptSummaries: ScriptSummaries = new Map();\n\n public constructor({ diag, perf }: LoafInstrumentationArgs = {}) {\n super({\n config: {},\n diag,\n instrumentationName: 'LoafInstrumentation',\n instrumentationVersion: '1.0.0',\n perf,\n });\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public enable(): void {\n if (this._isEnabled) {\n return;\n }\n\n if (!isEntryTypeSupported('long-animation-frame')) {\n this._diag.debug('long-animation-frame not supported, skipping');\n return;\n }\n\n this._isEnabled = true;\n\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer =\n createPerformanceObserver<PerformanceLongAnimationFrameTiming>(\n 'long-animation-frame',\n (entry) => this._processEntry(entry),\n { diag: this._diag },\n );\n\n if (!this._observer) {\n this._isEnabled = false;\n this._diag.error('failed to enable');\n return;\n }\n\n this._registerSessionEndListener();\n }\n\n private _registerSessionEndListener(): void {\n if (!this._isEnabled) {\n return;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n }\n\n this._removeSessionEndListener =\n this.userSessionManager.addSessionPartEndedListener(() => {\n try {\n this._flushReport();\n } catch (error) {\n this._diag.error('error flushing report', error);\n }\n });\n }\n\n public override setUserSessionManager(\n userSessionManager: UserSessionManagerInternal,\n ): void {\n super.setUserSessionManager(userSessionManager);\n this._registerSessionEndListener();\n }\n\n public disable(): void {\n this._isEnabled = false;\n this._resetAccumulators();\n\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n this._removeSessionEndListener = null;\n }\n }\n\n private _processEntry(entry: PerformanceLongAnimationFrameTiming): void {\n if (!this._isEnabled) {\n return;\n }\n\n this._count++;\n this._totalDuration += entry.duration;\n this._workDuration += entry.renderStart\n ? entry.renderStart - entry.startTime\n : entry.duration;\n\n if (entry.styleAndLayoutStart) {\n this._styleLayoutDuration += Math.max(\n 0,\n entry.startTime + entry.duration - entry.styleAndLayoutStart,\n );\n }\n\n this._longestDuration = Math.max(this._longestDuration, entry.duration);\n\n if (this._isFirstEntry && this._count === 1) {\n this._isFirstEntry = false;\n } else {\n this._longestDurationExcludingFirst = Math.max(\n this._longestDurationExcludingFirst,\n entry.duration,\n );\n if (entry.firstUIEventTimestamp === 0) {\n this._totalBlockingDuration += entry.blockingDuration;\n }\n }\n\n try {\n for (const script of entry.scripts) {\n // SourceURL is an empty string for inline scripts\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_SCRIPT_URL_LENGTH)}...`;\n }\n\n const existing = this._scriptSummaries.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n this._scriptSummaries.set(url, {\n count: 1,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n totalDuration: script.duration,\n });\n }\n }\n } catch (error) {\n this._diag.error('error processing scripts for entry', error);\n }\n }\n\n private _flushReport(): void {\n if (this._count === 0) {\n return;\n }\n\n // Use web-vitals Metric type for rating\n let rating: Metric['rating'];\n if (this._totalBlockingDuration <= BLOCKING_DURATION_GOOD_THRESHOLD) {\n rating = 'good';\n } else if (\n this._totalBlockingDuration <= BLOCKING_DURATION_POOR_THRESHOLD\n ) {\n rating = 'needs-improvement';\n } else {\n rating = 'poor';\n }\n\n const attrs: Record<string, string | number> = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n ['mxl.web_vital.id']: generateWebVitalID(),\n ['mxl.web_vital.name']: 'TBD',\n ['mxl.web_vital.value']: Math.round(this._totalBlockingDuration),\n ['mxl.web_vital.rating']: rating,\n [ATTR_TBD_LOAF_TOTAL_DURATION]: Math.round(this._totalDuration),\n [ATTR_TBD_LOAF_WORK_DURATION]: Math.round(this._workDuration),\n [ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION]: Math.round(\n this._styleLayoutDuration,\n ),\n [ATTR_TBD_LOAF_COUNT]: this._count,\n [ATTR_TBD_LOAF_LONGEST_DURATION]: Math.round(this._longestDuration),\n [ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST]: Math.round(\n this._longestDurationExcludingFirst,\n ),\n };\n\n try {\n this.logger.emit({\n attributes: attrs,\n eventName: LOAF_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n });\n } catch (error) {\n this._diag.error('error emitting loaf report', error);\n }\n\n try {\n if (this._scriptSummaries.size > 0) {\n const scripts = [...this._scriptSummaries]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n count: script.count,\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n total_duration: Math.round(script.totalDuration),\n },\n ]);\n\n this.logger.emit({\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.LoafScripts,\n },\n body: JSON.stringify(Object.fromEntries(scripts)),\n eventName: LOAF_SCRIPTS_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n });\n }\n } catch (error) {\n this._diag.error('error emitting loaf script summary', error);\n }\n\n this._resetAccumulators();\n }\n\n private _resetAccumulators(): void {\n this._totalDuration = 0;\n this._workDuration = 0;\n this._styleLayoutDuration = 0;\n this._count = 0;\n this._longestDuration = 0;\n this._longestDurationExcludingFirst = 0;\n this._totalBlockingDuration = 0;\n this._scriptSummaries = new Map();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { MXLInstrumentationBase } from "../../MXLInstrumentationBase/MXLInstrumentationBase.cjs";
|
|
2
2
|
import { LoafInstrumentationArgs } from "./types.cjs";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { UserSessionManagerInternal } from "../../../managers/MXLUserSessionManager/types.cjs";
|
|
5
4
|
//#region src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts
|
|
6
5
|
declare class LoafInstrumentation extends MXLInstrumentationBase {
|
|
7
6
|
private _observer;
|
|
@@ -22,7 +21,7 @@ declare class LoafInstrumentation extends MXLInstrumentationBase {
|
|
|
22
21
|
}?: LoafInstrumentationArgs);
|
|
23
22
|
enable(): void;
|
|
24
23
|
private _registerSessionEndListener;
|
|
25
|
-
|
|
24
|
+
setUserSessionManager(userSessionManager: UserSessionManagerInternal): void;
|
|
26
25
|
disable(): void;
|
|
27
26
|
private _processEntry;
|
|
28
27
|
private _flushReport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoafInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoafInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"mappings":";;;;cAmCa,mBAAA,SAA4B,sBAAA;EAAA,QAC/B,SAAA;EAAA,QACA,aAAA;EAAA,QACA,yBAAA;EAAA,QACA,UAAA;EAAA,QAEA,cAAA;EAAA,QACA,aAAA;EAAA,QACA,oBAAA;EAAA,QACA,MAAA;EAAA,QACA,gBAAA;EAAA,QACA,8BAAA;EAAA,QACA,sBAAA;EAAA,QACA,gBAAA;;IAEa,IAAA;IAAM;EAAA,IAAQ,uBAAA;EAc5B,MAAA,CAAA;EAAA,QAgCC,2BAAA;EAmBQ,qBAAA,CACd,kBAAA,EAAoB,0BAAA;EAMf,OAAA,CAAA;EAAA,QAeC,aAAA;EAAA,QA2DA,YAAA;EAAA,QA6EA,kBAAA;AAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { MXLInstrumentationBase } from "../../MXLInstrumentationBase/MXLInstrumentationBase.js";
|
|
2
2
|
import { LoafInstrumentationArgs } from "./types.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { UserSessionManagerInternal } from "../../../managers/MXLUserSessionManager/types.js";
|
|
5
4
|
//#region src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts
|
|
6
5
|
declare class LoafInstrumentation extends MXLInstrumentationBase {
|
|
7
6
|
private _observer;
|
|
@@ -22,7 +21,7 @@ declare class LoafInstrumentation extends MXLInstrumentationBase {
|
|
|
22
21
|
}?: LoafInstrumentationArgs);
|
|
23
22
|
enable(): void;
|
|
24
23
|
private _registerSessionEndListener;
|
|
25
|
-
|
|
24
|
+
setUserSessionManager(userSessionManager: UserSessionManagerInternal): void;
|
|
26
25
|
disable(): void;
|
|
27
26
|
private _processEntry;
|
|
28
27
|
private _flushReport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoafInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoafInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"mappings":";;;;cAmCa,mBAAA,SAA4B,sBAAA;EAAA,QAC/B,SAAA;EAAA,QACA,aAAA;EAAA,QACA,yBAAA;EAAA,QACA,UAAA;EAAA,QAEA,cAAA;EAAA,QACA,aAAA;EAAA,QACA,oBAAA;EAAA,QACA,MAAA;EAAA,QACA,gBAAA;EAAA,QACA,8BAAA;EAAA,QACA,sBAAA;EAAA,QACA,gBAAA;;IAEa,IAAA;IAAM;EAAA,IAAQ,uBAAA;EAc5B,MAAA,CAAA;EAAA,QAgCC,2BAAA;EAmBQ,qBAAA,CACd,kBAAA,EAAoB,0BAAA;EAMf,OAAA,CAAA;EAAA,QAeC,aAAA;EAAA,QA2DA,YAAA;EAAA,QA6EA,kBAAA;AAAA"}
|
|
@@ -20,11 +20,11 @@ var LoafInstrumentation = class extends MXLInstrumentationBase {
|
|
|
20
20
|
_scriptSummaries = /* @__PURE__ */ new Map();
|
|
21
21
|
constructor({ diag, perf } = {}) {
|
|
22
22
|
super({
|
|
23
|
+
config: {},
|
|
24
|
+
diag,
|
|
23
25
|
instrumentationName: "LoafInstrumentation",
|
|
24
26
|
instrumentationVersion: "1.0.0",
|
|
25
|
-
|
|
26
|
-
perf,
|
|
27
|
-
config: {}
|
|
27
|
+
perf
|
|
28
28
|
});
|
|
29
29
|
if (this._config.enabled) this.enable();
|
|
30
30
|
}
|
|
@@ -47,16 +47,16 @@ var LoafInstrumentation = class extends MXLInstrumentationBase {
|
|
|
47
47
|
_registerSessionEndListener() {
|
|
48
48
|
if (!this._isEnabled) return;
|
|
49
49
|
if (this._removeSessionEndListener) this._removeSessionEndListener();
|
|
50
|
-
this._removeSessionEndListener = this.
|
|
50
|
+
this._removeSessionEndListener = this.userSessionManager.addSessionPartEndedListener(() => {
|
|
51
51
|
try {
|
|
52
52
|
this._flushReport();
|
|
53
|
-
} catch (
|
|
54
|
-
this._diag.error("error flushing report",
|
|
53
|
+
} catch (error) {
|
|
54
|
+
this._diag.error("error flushing report", error);
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
super.
|
|
58
|
+
setUserSessionManager(userSessionManager) {
|
|
59
|
+
super.setUserSessionManager(userSessionManager);
|
|
60
60
|
this._registerSessionEndListener();
|
|
61
61
|
}
|
|
62
62
|
disable() {
|
|
@@ -93,13 +93,13 @@ var LoafInstrumentation = class extends MXLInstrumentationBase {
|
|
|
93
93
|
existing.styleAndLayoutDuration += script.forcedStyleAndLayoutDuration;
|
|
94
94
|
existing.count++;
|
|
95
95
|
} else this._scriptSummaries.set(url, {
|
|
96
|
-
|
|
96
|
+
count: 1,
|
|
97
97
|
styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,
|
|
98
|
-
|
|
98
|
+
totalDuration: script.duration
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
|
-
} catch (
|
|
102
|
-
this._diag.error("error processing scripts for entry",
|
|
101
|
+
} catch (error) {
|
|
102
|
+
this._diag.error("error processing scripts for entry", error);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
_flushReport() {
|
|
@@ -123,29 +123,29 @@ var LoafInstrumentation = class extends MXLInstrumentationBase {
|
|
|
123
123
|
};
|
|
124
124
|
try {
|
|
125
125
|
this.logger.emit({
|
|
126
|
+
attributes: attrs,
|
|
126
127
|
eventName: LOAF_EVENT_NAME,
|
|
127
|
-
severityNumber: SeverityNumber.INFO
|
|
128
|
-
attributes: attrs
|
|
128
|
+
severityNumber: SeverityNumber.INFO
|
|
129
129
|
});
|
|
130
|
-
} catch (
|
|
131
|
-
this._diag.error("error emitting loaf report",
|
|
130
|
+
} catch (error) {
|
|
131
|
+
this._diag.error("error emitting loaf report", error);
|
|
132
132
|
}
|
|
133
133
|
try {
|
|
134
134
|
if (this._scriptSummaries.size > 0) {
|
|
135
135
|
const scripts = [...this._scriptSummaries].sort((a, b) => b[1].totalDuration - a[1].totalDuration).slice(0, 250).map(([url, script]) => [url, {
|
|
136
|
-
|
|
136
|
+
count: script.count,
|
|
137
137
|
style_and_layout_duration: Math.round(script.styleAndLayoutDuration),
|
|
138
|
-
|
|
138
|
+
total_duration: Math.round(script.totalDuration)
|
|
139
139
|
}]);
|
|
140
140
|
this.logger.emit({
|
|
141
|
-
|
|
142
|
-
severityNumber: SeverityNumber.INFO,
|
|
141
|
+
attributes: { [KEY_MXL_TYPE]: "ux.loaf_scripts" },
|
|
143
142
|
body: JSON.stringify(Object.fromEntries(scripts)),
|
|
144
|
-
|
|
143
|
+
eventName: LOAF_SCRIPTS_EVENT_NAME,
|
|
144
|
+
severityNumber: SeverityNumber.INFO
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
|
-
} catch (
|
|
148
|
-
this._diag.error("error emitting loaf script summary",
|
|
147
|
+
} catch (error) {
|
|
148
|
+
this._diag.error("error emitting loaf script summary", error);
|
|
149
149
|
}
|
|
150
150
|
this._resetAccumulators();
|
|
151
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoafInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"sourcesContent":["/* eslint-disable baseline-js/use-baseline */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Metric } from 'web-vitals';\nimport type { SpanSessionManager } from '../../../api-sessions';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport {\n createPerformanceObserver,\n isEntryTypeSupported,\n} from '../../../utils';\nimport { generateWebVitalID } from '../../../utils/generateWebVitalID';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport {\n ATTR_TBD_LOAF_COUNT,\n ATTR_TBD_LOAF_LONGEST_DURATION,\n ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST,\n ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION,\n ATTR_TBD_LOAF_TOTAL_DURATION,\n ATTR_TBD_LOAF_WORK_DURATION,\n BLOCKING_DURATION_GOOD_THRESHOLD,\n BLOCKING_DURATION_POOR_THRESHOLD,\n LOAF_EVENT_NAME,\n LOAF_SCRIPTS_EVENT_NAME,\n MAX_SCRIPT_ENTRIES,\n MAX_SCRIPT_URL_LENGTH,\n} from './constants';\nimport type { LoafInstrumentationArgs } from './types';\n\ntype ScriptSummaryValue = {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n};\n\ntype ScriptSummaries = Map<string, ScriptSummaryValue>;\n\nexport class LoafInstrumentation extends MXLInstrumentationBase {\n private _observer: PerformanceObserver | null = null;\n private _isFirstEntry = true;\n private _removeSessionEndListener: (() => void) | null = null;\n private _isEnabled = false;\n\n private _totalDuration = 0;\n private _workDuration = 0;\n private _styleLayoutDuration = 0;\n private _count = 0;\n private _longestDuration = 0;\n private _longestDurationExcludingFirst = 0;\n private _totalBlockingDuration = 0;\n private _scriptSummaries: ScriptSummaries = new Map();\n\n public constructor({ diag, perf }: LoafInstrumentationArgs = {}) {\n super({\n instrumentationName: 'LoafInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n perf,\n config: {},\n });\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public enable(): void {\n if (this._isEnabled) {\n return;\n }\n\n if (!isEntryTypeSupported('long-animation-frame')) {\n this._diag.debug('long-animation-frame not supported, skipping');\n return;\n }\n\n this._isEnabled = true;\n\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer =\n createPerformanceObserver<PerformanceLongAnimationFrameTiming>(\n 'long-animation-frame',\n (entry) => this._processEntry(entry),\n { diag: this._diag },\n );\n\n if (!this._observer) {\n this._isEnabled = false;\n this._diag.error('failed to enable');\n return;\n }\n\n this._registerSessionEndListener();\n }\n\n private _registerSessionEndListener(): void {\n if (!this._isEnabled) {\n return;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n }\n\n this._removeSessionEndListener =\n this.sessionManager.addSessionEndedListener(() => {\n try {\n this._flushReport();\n } catch (e) {\n this._diag.error('error flushing report', e);\n }\n });\n }\n\n public override setSessionManager(sessionManager: SpanSessionManager): void {\n super.setSessionManager(sessionManager);\n this._registerSessionEndListener();\n }\n\n public disable(): void {\n this._isEnabled = false;\n this._resetAccumulators();\n\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n this._removeSessionEndListener = null;\n }\n }\n\n private _processEntry(entry: PerformanceLongAnimationFrameTiming): void {\n if (!this._isEnabled) {\n return;\n }\n\n this._count++;\n this._totalDuration += entry.duration;\n this._workDuration += entry.renderStart\n ? entry.renderStart - entry.startTime\n : entry.duration;\n\n if (entry.styleAndLayoutStart) {\n this._styleLayoutDuration += Math.max(\n 0,\n entry.startTime + entry.duration - entry.styleAndLayoutStart,\n );\n }\n\n this._longestDuration = Math.max(this._longestDuration, entry.duration);\n\n if (this._isFirstEntry && this._count === 1) {\n this._isFirstEntry = false;\n } else {\n this._longestDurationExcludingFirst = Math.max(\n this._longestDurationExcludingFirst,\n entry.duration,\n );\n if (entry.firstUIEventTimestamp === 0) {\n this._totalBlockingDuration += entry.blockingDuration;\n }\n }\n\n try {\n for (const script of entry.scripts) {\n // sourceURL is an empty string for inline scripts\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_SCRIPT_URL_LENGTH)}...`;\n }\n\n const existing = this._scriptSummaries.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n this._scriptSummaries.set(url, {\n totalDuration: script.duration,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n count: 1,\n });\n }\n }\n } catch (e) {\n this._diag.error('error processing scripts for entry', e);\n }\n }\n\n private _flushReport(): void {\n if (this._count === 0) {\n return;\n }\n\n // use web-vitals Metric type for rating\n let rating: Metric['rating'];\n if (this._totalBlockingDuration <= BLOCKING_DURATION_GOOD_THRESHOLD) {\n rating = 'good';\n } else if (\n this._totalBlockingDuration <= BLOCKING_DURATION_POOR_THRESHOLD\n ) {\n rating = 'needs-improvement';\n } else {\n rating = 'poor';\n }\n\n const attrs: Record<string, string | number> = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n ['mxl.web_vital.id']: generateWebVitalID(),\n ['mxl.web_vital.name']: 'TBD',\n ['mxl.web_vital.value']: Math.round(this._totalBlockingDuration),\n ['mxl.web_vital.rating']: rating,\n [ATTR_TBD_LOAF_TOTAL_DURATION]: Math.round(this._totalDuration),\n [ATTR_TBD_LOAF_WORK_DURATION]: Math.round(this._workDuration),\n [ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION]: Math.round(\n this._styleLayoutDuration,\n ),\n [ATTR_TBD_LOAF_COUNT]: this._count,\n [ATTR_TBD_LOAF_LONGEST_DURATION]: Math.round(this._longestDuration),\n [ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST]: Math.round(\n this._longestDurationExcludingFirst,\n ),\n };\n\n try {\n this.logger.emit({\n eventName: LOAF_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n attributes: attrs,\n });\n } catch (e) {\n this._diag.error('error emitting loaf report', e);\n }\n\n try {\n if (this._scriptSummaries.size > 0) {\n const scripts = [...this._scriptSummaries]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n total_duration: Math.round(script.totalDuration),\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n count: script.count,\n },\n ]);\n\n this.logger.emit({\n eventName: LOAF_SCRIPTS_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n body: JSON.stringify(Object.fromEntries(scripts)),\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.LoafScripts,\n },\n });\n }\n } catch (e) {\n this._diag.error('error emitting loaf script summary', e);\n }\n\n this._resetAccumulators();\n }\n\n private _resetAccumulators(): void {\n this._totalDuration = 0;\n this._workDuration = 0;\n this._styleLayoutDuration = 0;\n this._count = 0;\n this._longestDuration = 0;\n this._longestDurationExcludingFirst = 0;\n this._totalBlockingDuration = 0;\n this._scriptSummaries = new Map();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LoafInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"sourcesContent":["/* eslint-disable baseline-js/use-baseline */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Metric } from 'web-vitals';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport type { UserSessionManagerInternal } from '../../../managers/MXLUserSessionManager';\nimport {\n createPerformanceObserver,\n isEntryTypeSupported,\n} from '../../../utils';\nimport { generateWebVitalID } from '../../../utils/generateWebVitalID';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport {\n ATTR_TBD_LOAF_COUNT,\n ATTR_TBD_LOAF_LONGEST_DURATION,\n ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST,\n ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION,\n ATTR_TBD_LOAF_TOTAL_DURATION,\n ATTR_TBD_LOAF_WORK_DURATION,\n BLOCKING_DURATION_GOOD_THRESHOLD,\n BLOCKING_DURATION_POOR_THRESHOLD,\n LOAF_EVENT_NAME,\n LOAF_SCRIPTS_EVENT_NAME,\n MAX_SCRIPT_ENTRIES,\n MAX_SCRIPT_URL_LENGTH,\n} from './constants';\nimport type { LoafInstrumentationArgs } from './types';\n\ninterface ScriptSummaryValue {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n}\n\ntype ScriptSummaries = Map<string, ScriptSummaryValue>;\n\nexport class LoafInstrumentation extends MXLInstrumentationBase {\n private _observer: PerformanceObserver | null = null;\n private _isFirstEntry = true;\n private _removeSessionEndListener: (() => void) | null = null;\n private _isEnabled = false;\n\n private _totalDuration = 0;\n private _workDuration = 0;\n private _styleLayoutDuration = 0;\n private _count = 0;\n private _longestDuration = 0;\n private _longestDurationExcludingFirst = 0;\n private _totalBlockingDuration = 0;\n private _scriptSummaries: ScriptSummaries = new Map();\n\n public constructor({ diag, perf }: LoafInstrumentationArgs = {}) {\n super({\n config: {},\n diag,\n instrumentationName: 'LoafInstrumentation',\n instrumentationVersion: '1.0.0',\n perf,\n });\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public enable(): void {\n if (this._isEnabled) {\n return;\n }\n\n if (!isEntryTypeSupported('long-animation-frame')) {\n this._diag.debug('long-animation-frame not supported, skipping');\n return;\n }\n\n this._isEnabled = true;\n\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer =\n createPerformanceObserver<PerformanceLongAnimationFrameTiming>(\n 'long-animation-frame',\n (entry) => this._processEntry(entry),\n { diag: this._diag },\n );\n\n if (!this._observer) {\n this._isEnabled = false;\n this._diag.error('failed to enable');\n return;\n }\n\n this._registerSessionEndListener();\n }\n\n private _registerSessionEndListener(): void {\n if (!this._isEnabled) {\n return;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n }\n\n this._removeSessionEndListener =\n this.userSessionManager.addSessionPartEndedListener(() => {\n try {\n this._flushReport();\n } catch (error) {\n this._diag.error('error flushing report', error);\n }\n });\n }\n\n public override setUserSessionManager(\n userSessionManager: UserSessionManagerInternal,\n ): void {\n super.setUserSessionManager(userSessionManager);\n this._registerSessionEndListener();\n }\n\n public disable(): void {\n this._isEnabled = false;\n this._resetAccumulators();\n\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n this._removeSessionEndListener = null;\n }\n }\n\n private _processEntry(entry: PerformanceLongAnimationFrameTiming): void {\n if (!this._isEnabled) {\n return;\n }\n\n this._count++;\n this._totalDuration += entry.duration;\n this._workDuration += entry.renderStart\n ? entry.renderStart - entry.startTime\n : entry.duration;\n\n if (entry.styleAndLayoutStart) {\n this._styleLayoutDuration += Math.max(\n 0,\n entry.startTime + entry.duration - entry.styleAndLayoutStart,\n );\n }\n\n this._longestDuration = Math.max(this._longestDuration, entry.duration);\n\n if (this._isFirstEntry && this._count === 1) {\n this._isFirstEntry = false;\n } else {\n this._longestDurationExcludingFirst = Math.max(\n this._longestDurationExcludingFirst,\n entry.duration,\n );\n if (entry.firstUIEventTimestamp === 0) {\n this._totalBlockingDuration += entry.blockingDuration;\n }\n }\n\n try {\n for (const script of entry.scripts) {\n // SourceURL is an empty string for inline scripts\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_SCRIPT_URL_LENGTH)}...`;\n }\n\n const existing = this._scriptSummaries.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n this._scriptSummaries.set(url, {\n count: 1,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n totalDuration: script.duration,\n });\n }\n }\n } catch (error) {\n this._diag.error('error processing scripts for entry', error);\n }\n }\n\n private _flushReport(): void {\n if (this._count === 0) {\n return;\n }\n\n // Use web-vitals Metric type for rating\n let rating: Metric['rating'];\n if (this._totalBlockingDuration <= BLOCKING_DURATION_GOOD_THRESHOLD) {\n rating = 'good';\n } else if (\n this._totalBlockingDuration <= BLOCKING_DURATION_POOR_THRESHOLD\n ) {\n rating = 'needs-improvement';\n } else {\n rating = 'poor';\n }\n\n const attrs: Record<string, string | number> = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n ['mxl.web_vital.id']: generateWebVitalID(),\n ['mxl.web_vital.name']: 'TBD',\n ['mxl.web_vital.value']: Math.round(this._totalBlockingDuration),\n ['mxl.web_vital.rating']: rating,\n [ATTR_TBD_LOAF_TOTAL_DURATION]: Math.round(this._totalDuration),\n [ATTR_TBD_LOAF_WORK_DURATION]: Math.round(this._workDuration),\n [ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION]: Math.round(\n this._styleLayoutDuration,\n ),\n [ATTR_TBD_LOAF_COUNT]: this._count,\n [ATTR_TBD_LOAF_LONGEST_DURATION]: Math.round(this._longestDuration),\n [ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST]: Math.round(\n this._longestDurationExcludingFirst,\n ),\n };\n\n try {\n this.logger.emit({\n attributes: attrs,\n eventName: LOAF_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n });\n } catch (error) {\n this._diag.error('error emitting loaf report', error);\n }\n\n try {\n if (this._scriptSummaries.size > 0) {\n const scripts = [...this._scriptSummaries]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n count: script.count,\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n total_duration: Math.round(script.totalDuration),\n },\n ]);\n\n this.logger.emit({\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.LoafScripts,\n },\n body: JSON.stringify(Object.fromEntries(scripts)),\n eventName: LOAF_SCRIPTS_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n });\n }\n } catch (error) {\n this._diag.error('error emitting loaf script summary', error);\n }\n\n this._resetAccumulators();\n }\n\n private _resetAccumulators(): void {\n this._totalDuration = 0;\n this._workDuration = 0;\n this._styleLayoutDuration = 0;\n this._count = 0;\n this._longestDuration = 0;\n this._longestDurationExcludingFirst = 0;\n this._totalBlockingDuration = 0;\n this._scriptSummaries = new Map();\n }\n}\n"],"mappings":"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"}
|
package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs
CHANGED
|
@@ -12,10 +12,10 @@ var NavigationInstrumentation = class extends require_instrumentations_MXLInstru
|
|
|
12
12
|
_removeSessionEndedFn = null;
|
|
13
13
|
constructor({ diag, shouldCleanupPathOptionsFromRouteName = true }) {
|
|
14
14
|
super({
|
|
15
|
-
|
|
16
|
-
instrumentationVersion: "1.0.0",
|
|
15
|
+
config: {},
|
|
17
16
|
diag,
|
|
18
|
-
|
|
17
|
+
instrumentationName: "NavigationInstrumentation",
|
|
18
|
+
instrumentationVersion: "1.0.0"
|
|
19
19
|
});
|
|
20
20
|
this._shouldCleanupPathOptionsFromRouteName = shouldCleanupPathOptionsFromRouteName;
|
|
21
21
|
if (this._config.enabled) this.enable();
|
|
@@ -33,14 +33,14 @@ var NavigationInstrumentation = class extends require_instrumentations_MXLInstru
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
_setupSessionListeners = () => {
|
|
36
|
-
if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.
|
|
36
|
+
if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.userSessionManager.addSessionPartStartedListener(() => {
|
|
37
37
|
const currentRoute = require_api_page_pageAPI.page.getCurrentRoute();
|
|
38
38
|
if (currentRoute && !this._currentRouteSpan) {
|
|
39
39
|
this._diag.debug("Session started, starting route span.");
|
|
40
40
|
this._startRouteSpan(currentRoute);
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
|
-
if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.
|
|
43
|
+
if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.userSessionManager.addSessionPartEndedListener(() => {
|
|
44
44
|
if (this._currentRouteSpan) {
|
|
45
45
|
this._diag.debug("Session ended, ending route span.");
|
|
46
46
|
this._endRouteSpan(require_api_page_pageAPI.page.getCurrentRoute());
|
package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationInstrumentation.cjs","names":["MXLInstrumentationBase","page","KEY_MXL_TYPE","KEY_MXL_PAGE_PATH","KEY_MXL_PAGE_ID","KEY_MXL_INSTRUMENTATION"],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n
|
|
1
|
+
{"version":3,"file":"NavigationInstrumentation.cjs","names":["MXLInstrumentationBase","page","KEY_MXL_TYPE","KEY_MXL_PAGE_PATH","KEY_MXL_PAGE_ID","KEY_MXL_INSTRUMENTATION"],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n config: {},\n diag,\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n });\n\n this._shouldCleanupPathOptionsFromRouteName =\n shouldCleanupPathOptionsFromRouteName;\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public setInstrumentationType = (\n instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS,\n ) => {\n this._instrumentationType = instrumentationType;\n };\n\n public setCurrentRoute = (route: Route) => {\n if (!this._config.enabled) {\n return;\n }\n\n const currentRoute = page.getCurrentRoute();\n\n if (route.url !== currentRoute?.url) {\n page.setCurrentRoute(route);\n\n this._endRouteSpan(currentRoute);\n this._startRouteSpan(route);\n }\n };\n\n private readonly _setupSessionListeners = () => {\n if (!this._removeSessionStartedFn) {\n this._removeSessionStartedFn =\n this.userSessionManager.addSessionPartStartedListener(() => {\n const currentRoute = page.getCurrentRoute();\n\n if (currentRoute && !this._currentRouteSpan) {\n this._diag.debug('Session started, starting route span.');\n\n this._startRouteSpan(currentRoute);\n }\n });\n }\n\n if (!this._removeSessionEndedFn) {\n this._removeSessionEndedFn =\n this.userSessionManager.addSessionPartEndedListener(() => {\n if (this._currentRouteSpan) {\n this._diag.debug('Session ended, ending route span.');\n\n this._endRouteSpan(page.getCurrentRoute());\n }\n });\n }\n };\n\n private readonly _cleanUpSessionListeners = () => {\n if (this._removeSessionStartedFn) {\n this._removeSessionStartedFn();\n this._removeSessionStartedFn = null;\n }\n\n if (this._removeSessionEndedFn) {\n this._removeSessionEndedFn();\n this._removeSessionEndedFn = null;\n }\n };\n\n private readonly _startRouteSpan = (route: Route): Span => {\n this._diag.debug(`Starting route span for url: ${route.url}`);\n this._setupSessionListeners();\n\n const pathName = this._shouldCleanupPathOptionsFromRouteName\n ? route.path.replace(PATH_OPTIONS_RE, '')\n : route.path;\n this._currentRouteSpan = this.tracer.startSpan(pathName, {\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.Surface,\n [KEY_MXL_PAGE_PATH]: pathName,\n [KEY_MXL_PAGE_ID]: page.getCurrentPageId() || undefined,\n },\n });\n\n this._currentRouteSpan.setAttribute(\n KEY_MXL_INSTRUMENTATION,\n this._instrumentationType,\n );\n\n return this._currentRouteSpan;\n };\n\n private readonly _endRouteSpan = (currentRoute: Route | null) => {\n if (this._currentRouteSpan) {\n if (currentRoute) {\n this._diag.debug(`Ending route span for url: ${currentRoute.url}`);\n }\n\n this._currentRouteSpan.end();\n this._currentRouteSpan = null;\n }\n };\n\n public enable = () => {\n this.setConfig({\n enabled: true,\n });\n this._diag.debug(\n 'NavigationInstrumentation enabled, listening for navigation events.',\n );\n };\n\n public disable = () => {\n this._cleanUpSessionListeners();\n this.setConfig({\n enabled: false,\n });\n this._diag.debug(\n 'NavigationInstrumentation disabled, stopped listening for navigation events.',\n );\n };\n}\n"],"mappings":";;;;;AAiBA,MAAM,kBAAkB;AAExB,IAAa,4BAAb,cAA+CA,uEAAAA,uBAAuB;CACpE,yCAAmE;CACnE,oBAAyC;CACzC,uBAAQ;CAER,0BAAuD;CACvD,wBAAqD;CAErD,YAAmB,EACjB,MACA,wCAAwC,QACR;AAChC,QAAM;GACJ,QAAQ,EAAE;GACV;GACA,qBAAqB;GACrB,wBAAwB;GACzB,CAAC;AAEF,OAAK,yCACH;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,0BACE,wBACG;AACH,OAAK,uBAAuB;;CAG9B,mBAA0B,UAAiB;AACzC,MAAI,CAAC,KAAK,QAAQ,QAChB;EAGF,MAAM,eAAeC,yBAAAA,KAAK,iBAAiB;AAE3C,MAAI,MAAM,QAAQ,cAAc,KAAK;AACnC,4BAAA,KAAK,gBAAgB,MAAM;AAE3B,QAAK,cAAc,aAAa;AAChC,QAAK,gBAAgB,MAAM;;;CAI/B,+BAAgD;AAC9C,MAAI,CAAC,KAAK,wBACR,MAAK,0BACH,KAAK,mBAAmB,oCAAoC;GAC1D,MAAM,eAAeA,yBAAAA,KAAK,iBAAiB;AAE3C,OAAI,gBAAgB,CAAC,KAAK,mBAAmB;AAC3C,SAAK,MAAM,MAAM,wCAAwC;AAEzD,SAAK,gBAAgB,aAAa;;IAEpC;AAGN,MAAI,CAAC,KAAK,sBACR,MAAK,wBACH,KAAK,mBAAmB,kCAAkC;AACxD,OAAI,KAAK,mBAAmB;AAC1B,SAAK,MAAM,MAAM,oCAAoC;AAErD,SAAK,cAAcA,yBAAAA,KAAK,iBAAiB,CAAC;;IAE5C;;CAIR,iCAAkD;AAChD,MAAI,KAAK,yBAAyB;AAChC,QAAK,yBAAyB;AAC9B,QAAK,0BAA0B;;AAGjC,MAAI,KAAK,uBAAuB;AAC9B,QAAK,uBAAuB;AAC5B,QAAK,wBAAwB;;;CAIjC,mBAAoC,UAAuB;AACzD,OAAK,MAAM,MAAM,gCAAgC,MAAM,MAAM;AAC7D,OAAK,wBAAwB;EAE7B,MAAM,WAAW,KAAK,yCAClB,MAAM,KAAK,QAAQ,iBAAiB,GAAG,GACvC,MAAM;AACV,OAAK,oBAAoB,KAAK,OAAO,UAAU,UAAU,EACvD,YAAY;IACTC,6BAAAA,eAAAA;IACAC,6BAAAA,oBAAoB;IACpBC,6BAAAA,kBAAkBH,yBAAAA,KAAK,kBAAkB,IAAI,KAAA;GAC/C,EACF,CAAC;AAEF,OAAK,kBAAkB,aACrBI,6BAAAA,yBACA,KAAK,qBACN;AAED,SAAO,KAAK;;CAGd,iBAAkC,iBAA+B;AAC/D,MAAI,KAAK,mBAAmB;AAC1B,OAAI,aACF,MAAK,MAAM,MAAM,8BAA8B,aAAa,MAAM;AAGpE,QAAK,kBAAkB,KAAK;AAC5B,QAAK,oBAAoB;;;CAI7B,eAAsB;AACpB,OAAK,UAAU,EACb,SAAS,MACV,CAAC;AACF,OAAK,MAAM,MACT,sEACD;;CAGH,gBAAuB;AACrB,OAAK,0BAA0B;AAC/B,OAAK,UAAU,EACb,SAAS,OACV,CAAC;AACF,OAAK,MAAM,MACT,+EACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,
|
|
1
|
+
{"version":3,"file":"NavigationInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,iBA0BA,wBAAA;EAAA,iBAYA,eAAA;EAAA,iBAuBA,aAAA;EAWV,MAAA;EASA,OAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,
|
|
1
|
+
{"version":3,"file":"NavigationInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,iBA0BA,wBAAA;EAAA,iBAYA,eAAA;EAAA,iBAuBA,aAAA;EAWV,MAAA;EASA,OAAA;AAAA"}
|
package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js
CHANGED
|
@@ -11,10 +11,10 @@ var NavigationInstrumentation = class extends MXLInstrumentationBase {
|
|
|
11
11
|
_removeSessionEndedFn = null;
|
|
12
12
|
constructor({ diag, shouldCleanupPathOptionsFromRouteName = true }) {
|
|
13
13
|
super({
|
|
14
|
-
|
|
15
|
-
instrumentationVersion: "1.0.0",
|
|
14
|
+
config: {},
|
|
16
15
|
diag,
|
|
17
|
-
|
|
16
|
+
instrumentationName: "NavigationInstrumentation",
|
|
17
|
+
instrumentationVersion: "1.0.0"
|
|
18
18
|
});
|
|
19
19
|
this._shouldCleanupPathOptionsFromRouteName = shouldCleanupPathOptionsFromRouteName;
|
|
20
20
|
if (this._config.enabled) this.enable();
|
|
@@ -32,14 +32,14 @@ var NavigationInstrumentation = class extends MXLInstrumentationBase {
|
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
_setupSessionListeners = () => {
|
|
35
|
-
if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.
|
|
35
|
+
if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.userSessionManager.addSessionPartStartedListener(() => {
|
|
36
36
|
const currentRoute = page.getCurrentRoute();
|
|
37
37
|
if (currentRoute && !this._currentRouteSpan) {
|
|
38
38
|
this._diag.debug("Session started, starting route span.");
|
|
39
39
|
this._startRouteSpan(currentRoute);
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.
|
|
42
|
+
if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.userSessionManager.addSessionPartEndedListener(() => {
|
|
43
43
|
if (this._currentRouteSpan) {
|
|
44
44
|
this._diag.debug("Session ended, ending route span.");
|
|
45
45
|
this._endRouteSpan(page.getCurrentRoute());
|
package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n
|
|
1
|
+
{"version":3,"file":"NavigationInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n config: {},\n diag,\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n });\n\n this._shouldCleanupPathOptionsFromRouteName =\n shouldCleanupPathOptionsFromRouteName;\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public setInstrumentationType = (\n instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS,\n ) => {\n this._instrumentationType = instrumentationType;\n };\n\n public setCurrentRoute = (route: Route) => {\n if (!this._config.enabled) {\n return;\n }\n\n const currentRoute = page.getCurrentRoute();\n\n if (route.url !== currentRoute?.url) {\n page.setCurrentRoute(route);\n\n this._endRouteSpan(currentRoute);\n this._startRouteSpan(route);\n }\n };\n\n private readonly _setupSessionListeners = () => {\n if (!this._removeSessionStartedFn) {\n this._removeSessionStartedFn =\n this.userSessionManager.addSessionPartStartedListener(() => {\n const currentRoute = page.getCurrentRoute();\n\n if (currentRoute && !this._currentRouteSpan) {\n this._diag.debug('Session started, starting route span.');\n\n this._startRouteSpan(currentRoute);\n }\n });\n }\n\n if (!this._removeSessionEndedFn) {\n this._removeSessionEndedFn =\n this.userSessionManager.addSessionPartEndedListener(() => {\n if (this._currentRouteSpan) {\n this._diag.debug('Session ended, ending route span.');\n\n this._endRouteSpan(page.getCurrentRoute());\n }\n });\n }\n };\n\n private readonly _cleanUpSessionListeners = () => {\n if (this._removeSessionStartedFn) {\n this._removeSessionStartedFn();\n this._removeSessionStartedFn = null;\n }\n\n if (this._removeSessionEndedFn) {\n this._removeSessionEndedFn();\n this._removeSessionEndedFn = null;\n }\n };\n\n private readonly _startRouteSpan = (route: Route): Span => {\n this._diag.debug(`Starting route span for url: ${route.url}`);\n this._setupSessionListeners();\n\n const pathName = this._shouldCleanupPathOptionsFromRouteName\n ? route.path.replace(PATH_OPTIONS_RE, '')\n : route.path;\n this._currentRouteSpan = this.tracer.startSpan(pathName, {\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.Surface,\n [KEY_MXL_PAGE_PATH]: pathName,\n [KEY_MXL_PAGE_ID]: page.getCurrentPageId() || undefined,\n },\n });\n\n this._currentRouteSpan.setAttribute(\n KEY_MXL_INSTRUMENTATION,\n this._instrumentationType,\n );\n\n return this._currentRouteSpan;\n };\n\n private readonly _endRouteSpan = (currentRoute: Route | null) => {\n if (this._currentRouteSpan) {\n if (currentRoute) {\n this._diag.debug(`Ending route span for url: ${currentRoute.url}`);\n }\n\n this._currentRouteSpan.end();\n this._currentRouteSpan = null;\n }\n };\n\n public enable = () => {\n this.setConfig({\n enabled: true,\n });\n this._diag.debug(\n 'NavigationInstrumentation enabled, listening for navigation events.',\n );\n };\n\n public disable = () => {\n this._cleanUpSessionListeners();\n this.setConfig({\n enabled: false,\n });\n this._diag.debug(\n 'NavigationInstrumentation disabled, stopped listening for navigation events.',\n );\n };\n}\n"],"mappings":";;;;AAiBA,MAAM,kBAAkB;AAExB,IAAa,4BAAb,cAA+C,uBAAuB;CACpE,yCAAmE;CACnE,oBAAyC;CACzC,uBAAQ;CAER,0BAAuD;CACvD,wBAAqD;CAErD,YAAmB,EACjB,MACA,wCAAwC,QACR;AAChC,QAAM;GACJ,QAAQ,EAAE;GACV;GACA,qBAAqB;GACrB,wBAAwB;GACzB,CAAC;AAEF,OAAK,yCACH;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,0BACE,wBACG;AACH,OAAK,uBAAuB;;CAG9B,mBAA0B,UAAiB;AACzC,MAAI,CAAC,KAAK,QAAQ,QAChB;EAGF,MAAM,eAAe,KAAK,iBAAiB;AAE3C,MAAI,MAAM,QAAQ,cAAc,KAAK;AACnC,QAAK,gBAAgB,MAAM;AAE3B,QAAK,cAAc,aAAa;AAChC,QAAK,gBAAgB,MAAM;;;CAI/B,+BAAgD;AAC9C,MAAI,CAAC,KAAK,wBACR,MAAK,0BACH,KAAK,mBAAmB,oCAAoC;GAC1D,MAAM,eAAe,KAAK,iBAAiB;AAE3C,OAAI,gBAAgB,CAAC,KAAK,mBAAmB;AAC3C,SAAK,MAAM,MAAM,wCAAwC;AAEzD,SAAK,gBAAgB,aAAa;;IAEpC;AAGN,MAAI,CAAC,KAAK,sBACR,MAAK,wBACH,KAAK,mBAAmB,kCAAkC;AACxD,OAAI,KAAK,mBAAmB;AAC1B,SAAK,MAAM,MAAM,oCAAoC;AAErD,SAAK,cAAc,KAAK,iBAAiB,CAAC;;IAE5C;;CAIR,iCAAkD;AAChD,MAAI,KAAK,yBAAyB;AAChC,QAAK,yBAAyB;AAC9B,QAAK,0BAA0B;;AAGjC,MAAI,KAAK,uBAAuB;AAC9B,QAAK,uBAAuB;AAC5B,QAAK,wBAAwB;;;CAIjC,mBAAoC,UAAuB;AACzD,OAAK,MAAM,MAAM,gCAAgC,MAAM,MAAM;AAC7D,OAAK,wBAAwB;EAE7B,MAAM,WAAW,KAAK,yCAClB,MAAM,KAAK,QAAQ,iBAAiB,GAAG,GACvC,MAAM;AACV,OAAK,oBAAoB,KAAK,OAAO,UAAU,UAAU,EACvD,YAAY;IACT,eAAA;IACA,oBAAoB;IACpB,kBAAkB,KAAK,kBAAkB,IAAI,KAAA;GAC/C,EACF,CAAC;AAEF,OAAK,kBAAkB,aACrB,yBACA,KAAK,qBACN;AAED,SAAO,KAAK;;CAGd,iBAAkC,iBAA+B;AAC/D,MAAI,KAAK,mBAAmB;AAC1B,OAAI,aACF,MAAK,MAAM,MAAM,8BAA8B,aAAa,MAAM;AAGpE,QAAK,kBAAkB,KAAK;AAC5B,QAAK,oBAAoB;;;CAI7B,eAAsB;AACpB,OAAK,UAAU,EACb,SAAS,MACV,CAAC;AACF,OAAK,MAAM,MACT,sEACD;;CAGH,gBAAuB;AACrB,OAAK,0BAA0B;AAC/B,OAAK,UAAU,EACb,SAAS,OACV,CAAC;AACF,OAAK,MAAM,MACT,+EACD"}
|