@safaricom-mxl/web-sdk 0.0.14 → 0.0.16
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/dist/api-logs/api/LogAPI/LogAPI.cjs.map +1 -1
- package/dist/api-logs/api/LogAPI/LogAPI.js.map +1 -1
- package/dist/api-logs/logAPI.cjs.map +1 -1
- package/dist/api-logs/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/ProxyLogManager/ProxyLogManager.cjs.map +1 -1
- package/dist/api-logs/manager/ProxyLogManager/ProxyLogManager.js.map +1 -1
- package/dist/api-page/api/PageAPI/PageAPI.cjs.map +1 -1
- package/dist/api-page/api/PageAPI/PageAPI.js.map +1 -1
- package/dist/api-page/manager/NoOpPageManager/NoOpPageManager.cjs.map +1 -1
- package/dist/api-page/manager/NoOpPageManager/NoOpPageManager.js.map +1 -1
- package/dist/api-page/manager/ProxyPageManager/ProxyPageManager.cjs.map +1 -1
- package/dist/api-page/manager/ProxyPageManager/ProxyPageManager.js.map +1 -1
- package/dist/api-page/pageAPI.cjs.map +1 -1
- package/dist/api-page/pageAPI.js.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts.map +1 -1
- package/dist/api-sessions/api/SessionAPI/SessionAPI.js.map +1 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs.map +1 -1
- package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js.map +1 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs.map +1 -1
- package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js.map +1 -1
- package/dist/api-sessions/sessionAPI.cjs.map +1 -1
- package/dist/api-sessions/sessionAPI.js.map +1 -1
- package/dist/api-traces/api/TraceAPI/TraceAPI.cjs.map +1 -1
- package/dist/api-traces/api/TraceAPI/TraceAPI.js.map +1 -1
- package/dist/api-traces/manager/NoOpTraceManager/NoOpTraceManager.cjs.map +1 -1
- package/dist/api-traces/manager/NoOpTraceManager/NoOpTraceManager.js.map +1 -1
- package/dist/api-traces/manager/NoOpTraceManager/NonRecordingExtendedSpan.cjs.map +1 -1
- package/dist/api-traces/manager/NoOpTraceManager/NonRecordingExtendedSpan.d.cts.map +1 -1
- package/dist/api-traces/manager/NoOpTraceManager/NonRecordingExtendedSpan.d.ts.map +1 -1
- package/dist/api-traces/manager/NoOpTraceManager/NonRecordingExtendedSpan.js.map +1 -1
- package/dist/api-traces/manager/ProxyTraceManager/ProxyTraceManager.cjs.map +1 -1
- package/dist/api-traces/manager/ProxyTraceManager/ProxyTraceManager.js.map +1 -1
- package/dist/api-traces/traceAPI.cjs.map +1 -1
- package/dist/api-traces/traceAPI.js.map +1 -1
- package/dist/api-users/api/UserAPI/UserAPI.cjs.map +1 -1
- package/dist/api-users/api/UserAPI/UserAPI.js.map +1 -1
- package/dist/api-users/manager/NoOpUserManager/NoOpUserManager.cjs.map +1 -1
- package/dist/api-users/manager/NoOpUserManager/NoOpUserManager.js.map +1 -1
- package/dist/api-users/manager/ProxyUserManager/ProxyUserManager.cjs.map +1 -1
- package/dist/api-users/manager/ProxyUserManager/ProxyUserManager.js.map +1 -1
- package/dist/api-users/userAPI.cjs.map +1 -1
- package/dist/api-users/userAPI.js.map +1 -1
- package/dist/common/attributes.cjs.map +1 -1
- package/dist/common/attributes.js.map +1 -1
- package/dist/constants/attributes.cjs +2 -0
- package/dist/constants/attributes.cjs.map +1 -1
- package/dist/constants/attributes.d.cts +2 -1
- package/dist/constants/attributes.d.cts.map +1 -1
- package/dist/constants/attributes.d.ts +2 -1
- package/dist/constants/attributes.d.ts.map +1 -1
- package/dist/constants/attributes.js +2 -1
- package/dist/constants/attributes.js.map +1 -1
- package/dist/constants/index.cjs +1 -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/MXLLogExporter.cjs.map +1 -1
- package/dist/exporters/MXLLogExporter/MXLLogExporter.js.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js.map +1 -1
- package/dist/exporters/MXLLogExporter/utils.cjs.map +1 -1
- package/dist/exporters/MXLLogExporter/utils.js.map +1 -1
- package/dist/exporters/MXLTraceExporter/MXLTraceExporter.cjs.map +1 -1
- package/dist/exporters/MXLTraceExporter/MXLTraceExporter.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/MXLTraceExporter/utils.cjs.map +1 -1
- package/dist/exporters/MXLTraceExporter/utils.js.map +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.cjs.map +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.d.cts.map +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.d.ts.map +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.js.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs.map +1 -1
- package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs.map +1 -1
- package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js.map +1 -1
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js.map +1 -1
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs.map +1 -1
- package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts.map +1 -1
- 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/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js.map +1 -1
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/instance.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/instance.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/createReactRouterNavigationInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/createReactRouterNavigationInstrumentation.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js.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/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js.map +1 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js.map +1 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js.map +1 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js.map +1 -1
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js.map +1 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js.map +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs +1 -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 +1 -1
- package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js.map +1 -1
- package/dist/managers/MXLConfigManager/constants.cjs.map +1 -1
- package/dist/managers/MXLConfigManager/constants.js.map +1 -1
- package/dist/managers/MXLConfigManager/utils.cjs.map +1 -1
- package/dist/managers/MXLConfigManager/utils.js.map +1 -1
- package/dist/managers/MXLLimitManager/MXLLimitManager.cjs.map +1 -1
- package/dist/managers/MXLLimitManager/MXLLimitManager.js.map +1 -1
- package/dist/managers/MXLLimitManager/constants.cjs.map +1 -1
- package/dist/managers/MXLLimitManager/constants.js.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.cjs +3 -1
- package/dist/managers/MXLLogManager/MXLLogManager.cjs.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.d.cts.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.d.ts.map +1 -1
- package/dist/managers/MXLLogManager/MXLLogManager.js +4 -2
- package/dist/managers/MXLLogManager/MXLLogManager.js.map +1 -1
- package/dist/managers/MXLPageManager/MXLPageManager.cjs.map +1 -1
- package/dist/managers/MXLPageManager/MXLPageManager.js.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs.map +1 -1
- package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js.map +1 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs.map +1 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts.map +1 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts.map +1 -1
- package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js.map +1 -1
- package/dist/managers/MXLTraceManager/MXLExtendedSpan.cjs.map +1 -1
- package/dist/managers/MXLTraceManager/MXLExtendedSpan.d.cts.map +1 -1
- package/dist/managers/MXLTraceManager/MXLExtendedSpan.d.ts.map +1 -1
- package/dist/managers/MXLTraceManager/MXLExtendedSpan.js.map +1 -1
- package/dist/managers/MXLTraceManager/MXLTraceManager.cjs.map +1 -1
- package/dist/managers/MXLTraceManager/MXLTraceManager.js.map +1 -1
- package/dist/managers/MXLUserManager/MXLUserManager.cjs.map +1 -1
- package/dist/managers/MXLUserManager/MXLUserManager.js.map +1 -1
- package/dist/managers/MXLUserManager/types.cjs.map +1 -1
- package/dist/managers/MXLUserManager/types.js.map +1 -1
- package/dist/mxl-web-sdk.js +3 -38
- 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/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.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/MXLLogRecordProcessor/MXLLogRecordProcessor.cjs.map +1 -1
- package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.js.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.cjs.map +1 -1
- package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.js.map +1 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs.map +1 -1
- package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js.map +1 -1
- 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/UserSpanProcessor/UserSpanProcessor.cjs.map +1 -1
- package/dist/processors/UserSpanProcessor/UserSpanProcessor.js.map +1 -1
- package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.cjs.map +1 -1
- package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.js.map +1 -1
- package/dist/resources/appInstanceId.cjs.map +1 -1
- 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.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.map +1 -1
- package/dist/sdk/defaultAttributeScrubbers.cjs.map +1 -1
- package/dist/sdk/defaultAttributeScrubbers.js.map +1 -1
- package/dist/sdk/initSDK.cjs +13 -11
- package/dist/sdk/initSDK.cjs.map +1 -1
- package/dist/sdk/initSDK.d.cts.map +1 -1
- package/dist/sdk/initSDK.d.ts.map +1 -1
- package/dist/sdk/initSDK.js +14 -12
- package/dist/sdk/initSDK.js.map +1 -1
- package/dist/sdk/noopSessionRecording.cjs +10 -0
- package/dist/sdk/noopSessionRecording.cjs.map +1 -0
- package/dist/sdk/noopSessionRecording.d.cts +7 -0
- package/dist/sdk/noopSessionRecording.d.cts.map +1 -0
- package/dist/sdk/noopSessionRecording.d.ts +7 -0
- package/dist/sdk/noopSessionRecording.d.ts.map +1 -0
- package/dist/sdk/noopSessionRecording.js +9 -0
- package/dist/sdk/noopSessionRecording.js.map +1 -0
- package/dist/sdk/registry.cjs.map +1 -1
- package/dist/sdk/registry.js.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.cjs.map +1 -1
- package/dist/sdk/setupDefaultInstrumentations.js.map +1 -1
- package/dist/sdk/setupSessionRecorder.cjs +64 -22
- package/dist/sdk/setupSessionRecorder.cjs.map +1 -1
- package/dist/sdk/setupSessionRecorder.d.cts +16 -7
- package/dist/sdk/setupSessionRecorder.d.cts.map +1 -1
- package/dist/sdk/setupSessionRecorder.d.ts +16 -7
- package/dist/sdk/setupSessionRecorder.d.ts.map +1 -1
- package/dist/sdk/setupSessionRecorder.js +62 -21
- package/dist/sdk/setupSessionRecorder.js.map +1 -1
- package/dist/sdk/types.d.cts.map +1 -1
- package/dist/sdk/types.d.ts +1 -1
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/utils.cjs.map +1 -1
- package/dist/sdk/utils.js.map +1 -1
- package/dist/transport/FetchTransport/FetchTransport.cjs.map +1 -1
- package/dist/transport/FetchTransport/FetchTransport.js.map +1 -1
- package/dist/transport/FetchTransport/createFetchTransport.cjs.map +1 -1
- package/dist/transport/FetchTransport/createFetchTransport.js.map +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.cjs.map +1 -1
- package/dist/transport/RetryingTransport/RetryingTransport.js.map +1 -1
- package/dist/transport/RetryingTransport/createRetryingTransport.cjs.map +1 -1
- package/dist/transport/RetryingTransport/createRetryingTransport.js.map +1 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs.map +1 -1
- package/dist/utils/MXLSpanStorage/MXLSpanStorage.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/bulkAddEventListener/bulkAddEventListener.cjs.map +1 -1
- package/dist/utils/bulkAddEventListener/bulkAddEventListener.js.map +1 -1
- package/dist/utils/bulkRemoveEventListener/bulkRemoveEventListener.cjs.map +1 -1
- package/dist/utils/bulkRemoveEventListener/bulkRemoveEventListener.js.map +1 -1
- package/dist/utils/getVisibilityState.cjs.map +1 -1
- package/dist/utils/getVisibilityState.js.map +1 -1
- package/dist/utils/nsfConfigValidation.cjs.map +1 -1
- package/dist/utils/nsfConfigValidation.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.d.cts","names":[],"sources":["../../src/constants/attributes.ts"],"mappings":";cAAa,YAAA;AAAA,cACA,aAAA;AAAA,cACA,kBAAA;AAAA,cACA,sBAAA;AAAA,cACA,wBAAA;AAAA,cACA,4BAAA;AAAA,cACA,yBAAA;AAAA,cACA,4BAAA;AAAA,cACA,8BAAA;AAAA,cACA,+BAAA;AAAA,cACA,0BAAA;AAAA,cACA,uBAAA;AAAA,cACA,kBAAA;AAAA,cACA,uBAAA;AAAA,cACA,cAAA;AAAA,cACA,qBAAA;AAAA,cACA,qBAAA;AAAA,cACA,uBAAA;AAAA,cACA,uBAAA;AAAA,cACA,kCAAA;AAAA,cAEA,oBAAA;AAAA,cACA,0BAAA;AAAA,cACA,uBAAA;AAAA,cACA,yBAAA;AAAA,cACA,oBAAA;AAAA,cACA,oBAAA;AAAA,cACA,iCAAA;AAAA,cAIA,iBAAA;AAAA,cACA,eAAA;AAAA,cACA,qBAAA;AAAA,aAED,SAAA;EACV,OAAA;EACA,OAAA;EACA,IAAA;EACA,SAAA;EAAA;EACA,eAAA;EACA,QAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,OAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;AAAA;AAAA,aAGU,UAAA;EACV,UAAA;EACA,UAAA;AAAA;AAAA,aAGU,+BAAA;EACV,iBAAA;EACA,WAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,aAGU,0BAAA;EACV,kBAAA;AAAA;AAAA,aAGU,gCAAA;EACV,UAAA;AAAA;AAAA,KAGU,oBAAA,GACR,+BAAA,GACA,0BAAA,GACA,gCAAA"}
|
|
1
|
+
{"version":3,"file":"attributes.d.cts","names":[],"sources":["../../src/constants/attributes.ts"],"mappings":";cAAa,YAAA;AAAA,cACA,aAAA;AAAA,cACA,kBAAA;AAAA,cACA,sBAAA;AAAA,cACA,wBAAA;AAAA,cACA,4BAAA;AAAA,cACA,yBAAA;AAAA,cACA,4BAAA;AAAA,cACA,8BAAA;AAAA,cACA,+BAAA;AAAA,cACA,yBAAA;AAAA,cACA,0BAAA;AAAA,cACA,uBAAA;AAAA,cACA,kBAAA;AAAA,cACA,uBAAA;AAAA,cACA,cAAA;AAAA,cACA,qBAAA;AAAA,cACA,qBAAA;AAAA,cACA,uBAAA;AAAA,cACA,uBAAA;AAAA,cACA,kCAAA;AAAA,cAEA,oBAAA;AAAA,cACA,0BAAA;AAAA,cACA,uBAAA;AAAA,cACA,yBAAA;AAAA,cACA,oBAAA;AAAA,cACA,oBAAA;AAAA,cACA,iCAAA;AAAA,cAIA,iBAAA;AAAA,cACA,eAAA;AAAA,cACA,qBAAA;AAAA,aAED,SAAA;EACV,OAAA;EACA,OAAA;EACA,IAAA;EACA,SAAA;EAAA;EACA,eAAA;EACA,QAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,OAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;AAAA;AAAA,aAGU,UAAA;EACV,UAAA;EACA,UAAA;AAAA;AAAA,aAGU,+BAAA;EACV,iBAAA;EACA,WAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,aAGU,0BAAA;EACV,kBAAA;AAAA;AAAA,aAGU,gCAAA;EACV,UAAA;AAAA;AAAA,KAGU,oBAAA,GACR,+BAAA,GACA,0BAAA,GACA,gCAAA"}
|
|
@@ -9,6 +9,7 @@ declare const KEY_PREFIX_MXL_PROPERTIES = "mxl.properties.";
|
|
|
9
9
|
declare const KEY_MXL_SESSION_REASON_ENDED = "mxl.session_end_type";
|
|
10
10
|
declare const KEY_MXL_SESSION_REASON_STARTED = "mxl.session_start_type";
|
|
11
11
|
declare const KEY_MXL_JS_EXCEPTION_STACKTRACE = "mxl.stacktrace.js";
|
|
12
|
+
declare const KEY_REACT_COMPONENT_STACK = "react.component_stack";
|
|
12
13
|
declare const KEY_MXL_EXCEPTION_HANDLING = "mxl.exception_handling";
|
|
13
14
|
declare const KEY_MXL_EXCEPTION_CAUSE = "mxl.exception_cause";
|
|
14
15
|
declare const KEY_MXL_ERROR_CODE = "mxl.error_code";
|
|
@@ -63,5 +64,5 @@ declare enum MXL_PERFORMANCE_INSTRUMENTATIONS {
|
|
|
63
64
|
}
|
|
64
65
|
type MXL_INSTRUMENTATIONS = MXL_NAVIGATION_INSTRUMENTATIONS | MXL_ERROR_INSTRUMENTATIONS | MXL_PERFORMANCE_INSTRUMENTATIONS;
|
|
65
66
|
//#endregion
|
|
66
|
-
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_ERROR_LOG_COUNT, KEY_MXL_EXCEPTION_CAUSE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_JS_FILE_BUNDLE_IDS, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, MXL_ERROR_INSTRUMENTATIONS, MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
67
|
+
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_ERROR_LOG_COUNT, KEY_MXL_EXCEPTION_CAUSE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_JS_FILE_BUNDLE_IDS, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, KEY_REACT_COMPONENT_STACK, MXL_ERROR_INSTRUMENTATIONS, MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
67
68
|
//# sourceMappingURL=attributes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.d.ts","names":[],"sources":["../../src/constants/attributes.ts"],"mappings":";cAAa,YAAA;AAAA,cACA,aAAA;AAAA,cACA,kBAAA;AAAA,cACA,sBAAA;AAAA,cACA,wBAAA;AAAA,cACA,4BAAA;AAAA,cACA,yBAAA;AAAA,cACA,4BAAA;AAAA,cACA,8BAAA;AAAA,cACA,+BAAA;AAAA,cACA,0BAAA;AAAA,cACA,uBAAA;AAAA,cACA,kBAAA;AAAA,cACA,uBAAA;AAAA,cACA,cAAA;AAAA,cACA,qBAAA;AAAA,cACA,qBAAA;AAAA,cACA,uBAAA;AAAA,cACA,uBAAA;AAAA,cACA,kCAAA;AAAA,cAEA,oBAAA;AAAA,cACA,0BAAA;AAAA,cACA,uBAAA;AAAA,cACA,yBAAA;AAAA,cACA,oBAAA;AAAA,cACA,oBAAA;AAAA,cACA,iCAAA;AAAA,cAIA,iBAAA;AAAA,cACA,eAAA;AAAA,cACA,qBAAA;AAAA,aAED,SAAA;EACV,OAAA;EACA,OAAA;EACA,IAAA;EACA,SAAA;EAAA;EACA,eAAA;EACA,QAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,OAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;AAAA;AAAA,aAGU,UAAA;EACV,UAAA;EACA,UAAA;AAAA;AAAA,aAGU,+BAAA;EACV,iBAAA;EACA,WAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,aAGU,0BAAA;EACV,kBAAA;AAAA;AAAA,aAGU,gCAAA;EACV,UAAA;AAAA;AAAA,KAGU,oBAAA,GACR,+BAAA,GACA,0BAAA,GACA,gCAAA"}
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","names":[],"sources":["../../src/constants/attributes.ts"],"mappings":";cAAa,YAAA;AAAA,cACA,aAAA;AAAA,cACA,kBAAA;AAAA,cACA,sBAAA;AAAA,cACA,wBAAA;AAAA,cACA,4BAAA;AAAA,cACA,yBAAA;AAAA,cACA,4BAAA;AAAA,cACA,8BAAA;AAAA,cACA,+BAAA;AAAA,cACA,yBAAA;AAAA,cACA,0BAAA;AAAA,cACA,uBAAA;AAAA,cACA,kBAAA;AAAA,cACA,uBAAA;AAAA,cACA,cAAA;AAAA,cACA,qBAAA;AAAA,cACA,qBAAA;AAAA,cACA,uBAAA;AAAA,cACA,uBAAA;AAAA,cACA,kCAAA;AAAA,cAEA,oBAAA;AAAA,cACA,0BAAA;AAAA,cACA,uBAAA;AAAA,cACA,yBAAA;AAAA,cACA,oBAAA;AAAA,cACA,oBAAA;AAAA,cACA,iCAAA;AAAA,cAIA,iBAAA;AAAA,cACA,eAAA;AAAA,cACA,qBAAA;AAAA,aAED,SAAA;EACV,OAAA;EACA,OAAA;EACA,IAAA;EACA,SAAA;EAAA;EACA,eAAA;EACA,QAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,OAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;AAAA;AAAA,aAGU,UAAA;EACV,UAAA;EACA,UAAA;AAAA;AAAA,aAGU,+BAAA;EACV,iBAAA;EACA,WAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,aAGU,0BAAA;EACV,kBAAA;AAAA;AAAA,aAGU,gCAAA;EACV,UAAA;AAAA;AAAA,KAGU,oBAAA,GACR,+BAAA,GACA,0BAAA,GACA,gCAAA"}
|
|
@@ -9,6 +9,7 @@ const KEY_PREFIX_MXL_PROPERTIES = "mxl.properties.";
|
|
|
9
9
|
const KEY_MXL_SESSION_REASON_ENDED = "mxl.session_end_type";
|
|
10
10
|
const KEY_MXL_SESSION_REASON_STARTED = "mxl.session_start_type";
|
|
11
11
|
const KEY_MXL_JS_EXCEPTION_STACKTRACE = "mxl.stacktrace.js";
|
|
12
|
+
const KEY_REACT_COMPONENT_STACK = "react.component_stack";
|
|
12
13
|
const KEY_MXL_EXCEPTION_HANDLING = "mxl.exception_handling";
|
|
13
14
|
const KEY_MXL_EXCEPTION_CAUSE = "mxl.exception_cause";
|
|
14
15
|
const KEY_MXL_ERROR_CODE = "mxl.error_code";
|
|
@@ -66,6 +67,6 @@ let MXL_PERFORMANCE_INSTRUMENTATIONS = /* @__PURE__ */ function(MXL_PERFORMANCE_
|
|
|
66
67
|
return MXL_PERFORMANCE_INSTRUMENTATIONS;
|
|
67
68
|
}({});
|
|
68
69
|
//#endregion
|
|
69
|
-
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_ERROR_LOG_COUNT, KEY_MXL_EXCEPTION_CAUSE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_JS_FILE_BUNDLE_IDS, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, MXL_ERROR_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
70
|
+
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_ERROR_LOG_COUNT, KEY_MXL_EXCEPTION_CAUSE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_JS_FILE_BUNDLE_IDS, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, KEY_REACT_COMPONENT_STACK, MXL_ERROR_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
70
71
|
|
|
71
72
|
//# sourceMappingURL=attributes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","names":[],"sources":["../../src/constants/attributes.ts"],"sourcesContent":["export const KEY_MXL_TYPE = 'mxl.type';\nexport const KEY_MXL_STATE = 'mxl.state';\nexport const KEY_MXL_COLD_START = 'mxl.cold_start';\nexport const KEY_MXL_SESSION_NUMBER = 'mxl.session_number';\nexport const KEY_MXL_EXCEPTION_NUMBER = 'mxl.exception_number';\nexport const KEY_MXL_SDK_STARTUP_DURATION = 'mxl.sdk_startup_duration';\nexport const KEY_PREFIX_MXL_PROPERTIES = 'mxl.properties.';\nexport const KEY_MXL_SESSION_REASON_ENDED = 'mxl.session_end_type';\nexport const KEY_MXL_SESSION_REASON_STARTED = 'mxl.session_start_type';\nexport const KEY_MXL_JS_EXCEPTION_STACKTRACE = 'mxl.stacktrace.js';\nexport const KEY_MXL_EXCEPTION_HANDLING = 'mxl.exception_handling';\nexport const KEY_MXL_EXCEPTION_CAUSE = 'mxl.exception_cause';\nexport const KEY_MXL_ERROR_CODE = 'mxl.error_code';\nexport const KEY_MXL_APP_INSTANCE_ID = 'mxl.app_instance_id';\nexport const KEY_MXL_TAB_ID = 'mxl.tab_id';\nexport const KEY_MXL_SOURCE_TAB_ID = 'mxl.source_tab_id';\nexport const KEY_MXL_EXPERIENCE_ID = 'mxl.experience_id';\nexport const KEY_MXL_ERROR_LOG_COUNT = 'mxl.error_log_count';\nexport const KEY_MXL_INSTRUMENTATION = 'mxl.instrumentation';\nexport const KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT =\n 'mxl.unhandled_exceptions_count';\nexport const KEY_MXL_FROM_STORAGE = 'mxl.from_storage';\nexport const KEY_MXL_JS_FILE_BUNDLE_IDS = 'mxl.js_file_bundle_ids';\nexport const KEY_MXL_W3C_TRACEPARENT = 'mxl.w3c_traceparent';\nexport const KEY_MXL_NAVIGATION_SOURCE = 'mxl.navigation_source';\nexport const KEY_MXL_REFERRER_URL = 'mxl.referrer_url';\nexport const KEY_BROWSER_URL_FULL = 'browser.url.full';\nexport const KEY_MXL_MAX_PENDING_SPANS_REACHED =\n 'mxl.max_pending_spans_reached';\n// In the backend we use 'app.surface.name' and 'app.surface.id' for the page name and id\n// to be consistent with mobile where we use 'app.surface.*' for screen names and ids\nexport const KEY_MXL_PAGE_PATH = 'app.surface.name';\nexport const KEY_MXL_PAGE_ID = 'app.surface.id';\nexport const KEY_APP_SURFACE_LABEL = 'app.surface.label';\n\nexport enum MXL_TYPES {\n Session = 'ux.session',\n Network = 'perf.network_request',\n Perf = 'perf',\n SystemLog = 'sys.log', // SystemLog is a log mxl type that tells the MXL BE to treat this as an MXL Log to be shown in the dashboard.\n SystemException = 'sys.exception',\n WebVital = 'ux.web_vital',\n LoafScripts = 'ux.loaf_scripts',\n ResourceFetch = 'ux.resource_fetch',\n DocumentLoad = 'ux.document_load',\n Surface = 'ux.surface',\n UserTiming = 'ux.user_timing',\n ElementTiming = 'ux.element_timing',\n ServerTiming = 'ux.server_timing',\n}\n\nexport enum MXL_STATES {\n Foreground = 'foreground',\n Background = 'background',\n}\n\nexport enum MXL_NAVIGATION_INSTRUMENTATIONS {\n DeclarativeLegacy = 'react_router_declarative_legacy',\n Declarative = 'react_router_declarative',\n Data = 'react_router_data',\n Manual = 'manual',\n}\n\nexport enum MXL_ERROR_INSTRUMENTATIONS {\n ReactErrorBoundary = 'react_error_boundary',\n}\n\nexport enum MXL_PERFORMANCE_INSTRUMENTATIONS {\n UserTiming = 'user_timing',\n}\n\nexport type MXL_INSTRUMENTATIONS =\n | MXL_NAVIGATION_INSTRUMENTATIONS\n | MXL_ERROR_INSTRUMENTATIONS\n | MXL_PERFORMANCE_INSTRUMENTATIONS;\n"],"mappings":";AAAA,MAAa,eAAe;AAC5B,MAAa,gBAAgB;AAC7B,MAAa,qBAAqB;AAClC,MAAa,yBAAyB;AACtC,MAAa,2BAA2B;AACxC,MAAa,+BAA+B;AAC5C,MAAa,4BAA4B;AACzC,MAAa,+BAA+B;AAC5C,MAAa,iCAAiC;AAC9C,MAAa,kCAAkC;AAC/C,MAAa,6BAA6B;AAC1C,MAAa,0BAA0B;AACvC,MAAa,qBAAqB;AAClC,MAAa,0BAA0B;AACvC,MAAa,iBAAiB;AAC9B,MAAa,wBAAwB;AACrC,MAAa,wBAAwB;AACrC,MAAa,0BAA0B;AACvC,MAAa,0BAA0B;AACvC,MAAa,qCACX;AACF,MAAa,uBAAuB;AACpC,MAAa,6BAA6B;AAC1C,MAAa,0BAA0B;AACvC,MAAa,4BAA4B;AACzC,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AACpC,MAAa,oCACX;AAGF,MAAa,oBAAoB;AACjC,MAAa,kBAAkB;AAC/B,MAAa,wBAAwB;AAErC,IAAY,YAAL,yBAAA,WAAA;AACL,WAAA,aAAA;AACA,WAAA,aAAA;AACA,WAAA,UAAA;AACA,WAAA,eAAA;AACA,WAAA,qBAAA;AACA,WAAA,cAAA;AACA,WAAA,iBAAA;AACA,WAAA,mBAAA;AACA,WAAA,kBAAA;AACA,WAAA,aAAA;AACA,WAAA,gBAAA;AACA,WAAA,mBAAA;AACA,WAAA,kBAAA;;KACD;AAED,IAAY,aAAL,yBAAA,YAAA;AACL,YAAA,gBAAA;AACA,YAAA,gBAAA;;KACD;AAED,IAAY,kCAAL,yBAAA,iCAAA;AACL,iCAAA,uBAAA;AACA,iCAAA,iBAAA;AACA,iCAAA,UAAA;AACA,iCAAA,YAAA;;KACD;AAED,IAAY,6BAAL,yBAAA,4BAAA;AACL,4BAAA,wBAAA;;KACD;AAED,IAAY,mCAAL,yBAAA,kCAAA;AACL,kCAAA,gBAAA;;KACD"}
|
|
1
|
+
{"version":3,"file":"attributes.js","names":[],"sources":["../../src/constants/attributes.ts"],"sourcesContent":["export const KEY_MXL_TYPE = 'mxl.type';\nexport const KEY_MXL_STATE = 'mxl.state';\nexport const KEY_MXL_COLD_START = 'mxl.cold_start';\nexport const KEY_MXL_SESSION_NUMBER = 'mxl.session_number';\nexport const KEY_MXL_EXCEPTION_NUMBER = 'mxl.exception_number';\nexport const KEY_MXL_SDK_STARTUP_DURATION = 'mxl.sdk_startup_duration';\nexport const KEY_PREFIX_MXL_PROPERTIES = 'mxl.properties.';\nexport const KEY_MXL_SESSION_REASON_ENDED = 'mxl.session_end_type';\nexport const KEY_MXL_SESSION_REASON_STARTED = 'mxl.session_start_type';\nexport const KEY_MXL_JS_EXCEPTION_STACKTRACE = 'mxl.stacktrace.js';\nexport const KEY_REACT_COMPONENT_STACK = 'react.component_stack';\nexport const KEY_MXL_EXCEPTION_HANDLING = 'mxl.exception_handling';\nexport const KEY_MXL_EXCEPTION_CAUSE = 'mxl.exception_cause';\nexport const KEY_MXL_ERROR_CODE = 'mxl.error_code';\nexport const KEY_MXL_APP_INSTANCE_ID = 'mxl.app_instance_id';\nexport const KEY_MXL_TAB_ID = 'mxl.tab_id';\nexport const KEY_MXL_SOURCE_TAB_ID = 'mxl.source_tab_id';\nexport const KEY_MXL_EXPERIENCE_ID = 'mxl.experience_id';\nexport const KEY_MXL_ERROR_LOG_COUNT = 'mxl.error_log_count';\nexport const KEY_MXL_INSTRUMENTATION = 'mxl.instrumentation';\nexport const KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT =\n 'mxl.unhandled_exceptions_count';\nexport const KEY_MXL_FROM_STORAGE = 'mxl.from_storage';\nexport const KEY_MXL_JS_FILE_BUNDLE_IDS = 'mxl.js_file_bundle_ids';\nexport const KEY_MXL_W3C_TRACEPARENT = 'mxl.w3c_traceparent';\nexport const KEY_MXL_NAVIGATION_SOURCE = 'mxl.navigation_source';\nexport const KEY_MXL_REFERRER_URL = 'mxl.referrer_url';\nexport const KEY_BROWSER_URL_FULL = 'browser.url.full';\nexport const KEY_MXL_MAX_PENDING_SPANS_REACHED =\n 'mxl.max_pending_spans_reached';\n// In the backend we use 'app.surface.name' and 'app.surface.id' for the page name and id\n// to be consistent with mobile where we use 'app.surface.*' for screen names and ids\nexport const KEY_MXL_PAGE_PATH = 'app.surface.name';\nexport const KEY_MXL_PAGE_ID = 'app.surface.id';\nexport const KEY_APP_SURFACE_LABEL = 'app.surface.label';\n\nexport enum MXL_TYPES {\n Session = 'ux.session',\n Network = 'perf.network_request',\n Perf = 'perf',\n SystemLog = 'sys.log', // SystemLog is a log mxl type that tells the MXL BE to treat this as an MXL Log to be shown in the dashboard.\n SystemException = 'sys.exception',\n WebVital = 'ux.web_vital',\n LoafScripts = 'ux.loaf_scripts',\n ResourceFetch = 'ux.resource_fetch',\n DocumentLoad = 'ux.document_load',\n Surface = 'ux.surface',\n UserTiming = 'ux.user_timing',\n ElementTiming = 'ux.element_timing',\n ServerTiming = 'ux.server_timing',\n}\n\nexport enum MXL_STATES {\n Foreground = 'foreground',\n Background = 'background',\n}\n\nexport enum MXL_NAVIGATION_INSTRUMENTATIONS {\n DeclarativeLegacy = 'react_router_declarative_legacy',\n Declarative = 'react_router_declarative',\n Data = 'react_router_data',\n Manual = 'manual',\n}\n\nexport enum MXL_ERROR_INSTRUMENTATIONS {\n ReactErrorBoundary = 'react_error_boundary',\n}\n\nexport enum MXL_PERFORMANCE_INSTRUMENTATIONS {\n UserTiming = 'user_timing',\n}\n\nexport type MXL_INSTRUMENTATIONS =\n | MXL_NAVIGATION_INSTRUMENTATIONS\n | MXL_ERROR_INSTRUMENTATIONS\n | MXL_PERFORMANCE_INSTRUMENTATIONS;\n"],"mappings":";AAAA,MAAa,eAAe;AAC5B,MAAa,gBAAgB;AAC7B,MAAa,qBAAqB;AAClC,MAAa,yBAAyB;AACtC,MAAa,2BAA2B;AACxC,MAAa,+BAA+B;AAC5C,MAAa,4BAA4B;AACzC,MAAa,+BAA+B;AAC5C,MAAa,iCAAiC;AAC9C,MAAa,kCAAkC;AAC/C,MAAa,4BAA4B;AACzC,MAAa,6BAA6B;AAC1C,MAAa,0BAA0B;AACvC,MAAa,qBAAqB;AAClC,MAAa,0BAA0B;AACvC,MAAa,iBAAiB;AAC9B,MAAa,wBAAwB;AACrC,MAAa,wBAAwB;AACrC,MAAa,0BAA0B;AACvC,MAAa,0BAA0B;AACvC,MAAa,qCACX;AACF,MAAa,uBAAuB;AACpC,MAAa,6BAA6B;AAC1C,MAAa,0BAA0B;AACvC,MAAa,4BAA4B;AACzC,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AACpC,MAAa,oCACX;AAGF,MAAa,oBAAoB;AACjC,MAAa,kBAAkB;AAC/B,MAAa,wBAAwB;AAErC,IAAY,YAAL,yBAAA,WAAA;AACL,WAAA,aAAA;AACA,WAAA,aAAA;AACA,WAAA,UAAA;AACA,WAAA,eAAA;AACA,WAAA,qBAAA;AACA,WAAA,cAAA;AACA,WAAA,iBAAA;AACA,WAAA,mBAAA;AACA,WAAA,kBAAA;AACA,WAAA,aAAA;AACA,WAAA,gBAAA;AACA,WAAA,mBAAA;AACA,WAAA,kBAAA;;KACD;AAED,IAAY,aAAL,yBAAA,YAAA;AACL,YAAA,gBAAA;AACA,YAAA,gBAAA;;KACD;AAED,IAAY,kCAAL,yBAAA,iCAAA;AACL,iCAAA,uBAAA;AACA,iCAAA,iBAAA;AACA,iCAAA,UAAA;AACA,iCAAA,YAAA;;KACD;AAED,IAAY,6BAAL,yBAAA,4BAAA;AACL,4BAAA,wBAAA;;KACD;AAED,IAAY,mCAAL,yBAAA,kCAAA;AACL,kCAAA,gBAAA;;KACD"}
|
package/dist/constants/index.cjs
CHANGED
|
@@ -26,6 +26,7 @@ exports.KEY_MXL_TAB_ID = require_constants_attributes.KEY_MXL_TAB_ID;
|
|
|
26
26
|
exports.KEY_MXL_TYPE = require_constants_attributes.KEY_MXL_TYPE;
|
|
27
27
|
exports.KEY_MXL_W3C_TRACEPARENT = require_constants_attributes.KEY_MXL_W3C_TRACEPARENT;
|
|
28
28
|
exports.KEY_PREFIX_MXL_PROPERTIES = require_constants_attributes.KEY_PREFIX_MXL_PROPERTIES;
|
|
29
|
+
exports.KEY_REACT_COMPONENT_STACK = require_constants_attributes.KEY_REACT_COMPONENT_STACK;
|
|
29
30
|
exports.MXL_ERROR_INSTRUMENTATIONS = require_constants_attributes.MXL_ERROR_INSTRUMENTATIONS;
|
|
30
31
|
exports.MXL_NAVIGATION_INSTRUMENTATIONS = require_constants_attributes.MXL_NAVIGATION_INSTRUMENTATIONS;
|
|
31
32
|
exports.MXL_PERFORMANCE_INSTRUMENTATIONS = require_constants_attributes.MXL_PERFORMANCE_INSTRUMENTATIONS;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, MXL_ERROR_INSTRUMENTATIONS, MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES } from "./attributes.cjs";
|
|
2
|
-
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, MXL_ERROR_INSTRUMENTATIONS, type MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
1
|
+
import { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, KEY_REACT_COMPONENT_STACK, MXL_ERROR_INSTRUMENTATIONS, MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES } from "./attributes.cjs";
|
|
2
|
+
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, KEY_REACT_COMPONENT_STACK, MXL_ERROR_INSTRUMENTATIONS, type MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, MXL_ERROR_INSTRUMENTATIONS, MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES } from "./attributes.js";
|
|
2
|
-
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, MXL_ERROR_INSTRUMENTATIONS, type MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
1
|
+
import { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, KEY_REACT_COMPONENT_STACK, MXL_ERROR_INSTRUMENTATIONS, MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES } from "./attributes.js";
|
|
2
|
+
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, KEY_REACT_COMPONENT_STACK, MXL_ERROR_INSTRUMENTATIONS, type MXL_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
package/dist/constants/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, MXL_ERROR_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES } from "./attributes.js";
|
|
2
|
-
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, MXL_ERROR_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
1
|
+
import { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, KEY_REACT_COMPONENT_STACK, MXL_ERROR_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES } from "./attributes.js";
|
|
2
|
+
export { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_APP_INSTANCE_ID, KEY_MXL_COLD_START, KEY_MXL_ERROR_CODE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_EXPERIENCE_ID, KEY_MXL_FROM_STORAGE, KEY_MXL_INSTRUMENTATION, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_MAX_PENDING_SPANS_REACHED, KEY_MXL_NAVIGATION_SOURCE, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_REFERRER_URL, KEY_MXL_SDK_STARTUP_DURATION, KEY_MXL_SESSION_NUMBER, KEY_MXL_SESSION_REASON_ENDED, KEY_MXL_SESSION_REASON_STARTED, KEY_MXL_SOURCE_TAB_ID, KEY_MXL_STATE, KEY_MXL_TAB_ID, KEY_MXL_TYPE, KEY_MXL_W3C_TRACEPARENT, KEY_PREFIX_MXL_PROPERTIES, KEY_REACT_COMPONENT_STACK, MXL_ERROR_INSTRUMENTATIONS, MXL_NAVIGATION_INSTRUMENTATIONS, MXL_PERFORMANCE_INSTRUMENTATIONS, MXL_STATES, MXL_TYPES };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLLogExporter.cjs","names":["OTLPFetchLogExporter","DEFAULT_MXL_EXPORTER_CONFIG","getMXLHeaders","getLogEndpoint"],"sources":["../../../src/exporters/MXLLogExporter/MXLLogExporter.ts"],"sourcesContent":["import { DEFAULT_MXL_EXPORTER_CONFIG } from '../constants
|
|
1
|
+
{"version":3,"file":"MXLLogExporter.cjs","names":["OTLPFetchLogExporter","DEFAULT_MXL_EXPORTER_CONFIG","getMXLHeaders","getLogEndpoint"],"sources":["../../../src/exporters/MXLLogExporter/MXLLogExporter.ts"],"sourcesContent":["import { DEFAULT_MXL_EXPORTER_CONFIG } from '../constants';\nimport { getMXLHeaders } from '../utils';\nimport { OTLPFetchLogExporter } from './OTLPFetchLogExporter';\nimport type { MXLLogExporterArgs } from './types';\nimport { getLogEndpoint } from './utils';\n\nexport class MXLLogExporter extends OTLPFetchLogExporter {\n public constructor({ appID, userID, mxlDataURL }: MXLLogExporterArgs) {\n super({\n ...DEFAULT_MXL_EXPORTER_CONFIG,\n headers: getMXLHeaders(appID, userID),\n url: getLogEndpoint(appID, mxlDataURL),\n });\n }\n}\n"],"mappings":";;;;;;AAMA,IAAa,iBAAb,cAAoCA,sDAAAA,qBAAqB;CACvD,YAAmB,EAAE,OAAO,QAAQ,cAAkC;AACpE,QAAM;GACJ,GAAGC,4BAAAA;GACH,SAASC,wBAAAA,cAAc,OAAO,OAAO;GACrC,KAAKC,uCAAAA,eAAe,OAAO,WAAW;GACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLLogExporter.js","names":[],"sources":["../../../src/exporters/MXLLogExporter/MXLLogExporter.ts"],"sourcesContent":["import { DEFAULT_MXL_EXPORTER_CONFIG } from '../constants
|
|
1
|
+
{"version":3,"file":"MXLLogExporter.js","names":[],"sources":["../../../src/exporters/MXLLogExporter/MXLLogExporter.ts"],"sourcesContent":["import { DEFAULT_MXL_EXPORTER_CONFIG } from '../constants';\nimport { getMXLHeaders } from '../utils';\nimport { OTLPFetchLogExporter } from './OTLPFetchLogExporter';\nimport type { MXLLogExporterArgs } from './types';\nimport { getLogEndpoint } from './utils';\n\nexport class MXLLogExporter extends OTLPFetchLogExporter {\n public constructor({ appID, userID, mxlDataURL }: MXLLogExporterArgs) {\n super({\n ...DEFAULT_MXL_EXPORTER_CONFIG,\n headers: getMXLHeaders(appID, userID),\n url: getLogEndpoint(appID, mxlDataURL),\n });\n }\n}\n"],"mappings":";;;;;AAMA,IAAa,iBAAb,cAAoC,qBAAqB;CACvD,YAAmB,EAAE,OAAO,QAAQ,cAAkC;AACpE,QAAM;GACJ,GAAG;GACH,SAAS,cAAc,OAAO,OAAO;GACrC,KAAK,eAAe,OAAO,WAAW;GACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTLPFetchLogExporter.cjs","names":["BaseFetchExporter","createOtlpBrowserFetchExportDelegate","JsonLogsSerializer"],"sources":["../../../src/exporters/MXLLogExporter/OTLPFetchLogExporter.ts"],"sourcesContent":["import type {\n LogRecordExporter,\n ReadableLogRecord,\n} from '@opentelemetry/sdk-logs';\nimport { JsonLogsSerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { BaseFetchExporter } from '../BaseFetchExporter
|
|
1
|
+
{"version":3,"file":"OTLPFetchLogExporter.cjs","names":["BaseFetchExporter","createOtlpBrowserFetchExportDelegate","JsonLogsSerializer"],"sources":["../../../src/exporters/MXLLogExporter/OTLPFetchLogExporter.ts"],"sourcesContent":["import type {\n LogRecordExporter,\n ReadableLogRecord,\n} from '@opentelemetry/sdk-logs';\nimport { JsonLogsSerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { BaseFetchExporter } from '../BaseFetchExporter';\nimport { createOtlpBrowserFetchExportDelegate } from '../otlpBrowserFetchExportDelegate';\nimport type { OtlpFetchExporterConfig } from '../types';\n\n/**\n * JSON OTLP logs (gzip) for app telemetry. Session replay uses protobuf logs from\n * `@safaricom-mxl/session-recorder`; unifying wire formats is a product/back-end follow-up.\n */\nexport class OTLPFetchLogExporter\n extends BaseFetchExporter<ReadableLogRecord[]>\n implements LogRecordExporter\n{\n public constructor(config: OtlpFetchExporterConfig) {\n super(createOtlpBrowserFetchExportDelegate(config, JsonLogsSerializer));\n }\n}\n"],"mappings":";;;;;;;;;AAaA,IAAa,uBAAb,cACUA,sDAAAA,kBAEV;CACE,YAAmB,QAAiC;AAClD,QAAMC,iDAAAA,qCAAqC,QAAQC,cAAAA,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTLPFetchLogExporter.js","names":[],"sources":["../../../src/exporters/MXLLogExporter/OTLPFetchLogExporter.ts"],"sourcesContent":["import type {\n LogRecordExporter,\n ReadableLogRecord,\n} from '@opentelemetry/sdk-logs';\nimport { JsonLogsSerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { BaseFetchExporter } from '../BaseFetchExporter
|
|
1
|
+
{"version":3,"file":"OTLPFetchLogExporter.js","names":[],"sources":["../../../src/exporters/MXLLogExporter/OTLPFetchLogExporter.ts"],"sourcesContent":["import type {\n LogRecordExporter,\n ReadableLogRecord,\n} from '@opentelemetry/sdk-logs';\nimport { JsonLogsSerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { BaseFetchExporter } from '../BaseFetchExporter';\nimport { createOtlpBrowserFetchExportDelegate } from '../otlpBrowserFetchExportDelegate';\nimport type { OtlpFetchExporterConfig } from '../types';\n\n/**\n * JSON OTLP logs (gzip) for app telemetry. Session replay uses protobuf logs from\n * `@safaricom-mxl/session-recorder`; unifying wire formats is a product/back-end follow-up.\n */\nexport class OTLPFetchLogExporter\n extends BaseFetchExporter<ReadableLogRecord[]>\n implements LogRecordExporter\n{\n public constructor(config: OtlpFetchExporterConfig) {\n super(createOtlpBrowserFetchExportDelegate(config, JsonLogsSerializer));\n }\n}\n"],"mappings":";;;;;;;;AAaA,IAAa,uBAAb,cACU,kBAEV;CACE,YAAmB,QAAiC;AAClD,QAAM,qCAAqC,QAAQ,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","names":["getDataURL"],"sources":["../../../src/exporters/MXLLogExporter/utils.ts"],"sourcesContent":["import { getDataURL } from '../utils
|
|
1
|
+
{"version":3,"file":"utils.cjs","names":["getDataURL"],"sources":["../../../src/exporters/MXLLogExporter/utils.ts"],"sourcesContent":["import { getDataURL } from '../utils';\n\nexport const getLogEndpoint = (appID: string, mxlDataURL?: string) =>\n `${getDataURL(appID, mxlDataURL)}/v1/logs`;\n"],"mappings":";;;AAEA,MAAa,kBAAkB,OAAe,eAC5C,GAAGA,wBAAAA,WAAW,OAAO,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/exporters/MXLLogExporter/utils.ts"],"sourcesContent":["import { getDataURL } from '../utils
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/exporters/MXLLogExporter/utils.ts"],"sourcesContent":["import { getDataURL } from '../utils';\n\nexport const getLogEndpoint = (appID: string, mxlDataURL?: string) =>\n `${getDataURL(appID, mxlDataURL)}/v1/logs`;\n"],"mappings":";;AAEA,MAAa,kBAAkB,OAAe,eAC5C,GAAG,WAAW,OAAO,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLTraceExporter.cjs","names":["OTLPFetchTraceExporter","DEFAULT_MXL_EXPORTER_CONFIG","getMXLHeaders","getTraceEndpoint"],"sources":["../../../src/exporters/MXLTraceExporter/MXLTraceExporter.ts"],"sourcesContent":["import { DEFAULT_MXL_EXPORTER_CONFIG } from '../constants
|
|
1
|
+
{"version":3,"file":"MXLTraceExporter.cjs","names":["OTLPFetchTraceExporter","DEFAULT_MXL_EXPORTER_CONFIG","getMXLHeaders","getTraceEndpoint"],"sources":["../../../src/exporters/MXLTraceExporter/MXLTraceExporter.ts"],"sourcesContent":["import { DEFAULT_MXL_EXPORTER_CONFIG } from '../constants';\nimport { getMXLHeaders } from '../utils';\nimport { OTLPFetchTraceExporter } from './OTLPFetchTraceExporter';\nimport type { MXLTraceExporterArgs } from './types';\nimport { getTraceEndpoint } from './utils';\n\nexport class MXLTraceExporter extends OTLPFetchTraceExporter {\n public constructor({ appID, userID, mxlDataURL }: MXLTraceExporterArgs) {\n super({\n ...DEFAULT_MXL_EXPORTER_CONFIG,\n headers: getMXLHeaders(appID, userID),\n url: getTraceEndpoint(appID, mxlDataURL),\n });\n }\n}\n"],"mappings":";;;;;;AAMA,IAAa,mBAAb,cAAsCA,0DAAAA,uBAAuB;CAC3D,YAAmB,EAAE,OAAO,QAAQ,cAAoC;AACtE,QAAM;GACJ,GAAGC,4BAAAA;GACH,SAASC,wBAAAA,cAAc,OAAO,OAAO;GACrC,KAAKC,yCAAAA,iBAAiB,OAAO,WAAW;GACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLTraceExporter.js","names":[],"sources":["../../../src/exporters/MXLTraceExporter/MXLTraceExporter.ts"],"sourcesContent":["import { DEFAULT_MXL_EXPORTER_CONFIG } from '../constants
|
|
1
|
+
{"version":3,"file":"MXLTraceExporter.js","names":[],"sources":["../../../src/exporters/MXLTraceExporter/MXLTraceExporter.ts"],"sourcesContent":["import { DEFAULT_MXL_EXPORTER_CONFIG } from '../constants';\nimport { getMXLHeaders } from '../utils';\nimport { OTLPFetchTraceExporter } from './OTLPFetchTraceExporter';\nimport type { MXLTraceExporterArgs } from './types';\nimport { getTraceEndpoint } from './utils';\n\nexport class MXLTraceExporter extends OTLPFetchTraceExporter {\n public constructor({ appID, userID, mxlDataURL }: MXLTraceExporterArgs) {\n super({\n ...DEFAULT_MXL_EXPORTER_CONFIG,\n headers: getMXLHeaders(appID, userID),\n url: getTraceEndpoint(appID, mxlDataURL),\n });\n }\n}\n"],"mappings":";;;;;AAMA,IAAa,mBAAb,cAAsC,uBAAuB;CAC3D,YAAmB,EAAE,OAAO,QAAQ,cAAoC;AACtE,QAAM;GACJ,GAAG;GACH,SAAS,cAAc,OAAO,OAAO;GACrC,KAAK,iBAAiB,OAAO,WAAW;GACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTLPFetchTraceExporter.cjs","names":["BaseFetchExporter","createOtlpBrowserFetchExportDelegate","JsonTraceSerializer"],"sources":["../../../src/exporters/MXLTraceExporter/OTLPFetchTraceExporter.ts"],"sourcesContent":["import type { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-web';\nimport { JsonTraceSerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { BaseFetchExporter } from '../BaseFetchExporter
|
|
1
|
+
{"version":3,"file":"OTLPFetchTraceExporter.cjs","names":["BaseFetchExporter","createOtlpBrowserFetchExportDelegate","JsonTraceSerializer"],"sources":["../../../src/exporters/MXLTraceExporter/OTLPFetchTraceExporter.ts"],"sourcesContent":["import type { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-web';\nimport { JsonTraceSerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { BaseFetchExporter } from '../BaseFetchExporter';\nimport { createOtlpBrowserFetchExportDelegate } from '../otlpBrowserFetchExportDelegate';\nimport type { OtlpFetchExporterConfig } from '../types';\n\nexport class OTLPFetchTraceExporter\n extends BaseFetchExporter<ReadableSpan[]>\n implements SpanExporter\n{\n public constructor(config: OtlpFetchExporterConfig) {\n super(\n createOtlpBrowserFetchExportDelegate(\n {\n ...config,\n compression: 'gzip',\n },\n JsonTraceSerializer,\n ),\n );\n }\n}\n"],"mappings":";;;;;AAMA,IAAa,yBAAb,cACUA,sDAAAA,kBAEV;CACE,YAAmB,QAAiC;AAClD,QACEC,iDAAAA,qCACE;GACE,GAAG;GACH,aAAa;GACd,EACDC,cAAAA,oBACD,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTLPFetchTraceExporter.js","names":[],"sources":["../../../src/exporters/MXLTraceExporter/OTLPFetchTraceExporter.ts"],"sourcesContent":["import type { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-web';\nimport { JsonTraceSerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { BaseFetchExporter } from '../BaseFetchExporter
|
|
1
|
+
{"version":3,"file":"OTLPFetchTraceExporter.js","names":[],"sources":["../../../src/exporters/MXLTraceExporter/OTLPFetchTraceExporter.ts"],"sourcesContent":["import type { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-web';\nimport { JsonTraceSerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { BaseFetchExporter } from '../BaseFetchExporter';\nimport { createOtlpBrowserFetchExportDelegate } from '../otlpBrowserFetchExportDelegate';\nimport type { OtlpFetchExporterConfig } from '../types';\n\nexport class OTLPFetchTraceExporter\n extends BaseFetchExporter<ReadableSpan[]>\n implements SpanExporter\n{\n public constructor(config: OtlpFetchExporterConfig) {\n super(\n createOtlpBrowserFetchExportDelegate(\n {\n ...config,\n compression: 'gzip',\n },\n JsonTraceSerializer,\n ),\n );\n }\n}\n"],"mappings":";;;;AAMA,IAAa,yBAAb,cACU,kBAEV;CACE,YAAmB,QAAiC;AAClD,QACE,qCACE;GACE,GAAG;GACH,aAAa;GACd,EACD,oBACD,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","names":["getDataURL"],"sources":["../../../src/exporters/MXLTraceExporter/utils.ts"],"sourcesContent":["import { getDataURL } from '../utils
|
|
1
|
+
{"version":3,"file":"utils.cjs","names":["getDataURL"],"sources":["../../../src/exporters/MXLTraceExporter/utils.ts"],"sourcesContent":["import { getDataURL } from '../utils';\n\nexport const getTraceEndpoint = (appID: string, mxlDataURL?: string) =>\n `${getDataURL(appID, mxlDataURL)}/v1/traces`;\n"],"mappings":";;;AAEA,MAAa,oBAAoB,OAAe,eAC9C,GAAGA,wBAAAA,WAAW,OAAO,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/exporters/MXLTraceExporter/utils.ts"],"sourcesContent":["import { getDataURL } from '../utils
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/exporters/MXLTraceExporter/utils.ts"],"sourcesContent":["import { getDataURL } from '../utils';\n\nexport const getTraceEndpoint = (appID: string, mxlDataURL?: string) =>\n `${getDataURL(appID, mxlDataURL)}/v1/traces`;\n"],"mappings":";;AAEA,MAAa,oBAAoB,OAAe,eAC9C,GAAG,WAAW,OAAO,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlpBrowserFetchExportDelegate.cjs","names":["createRetryingTransport","createFetchTransport"],"sources":["../../src/exporters/otlpBrowserFetchExportDelegate.ts"],"sourcesContent":["import { createOtlpNetworkExportDelegate } from '@opentelemetry/otlp-exporter-base';\nimport type { ISerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport {
|
|
1
|
+
{"version":3,"file":"otlpBrowserFetchExportDelegate.cjs","names":["createRetryingTransport","createFetchTransport"],"sources":["../../src/exporters/otlpBrowserFetchExportDelegate.ts"],"sourcesContent":["import { createOtlpNetworkExportDelegate } from '@opentelemetry/otlp-exporter-base';\nimport type { ISerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { createFetchTransport, createRetryingTransport } from '../transport';\nimport type { OtlpFetchExporterConfig } from './types';\n\n// createOtlpBrowserFetchExportDelegate creates an export delegate that uses\n// the Fetch API to send data to an OTLP receiver.\nexport const createOtlpBrowserFetchExportDelegate = <Internal, Response>(\n config: OtlpFetchExporterConfig,\n serializer: ISerializer<Internal, Response>,\n) =>\n // createOtlpNetworkExportDelegate has an internal queue that handles\n // multiple requests going at the same time.\n createOtlpNetworkExportDelegate(\n config,\n serializer,\n createRetryingTransport({\n transport: createFetchTransport(config),\n }),\n );\n"],"mappings":";;;;;;AAOA,MAAa,wCACX,QACA,gBAAA,GAAA,kCAAA,iCAKE,QACA,YACAA,4DAAAA,wBAAwB,EACtB,WAAWC,sDAAAA,qBAAqB,OAAO,EACxC,CAAC,CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlpBrowserFetchExportDelegate.d.cts","names":[],"sources":["../../src/exporters/otlpBrowserFetchExportDelegate.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"otlpBrowserFetchExportDelegate.d.cts","names":[],"sources":["../../src/exporters/otlpBrowserFetchExportDelegate.ts"],"mappings":";;;;;cAOa,oCAAA,uBACX,MAAA,EAAQ,uBAAA,EACR,UAAA,EAAY,WAAA,CAAY,QAAA,EAAU,QAAA,MAAS,oCAAA,CAAA,mBAAA,CAAA,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlpBrowserFetchExportDelegate.d.ts","names":[],"sources":["../../src/exporters/otlpBrowserFetchExportDelegate.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"otlpBrowserFetchExportDelegate.d.ts","names":[],"sources":["../../src/exporters/otlpBrowserFetchExportDelegate.ts"],"mappings":";;;;;cAOa,oCAAA,uBACX,MAAA,EAAQ,uBAAA,EACR,UAAA,EAAY,WAAA,CAAY,QAAA,EAAU,QAAA,MAAS,oCAAA,CAAA,mBAAA,CAAA,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otlpBrowserFetchExportDelegate.js","names":[],"sources":["../../src/exporters/otlpBrowserFetchExportDelegate.ts"],"sourcesContent":["import { createOtlpNetworkExportDelegate } from '@opentelemetry/otlp-exporter-base';\nimport type { ISerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport {
|
|
1
|
+
{"version":3,"file":"otlpBrowserFetchExportDelegate.js","names":[],"sources":["../../src/exporters/otlpBrowserFetchExportDelegate.ts"],"sourcesContent":["import { createOtlpNetworkExportDelegate } from '@opentelemetry/otlp-exporter-base';\nimport type { ISerializer } from '#safaricom-mxl/otlp-transformer'; // internal package: https://nodejs.org/api/packages.html#imports\nimport { createFetchTransport, createRetryingTransport } from '../transport';\nimport type { OtlpFetchExporterConfig } from './types';\n\n// createOtlpBrowserFetchExportDelegate creates an export delegate that uses\n// the Fetch API to send data to an OTLP receiver.\nexport const createOtlpBrowserFetchExportDelegate = <Internal, Response>(\n config: OtlpFetchExporterConfig,\n serializer: ISerializer<Internal, Response>,\n) =>\n // createOtlpNetworkExportDelegate has an internal queue that handles\n // multiple requests going at the same time.\n createOtlpNetworkExportDelegate(\n config,\n serializer,\n createRetryingTransport({\n transport: createFetchTransport(config),\n }),\n );\n"],"mappings":";;;;AAOA,MAAa,wCACX,QACA,eAIA,gCACE,QACA,YACA,wBAAwB,EACtB,WAAW,qBAAqB,OAAO,EACxC,CAAC,CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLInstrumentationBase.cjs","names":["InstrumentationAbstract","OTelPerformanceManager","session","log"],"sources":["../../../src/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.ts"],"sourcesContent":["import type {\n Instrumentation,\n InstrumentationConfig,\n InstrumentationModuleDefinition,\n} from '@opentelemetry/instrumentation';\nimport type { LogManager } from '../../api-logs
|
|
1
|
+
{"version":3,"file":"MXLInstrumentationBase.cjs","names":["InstrumentationAbstract","OTelPerformanceManager","session","log"],"sources":["../../../src/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.ts"],"sourcesContent":["import type {\n Instrumentation,\n InstrumentationConfig,\n InstrumentationModuleDefinition,\n} from '@opentelemetry/instrumentation';\nimport type { LogManager } from '../../api-logs';\nimport { log } from '../../api-logs';\nimport type { SpanSessionManager } from '../../api-sessions';\nimport { session } from '../../api-sessions';\nimport type { LimitManagerInternal } from '../../managers/MXLLimitManager/types';\nimport type { PerformanceManager } from '../../utils';\nimport { OTelPerformanceManager } from '../../utils';\nimport { InstrumentationAbstract } from '../InstrumentationAbstract';\nimport type { MXLInstrumentationBaseArgs } from './types';\n\nexport abstract class MXLInstrumentationBase<\n ConfigType extends InstrumentationConfig = InstrumentationConfig,\n >\n extends InstrumentationAbstract<ConfigType>\n implements Instrumentation<ConfigType>\n{\n private _sessionManager: SpanSessionManager;\n private _logManager: LogManager;\n private _limitManager: LimitManagerInternal | undefined;\n private readonly _perf: PerformanceManager;\n\n protected constructor({\n instrumentationName,\n instrumentationVersion,\n config,\n diag,\n perf,\n limitManager,\n }: MXLInstrumentationBaseArgs<ConfigType>) {\n super(instrumentationName, instrumentationVersion, config);\n // optionally override the diag logger from the base class\n if (diag) {\n this._diag = diag;\n }\n this._perf = perf ?? new OTelPerformanceManager();\n this._sessionManager = session.getSpanSessionManager();\n this._logManager = log.getLogManager();\n this._limitManager = limitManager;\n }\n\n /** Optional cap manager for timings and similar high-volume probes. */\n\n protected get limitManager(): LimitManagerInternal | undefined {\n return this._limitManager;\n }\n /* Returns session provider */\n protected get sessionManager(): SpanSessionManager {\n return this._sessionManager;\n }\n\n /* Returns log manager */\n protected get logManager(): LogManager {\n return this._logManager;\n }\n\n /* Returns the performance manager */\n protected get perf(): PerformanceManager {\n return this._perf;\n }\n\n // no-op\n // Note: OTel uses `| void` but we use `| undefined` for semantic clarity.\n // `void` in union types is confusing because it mixes \"returns nothing\" with \"returns data or nothing\".\n // `undefined` better expresses the intent: this method may or may not return a value.\n protected override init():\n | InstrumentationModuleDefinition\n | InstrumentationModuleDefinition[]\n | undefined {\n return;\n }\n\n public setLimitManager(limitManager: LimitManagerInternal): void {\n this._limitManager = limitManager;\n }\n\n public setLogManager(logManager: LogManager): void {\n this._logManager = logManager;\n }\n\n public setSessionManager(sessionManager: SpanSessionManager): void {\n this._sessionManager = sessionManager;\n }\n}\n"],"mappings":";;;;;;AAeA,IAAsB,yBAAtB,cAGUA,yEAAAA,wBAEV;CACE;CACA;CACA;CACA;CAEA,YAAsB,EACpB,qBACA,wBACA,QACA,MACA,MACA,gBACyC;AACzC,QAAM,qBAAqB,wBAAwB,OAAO;AAE1D,MAAI,KACF,MAAK,QAAQ;AAEf,OAAK,QAAQ,QAAQ,IAAIC,wDAAAA,wBAAwB;AACjD,OAAK,kBAAkBC,gCAAAA,QAAQ,uBAAuB;AACtD,OAAK,cAAcC,wBAAAA,IAAI,eAAe;AACtC,OAAK,gBAAgB;;;CAKvB,IAAc,eAAiD;AAC7D,SAAO,KAAK;;CAGd,IAAc,iBAAqC;AACjD,SAAO,KAAK;;CAId,IAAc,aAAyB;AACrC,SAAO,KAAK;;CAId,IAAc,OAA2B;AACvC,SAAO,KAAK;;CAOd,OAGc;CAId,gBAAuB,cAA0C;AAC/D,OAAK,gBAAgB;;CAGvB,cAAqB,YAA8B;AACjD,OAAK,cAAc;;CAGrB,kBAAyB,gBAA0C;AACjE,OAAK,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLInstrumentationBase.js","names":[],"sources":["../../../src/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.ts"],"sourcesContent":["import type {\n Instrumentation,\n InstrumentationConfig,\n InstrumentationModuleDefinition,\n} from '@opentelemetry/instrumentation';\nimport type { LogManager } from '../../api-logs
|
|
1
|
+
{"version":3,"file":"MXLInstrumentationBase.js","names":[],"sources":["../../../src/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.ts"],"sourcesContent":["import type {\n Instrumentation,\n InstrumentationConfig,\n InstrumentationModuleDefinition,\n} from '@opentelemetry/instrumentation';\nimport type { LogManager } from '../../api-logs';\nimport { log } from '../../api-logs';\nimport type { SpanSessionManager } from '../../api-sessions';\nimport { session } from '../../api-sessions';\nimport type { LimitManagerInternal } from '../../managers/MXLLimitManager/types';\nimport type { PerformanceManager } from '../../utils';\nimport { OTelPerformanceManager } from '../../utils';\nimport { InstrumentationAbstract } from '../InstrumentationAbstract';\nimport type { MXLInstrumentationBaseArgs } from './types';\n\nexport abstract class MXLInstrumentationBase<\n ConfigType extends InstrumentationConfig = InstrumentationConfig,\n >\n extends InstrumentationAbstract<ConfigType>\n implements Instrumentation<ConfigType>\n{\n private _sessionManager: SpanSessionManager;\n private _logManager: LogManager;\n private _limitManager: LimitManagerInternal | undefined;\n private readonly _perf: PerformanceManager;\n\n protected constructor({\n instrumentationName,\n instrumentationVersion,\n config,\n diag,\n perf,\n limitManager,\n }: MXLInstrumentationBaseArgs<ConfigType>) {\n super(instrumentationName, instrumentationVersion, config);\n // optionally override the diag logger from the base class\n if (diag) {\n this._diag = diag;\n }\n this._perf = perf ?? new OTelPerformanceManager();\n this._sessionManager = session.getSpanSessionManager();\n this._logManager = log.getLogManager();\n this._limitManager = limitManager;\n }\n\n /** Optional cap manager for timings and similar high-volume probes. */\n\n protected get limitManager(): LimitManagerInternal | undefined {\n return this._limitManager;\n }\n /* Returns session provider */\n protected get sessionManager(): SpanSessionManager {\n return this._sessionManager;\n }\n\n /* Returns log manager */\n protected get logManager(): LogManager {\n return this._logManager;\n }\n\n /* Returns the performance manager */\n protected get perf(): PerformanceManager {\n return this._perf;\n }\n\n // no-op\n // Note: OTel uses `| void` but we use `| undefined` for semantic clarity.\n // `void` in union types is confusing because it mixes \"returns nothing\" with \"returns data or nothing\".\n // `undefined` better expresses the intent: this method may or may not return a value.\n protected override init():\n | InstrumentationModuleDefinition\n | InstrumentationModuleDefinition[]\n | undefined {\n return;\n }\n\n public setLimitManager(limitManager: LimitManagerInternal): void {\n this._limitManager = limitManager;\n }\n\n public setLogManager(logManager: LogManager): void {\n this._logManager = logManager;\n }\n\n public setSessionManager(sessionManager: SpanSessionManager): void {\n this._sessionManager = sessionManager;\n }\n}\n"],"mappings":";;;;;AAeA,IAAsB,yBAAtB,cAGU,wBAEV;CACE;CACA;CACA;CACA;CAEA,YAAsB,EACpB,qBACA,wBACA,QACA,MACA,MACA,gBACyC;AACzC,QAAM,qBAAqB,wBAAwB,OAAO;AAE1D,MAAI,KACF,MAAK,QAAQ;AAEf,OAAK,QAAQ,QAAQ,IAAI,wBAAwB;AACjD,OAAK,kBAAkB,QAAQ,uBAAuB;AACtD,OAAK,cAAc,IAAI,eAAe;AACtC,OAAK,gBAAgB;;;CAKvB,IAAc,eAAiD;AAC7D,SAAO,KAAK;;CAGd,IAAc,iBAAqC;AACjD,SAAO,KAAK;;CAId,IAAc,aAAyB;AACrC,SAAO,KAAK;;CAId,IAAc,OAA2B;AACvC,SAAO,KAAK;;CAOd,OAGc;CAId,gBAAuB,cAA0C;AAC/D,OAAK,gBAAgB;;CAGvB,cAAqB,YAA8B;AACjD,OAAK,cAAc;;CAGrB,kBAAyB,gBAA0C;AACjE,OAAK,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClicksInstrumentation.cjs","names":["MXLInstrumentationBase","getHTMLElementFriendlyName"],"sources":["../../../../src/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.ts"],"sourcesContent":["/*\n This instrumentation is taking code from here as a starting point:\n https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts\n\n But not using that instrumentation directly because:\n\n 1) We want to record clicks as span events on the Session span\n 2) There is a bug with the instrumentation that causes a large number of spans to be created for a single click\n when zone context isn't available. To avoid the bug we take a simpler approach here and add a listener directly\n to `document` rather than trying to patch the `addEventListener` method on the prototype, this does mean we miss\n recording click events for which `stopPropagation` is called. See https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1368\n */\n\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase
|
|
1
|
+
{"version":3,"file":"ClicksInstrumentation.cjs","names":["MXLInstrumentationBase","getHTMLElementFriendlyName"],"sources":["../../../../src/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.ts"],"sourcesContent":["/*\n This instrumentation is taking code from here as a starting point:\n https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts\n\n But not using that instrumentation directly because:\n\n 1) We want to record clicks as span events on the Session span\n 2) There is a bug with the instrumentation that causes a large number of spans to be created for a single click\n when zone context isn't available. To avoid the bug we take a simpler approach here and add a listener directly\n to `document` rather than trying to patch the `addEventListener` method on the prototype, this does mean we miss\n recording click events for which `stopPropagation` is called. See https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1368\n */\n\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { ClicksInstrumentationArgs } from './types';\n\nimport { getHTMLElementFriendlyName } from './utils';\n\nexport class ClicksInstrumentation extends MXLInstrumentationBase {\n private readonly _onClickHandler: (event: MouseEvent) => void;\n\n public constructor({\n diag,\n perf,\n shouldTrack,\n innerTextForElement,\n }: ClicksInstrumentationArgs = {}) {\n super({\n instrumentationName: 'ClicksInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n perf,\n config: {},\n });\n\n this._onClickHandler = (event: MouseEvent) => {\n const element = event.target;\n\n if (!(element instanceof HTMLElement)) {\n return;\n }\n if (element.hasAttribute('disabled')) {\n return;\n }\n\n if (shouldTrack && !shouldTrack(element)) {\n return;\n }\n\n try {\n const currentSessionSpan = this.sessionManager.getSessionSpan();\n if (currentSessionSpan) {\n currentSessionSpan.addEvent(\n 'click',\n {\n 'mxl.type': 'ux.tap',\n 'view.name': getHTMLElementFriendlyName(\n element,\n innerTextForElement\n ? innerTextForElement(element)\n : element.innerText,\n ),\n 'tap.coords': `${event.x.toString()},${event.y.toString()}`,\n },\n this.perf.epochMillisFromOriginOffset(event.timeStamp),\n );\n }\n } catch (e) {\n this._diag.error('failed to create new user interaction span event', e);\n }\n };\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public disable(): void {\n document.removeEventListener('click', this._onClickHandler);\n }\n\n public enable(): void {\n document.addEventListener('click', this._onClickHandler);\n }\n}\n"],"mappings":";;;;AAkBA,IAAa,wBAAb,cAA2CA,uEAAAA,uBAAuB;CAChE;CAEA,YAAmB,EACjB,MACA,MACA,aACA,wBAC6B,EAAE,EAAE;AACjC,QAAM;GACJ,qBAAqB;GACrB,wBAAwB;GACxB;GACA;GACA,QAAQ,EAAE;GACX,CAAC;AAEF,OAAK,mBAAmB,UAAsB;GAC5C,MAAM,UAAU,MAAM;AAEtB,OAAI,EAAE,mBAAmB,aACvB;AAEF,OAAI,QAAQ,aAAa,WAAW,CAClC;AAGF,OAAI,eAAe,CAAC,YAAY,QAAQ,CACtC;AAGF,OAAI;IACF,MAAM,qBAAqB,KAAK,eAAe,gBAAgB;AAC/D,QAAI,mBACF,oBAAmB,SACjB,SACA;KACE,YAAY;KACZ,aAAaC,4DAAAA,2BACX,SACA,sBACI,oBAAoB,QAAQ,GAC5B,QAAQ,UACb;KACD,cAAc,GAAG,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,EAAE,UAAU;KAC1D,EACD,KAAK,KAAK,4BAA4B,MAAM,UAAU,CACvD;YAEI,GAAG;AACV,SAAK,MAAM,MAAM,oDAAoD,EAAE;;;AAI3E,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,UAAuB;AACrB,WAAS,oBAAoB,SAAS,KAAK,gBAAgB;;CAG7D,SAAsB;AACpB,WAAS,iBAAiB,SAAS,KAAK,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClicksInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.ts"],"sourcesContent":["/*\n This instrumentation is taking code from here as a starting point:\n https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts\n\n But not using that instrumentation directly because:\n\n 1) We want to record clicks as span events on the Session span\n 2) There is a bug with the instrumentation that causes a large number of spans to be created for a single click\n when zone context isn't available. To avoid the bug we take a simpler approach here and add a listener directly\n to `document` rather than trying to patch the `addEventListener` method on the prototype, this does mean we miss\n recording click events for which `stopPropagation` is called. See https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1368\n */\n\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase
|
|
1
|
+
{"version":3,"file":"ClicksInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.ts"],"sourcesContent":["/*\n This instrumentation is taking code from here as a starting point:\n https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts\n\n But not using that instrumentation directly because:\n\n 1) We want to record clicks as span events on the Session span\n 2) There is a bug with the instrumentation that causes a large number of spans to be created for a single click\n when zone context isn't available. To avoid the bug we take a simpler approach here and add a listener directly\n to `document` rather than trying to patch the `addEventListener` method on the prototype, this does mean we miss\n recording click events for which `stopPropagation` is called. See https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1368\n */\n\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { ClicksInstrumentationArgs } from './types';\n\nimport { getHTMLElementFriendlyName } from './utils';\n\nexport class ClicksInstrumentation extends MXLInstrumentationBase {\n private readonly _onClickHandler: (event: MouseEvent) => void;\n\n public constructor({\n diag,\n perf,\n shouldTrack,\n innerTextForElement,\n }: ClicksInstrumentationArgs = {}) {\n super({\n instrumentationName: 'ClicksInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n perf,\n config: {},\n });\n\n this._onClickHandler = (event: MouseEvent) => {\n const element = event.target;\n\n if (!(element instanceof HTMLElement)) {\n return;\n }\n if (element.hasAttribute('disabled')) {\n return;\n }\n\n if (shouldTrack && !shouldTrack(element)) {\n return;\n }\n\n try {\n const currentSessionSpan = this.sessionManager.getSessionSpan();\n if (currentSessionSpan) {\n currentSessionSpan.addEvent(\n 'click',\n {\n 'mxl.type': 'ux.tap',\n 'view.name': getHTMLElementFriendlyName(\n element,\n innerTextForElement\n ? innerTextForElement(element)\n : element.innerText,\n ),\n 'tap.coords': `${event.x.toString()},${event.y.toString()}`,\n },\n this.perf.epochMillisFromOriginOffset(event.timeStamp),\n );\n }\n } catch (e) {\n this._diag.error('failed to create new user interaction span event', e);\n }\n };\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public disable(): void {\n document.removeEventListener('click', this._onClickHandler);\n }\n\n public enable(): void {\n document.addEventListener('click', this._onClickHandler);\n }\n}\n"],"mappings":";;;AAkBA,IAAa,wBAAb,cAA2C,uBAAuB;CAChE;CAEA,YAAmB,EACjB,MACA,MACA,aACA,wBAC6B,EAAE,EAAE;AACjC,QAAM;GACJ,qBAAqB;GACrB,wBAAwB;GACxB;GACA;GACA,QAAQ,EAAE;GACX,CAAC;AAEF,OAAK,mBAAmB,UAAsB;GAC5C,MAAM,UAAU,MAAM;AAEtB,OAAI,EAAE,mBAAmB,aACvB;AAEF,OAAI,QAAQ,aAAa,WAAW,CAClC;AAGF,OAAI,eAAe,CAAC,YAAY,QAAQ,CACtC;AAGF,OAAI;IACF,MAAM,qBAAqB,KAAK,eAAe,gBAAgB;AAC/D,QAAI,mBACF,oBAAmB,SACjB,SACA;KACE,YAAY;KACZ,aAAa,2BACX,SACA,sBACI,oBAAoB,QAAQ,GAC5B,QAAQ,UACb;KACD,cAAc,GAAG,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,EAAE,UAAU;KAC1D,EACD,KAAK,KAAK,4BAA4B,MAAM,UAAU,CACvD;YAEI,GAAG;AACV,SAAK,MAAM,MAAM,oDAAoD,EAAE;;;AAI3E,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,UAAuB;AACrB,WAAS,oBAAoB,SAAS,KAAK,gBAAgB;;CAG7D,SAAsB;AACpB,WAAS,iBAAiB,SAAS,KAAK,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentLoadInstrumentation.cjs","names":["MXLInstrumentationBase","TRACE_PARENT_HEADER","getPerformanceNavigationEntries","propagation","ROOT_CONTEXT","PerformanceTimingNames","trace","context","ATTR_URL_FULL","KEY_MXL_TYPE","ATTR_USER_AGENT_ORIGINAL","ATTR_HTTP_RESPONSE_STATUS_CODE","ATTR_HTTP_RESPONSE_BODY_SIZE","ATTR_HTTP_RESPONSE_SIZE"],"sources":["../../../../src/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.ts"],"sourcesContent":["/*\n * Adapted from OpenTelemetry document-load instrumentation\n * https://github.com/open-telemetry/opentelemetry-js-contrib/tree/cc7eff47e2e7bad7678241b766753d5bd6dbc85f/packages/instrumentation-document-load\n *\n * Additional PerformanceResourceTiming attributes collected:\n * - entry_type, initiator_type\n * - decoded_body_size, http.response.body.size, http.response.size\n * - delivery_type (Chromium only)\n * - render_blocking_status (Chromium only)\n * - http.response.status_code (no Safari support)\n *\n * Custom diagnostic attributes added to identify resource loading issues:\n * - http.response.cors_opaque - CORS-restricted resource (opaque response)\n * - http.response.cache_revalidated - 304 Not Modified response\n * - http.request.incomplete - Request started but didn't complete (network error, aborted)\n * - http.request.prevented - Request never started (blocked by CSP, browser, extension)\n */\n\nimport type { Span } from '@opentelemetry/api';\nimport { context, propagation, ROOT_CONTEXT, trace } from '@opentelemetry/api';\nimport { TRACE_PARENT_HEADER } from '@opentelemetry/core';\nimport { safeExecuteInTheMiddle } from '@opentelemetry/instrumentation';\nimport type { PerformanceEntries } from '@opentelemetry/sdk-trace-web';\nimport {\n addSpanNetworkEvent,\n addSpanNetworkEvents,\n hasKey,\n PerformanceTimingNames,\n} from '@opentelemetry/sdk-trace-web';\nimport { ATTR_HTTP_RESPONSE_STATUS_CODE } from '@opentelemetry/semantic-conventions';\nimport {\n ATTR_HTTP_RESPONSE_BODY_SIZE,\n ATTR_HTTP_RESPONSE_SIZE,\n ATTR_URL_FULL,\n ATTR_USER_AGENT_ORIGINAL,\n} from '@opentelemetry/semantic-conventions/incubating';\nimport { MXL_TYPES, KEY_MXL_TYPE } from '../../../constants/index.ts';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase/index.ts';\nimport { AttributeNames } from './enums/AttributeNames.ts';\nimport type {\n DocumentLoadCustomAttributeFunction,\n DocumentLoadInstrumentationConfig,\n ResourceFetchCustomAttributeFunction,\n} from './types.ts';\nimport {\n addSpanPerformancePaintEvents,\n getPerformanceNavigationEntries,\n} from './utils.ts';\n\n/**\n * Adds new browser features not yet in TypeScript's DOM lib (as of Oct 2025):\n * - deliveryType: Chromium only (experimental) https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/deliveryType\n * - renderBlockingStatus: Chromium only https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/renderBlockingStatus\n */\ntype MXLPerformanceResourceTiming = PerformanceResourceTiming & {\n deliveryType?: 'cache' | '';\n renderBlockingStatus?: 'blocking' | 'non-blocking';\n};\n\n// PerformanceResourceTiming attribute names\nconst ATTR_HTTP_RESPONSE_DELIVERY_TYPE = 'http.response.delivery_type';\nconst ATTR_HTTP_RESPONSE_DECODED_BODY_SIZE = 'http.response.decoded_body_size';\nconst ATTR_HTTP_REQUEST_INITIATOR_TYPE = 'http.request.initiator_type';\nconst ATTR_HTTP_REQUEST_RENDER_BLOCKING_STATUS =\n 'http.request.render_blocking_status';\n\n// Diagnostic attribute names\nconst ATTR_HTTP_RESPONSE_CORS_OPAQUE = 'http.response.cors_opaque'; // CORS-restricted resource (opaque response)\nconst ATTR_HTTP_RESPONSE_CACHE_REVALIDATED = 'http.response.cache_revalidated'; // 304 Not Modified response\nconst ATTR_HTTP_REQUEST_INCOMPLETE = 'http.request.incomplete'; // Request started but didn't complete\nconst ATTR_HTTP_REQUEST_PREVENTED = 'http.request.prevented'; // Request never started (blocked)\n\nexport class DocumentLoadInstrumentation extends MXLInstrumentationBase<DocumentLoadInstrumentationConfig> {\n private readonly _onDocumentLoaded: () => void;\n private _performanceCollected = false;\n\n public constructor({\n diag,\n perf,\n enabled,\n applyCustomAttributesOnSpan,\n ignorePerformancePaintEvents = false,\n ignoreNetworkEvents = false,\n }: DocumentLoadInstrumentationConfig = {}) {\n super({\n instrumentationName: 'DocumentLoadInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n perf,\n config: {\n enabled,\n applyCustomAttributesOnSpan,\n ignorePerformancePaintEvents,\n ignoreNetworkEvents,\n },\n });\n\n this._onDocumentLoaded = () => {\n // Timeout needed because performance metrics for loadEnd aren't available until after the load event\n window.setTimeout(() => {\n this._collectPerformance();\n }, 0);\n };\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n protected override init() {\n this._diag.debug('Initializing document load instrumentation');\n return undefined;\n }\n\n /**\n * Adds spans for all resources\n * @param rootSpan\n */\n private _addResourcesSpans(rootSpan: Span): void {\n const resources: MXLPerformanceResourceTiming[] =\n performance.getEntriesByType('resource');\n resources.forEach((resource) => {\n this._initResourceSpan(resource, rootSpan);\n });\n }\n\n /**\n * Collects information about performance and creates appropriate spans\n */\n private _collectPerformance(): void {\n if (this._performanceCollected) {\n return;\n }\n this._performanceCollected = true;\n\n const metaElement = Array.from(document.getElementsByTagName('meta')).find(\n (e) => e.getAttribute('name') === TRACE_PARENT_HEADER,\n );\n const entries = getPerformanceNavigationEntries();\n const traceparent = metaElement?.content || '';\n context.with(propagation.extract(ROOT_CONTEXT, { traceparent }), () => {\n const rootSpan = this._startSpan(\n AttributeNames.DOCUMENT_LOAD,\n PerformanceTimingNames.FETCH_START,\n entries,\n );\n if (!rootSpan) {\n return;\n }\n context.with(trace.setSpan(context.active(), rootSpan), () => {\n const fetchSpan = this._startSpan(\n AttributeNames.DOCUMENT_FETCH,\n PerformanceTimingNames.FETCH_START,\n entries,\n );\n if (fetchSpan) {\n fetchSpan.setAttribute(ATTR_URL_FULL, location.href);\n context.with(trace.setSpan(context.active(), fetchSpan), () => {\n addSpanNetworkEvents(\n fetchSpan,\n entries,\n this.getConfig().ignoreNetworkEvents,\n );\n this._addCustomAttributesOnSpan(\n fetchSpan,\n this.getConfig().applyCustomAttributesOnSpan?.documentFetch,\n );\n this._endSpan(\n fetchSpan,\n PerformanceTimingNames.RESPONSE_END,\n entries,\n );\n });\n }\n });\n\n rootSpan.setAttribute(KEY_MXL_TYPE, MXL_TYPES.DocumentLoad);\n rootSpan.setAttribute(ATTR_URL_FULL, location.href);\n rootSpan.setAttribute(ATTR_USER_AGENT_ORIGINAL, navigator.userAgent);\n\n this._addResourcesSpans(rootSpan);\n\n if (!this.getConfig().ignoreNetworkEvents) {\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.FETCH_START,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.UNLOAD_EVENT_START,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.UNLOAD_EVENT_END,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.DOM_INTERACTIVE,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.DOM_CONTENT_LOADED_EVENT_START,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.DOM_CONTENT_LOADED_EVENT_END,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.DOM_COMPLETE,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.LOAD_EVENT_START,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.LOAD_EVENT_END,\n entries,\n );\n }\n\n if (!this.getConfig().ignorePerformancePaintEvents) {\n addSpanPerformancePaintEvents(rootSpan);\n }\n\n this._addCustomAttributesOnSpan(\n rootSpan,\n this.getConfig().applyCustomAttributesOnSpan?.documentLoad,\n );\n this._endSpan(rootSpan, PerformanceTimingNames.LOAD_EVENT_END, entries);\n });\n }\n\n /**\n * Helper function for ending a span\n * @param span\n * @param performanceName name of performance entry for end time\n * @param entries\n */\n private _endSpan(\n span: Span | undefined,\n performanceName: string,\n entries: PerformanceEntries,\n ) {\n // Span can be undefined when entries are missing the required performance timing - no span will be created\n if (span) {\n if (\n hasKey(entries, performanceName) &&\n typeof entries[performanceName] === 'number'\n ) {\n span.end(entries[performanceName]);\n } else {\n span.end();\n }\n }\n }\n\n /**\n * Creates and ends a span with network information about a resource added as timed events\n * @param resource\n * @param parentSpan\n */\n private _initResourceSpan(\n resource: MXLPerformanceResourceTiming,\n parentSpan: Span,\n ) {\n const span = this._startSpan(\n AttributeNames.RESOURCE_FETCH,\n PerformanceTimingNames.FETCH_START,\n resource,\n parentSpan,\n );\n if (!span) {\n return;\n }\n\n span.setAttribute(KEY_MXL_TYPE, MXL_TYPES.ResourceFetch);\n span.setAttribute(ATTR_URL_FULL, resource.name);\n addSpanNetworkEvents(span, resource, this.getConfig().ignoreNetworkEvents);\n\n if (resource.deliveryType) {\n span.setAttribute(\n ATTR_HTTP_RESPONSE_DELIVERY_TYPE,\n resource.deliveryType,\n );\n }\n\n if (resource.initiatorType) {\n span.setAttribute(\n ATTR_HTTP_REQUEST_INITIATOR_TYPE,\n resource.initiatorType,\n );\n }\n\n if (resource.renderBlockingStatus) {\n span.setAttribute(\n ATTR_HTTP_REQUEST_RENDER_BLOCKING_STATUS,\n resource.renderBlockingStatus,\n );\n }\n\n if (resource.responseStatus) {\n span.setAttribute(\n ATTR_HTTP_RESPONSE_STATUS_CODE,\n resource.responseStatus,\n );\n }\n\n // Validate size fields exist and aren't negative\n if (\n typeof resource.encodedBodySize === 'number' &&\n resource.encodedBodySize >= 0\n ) {\n span.setAttribute(ATTR_HTTP_RESPONSE_BODY_SIZE, resource.encodedBodySize);\n }\n\n if (\n typeof resource.transferSize === 'number' &&\n resource.transferSize >= 0\n ) {\n span.setAttribute(ATTR_HTTP_RESPONSE_SIZE, resource.transferSize);\n }\n\n if (\n typeof resource.decodedBodySize === 'number' &&\n resource.decodedBodySize >= 0\n ) {\n span.setAttribute(\n ATTR_HTTP_RESPONSE_DECODED_BODY_SIZE,\n resource.decodedBodySize,\n );\n }\n\n this._addResourceDiagnosticAttributes(span, resource);\n\n this._addCustomAttributesOnResourceSpan(\n span,\n resource,\n this.getConfig().applyCustomAttributesOnSpan?.resourceFetch,\n );\n this._endSpan(span, PerformanceTimingNames.RESPONSE_END, resource);\n }\n\n /**\n * Helper function for starting a span\n * @param spanName name of span\n * @param performanceName name of performance entry for time start\n * @param entries\n * @param parentSpan\n */\n private _startSpan(\n spanName: string,\n performanceName: string,\n entries: PerformanceEntries,\n parentSpan?: Span,\n ): Span | undefined {\n if (\n hasKey(entries, performanceName) &&\n typeof entries[performanceName] === 'number'\n ) {\n const span = this.tracer.startSpan(\n spanName,\n {\n startTime: entries[performanceName],\n },\n parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined,\n );\n return span;\n }\n return undefined;\n }\n\n /**\n * Executes callback {_onDocumentLoaded} when the page is loaded\n */\n private _waitForPageLoad() {\n if (window.document.readyState === 'complete') {\n this._onDocumentLoaded();\n } else {\n window.addEventListener('load', this._onDocumentLoaded);\n }\n }\n\n /**\n * Adds custom attributes to span if configured\n * Used for both documentFetch and documentLoad spans\n */\n private _addCustomAttributesOnSpan(\n span: Span,\n applyCustomAttributesOnSpan:\n | DocumentLoadCustomAttributeFunction\n | undefined,\n ) {\n if (applyCustomAttributesOnSpan) {\n safeExecuteInTheMiddle(\n () => {\n applyCustomAttributesOnSpan(span);\n },\n (error) => {\n if (!error) {\n return;\n }\n\n this._diag.error('addCustomAttributesOnSpan', error);\n },\n true,\n );\n }\n }\n\n /**\n * Adds custom attributes to resource span if configured\n */\n private _addCustomAttributesOnResourceSpan(\n span: Span,\n resource: MXLPerformanceResourceTiming,\n applyCustomAttributesOnSpan:\n | ResourceFetchCustomAttributeFunction\n | undefined,\n ) {\n if (applyCustomAttributesOnSpan) {\n safeExecuteInTheMiddle(\n () => {\n applyCustomAttributesOnSpan(span, resource);\n },\n (error) => {\n if (!error) {\n return;\n }\n\n this._diag.error('addCustomAttributesOnResourceSpan', error);\n },\n true,\n );\n }\n }\n\n private _hasNoSizeData(resource: MXLPerformanceResourceTiming): boolean {\n const transferSize =\n typeof resource.transferSize === 'number' ? resource.transferSize : 0;\n const decodedBodySize =\n typeof resource.decodedBodySize === 'number'\n ? resource.decodedBodySize\n : 0;\n const encodedBodySize =\n typeof resource.encodedBodySize === 'number'\n ? resource.encodedBodySize\n : 0;\n\n return transferSize === 0 && decodedBodySize === 0 && encodedBodySize === 0;\n }\n\n private _hasTimingData(resource: MXLPerformanceResourceTiming): boolean {\n const fetchStart =\n typeof resource.fetchStart === 'number' ? resource.fetchStart : 0;\n const responseEnd =\n typeof resource.responseEnd === 'number' ? resource.responseEnd : 0;\n\n return fetchStart > 0 && responseEnd > 0;\n }\n\n private _isCorsRestricted(\n resource: MXLPerformanceResourceTiming,\n ): boolean {\n return this._hasNoSizeData(resource) && this._hasTimingData(resource);\n }\n\n private _isFetchIncomplete(\n resource: MXLPerformanceResourceTiming,\n ): boolean {\n const fetchStart =\n typeof resource.fetchStart === 'number' ? resource.fetchStart : 0;\n const responseEnd =\n typeof resource.responseEnd === 'number' ? resource.responseEnd : 0;\n\n return this._hasNoSizeData(resource) && fetchStart > 0 && responseEnd === 0;\n }\n\n private _isFetchPrevented(\n resource: MXLPerformanceResourceTiming,\n ): boolean {\n const fetchStart =\n typeof resource.fetchStart === 'number' ? resource.fetchStart : 0;\n\n return this._hasNoSizeData(resource) && fetchStart === 0;\n }\n\n /**\n * Detect cache validation (304 Not Modified responses)\n *\n * 304 responses show transferSize of ~300 bytes (headers only, no body).\n * Use deliveryType to distinguish from cache hits: 'cache' = no network, otherwise = 304.\n *\n * Spec: https://w3c.github.io/resource-timing/#dom-performanceresourcetiming-transfersize\n */\n private _isCacheValidated(\n resource: MXLPerformanceResourceTiming,\n ): boolean {\n const transferSize =\n typeof resource.transferSize === 'number' ? resource.transferSize : 0;\n const deliveryType =\n typeof resource.deliveryType === 'string' ? resource.deliveryType : '';\n\n return transferSize === 300 && deliveryType !== 'cache';\n }\n\n /**\n * Add diagnostic attributes to identify resource loading issues\n *\n * Diagnostic attributes help identify why resources may have incomplete timing data:\n * - CORS restrictions (opaque responses without Timing-Allow-Origin header)\n * - Cache revalidation (304 Not Modified responses)\n * - Request incomplete (started but didn't complete - network error, aborted)\n * - Request prevented (never started - blocked by CSP, browser, extension)\n */\n private _addResourceDiagnosticAttributes(\n span: Span,\n resource: MXLPerformanceResourceTiming,\n ): void {\n if (this._isCorsRestricted(resource)) {\n span.setAttribute(ATTR_HTTP_RESPONSE_CORS_OPAQUE, true);\n } else if (this._isFetchIncomplete(resource)) {\n span.setAttribute(ATTR_HTTP_REQUEST_INCOMPLETE, true);\n } else if (this._isFetchPrevented(resource)) {\n span.setAttribute(ATTR_HTTP_REQUEST_PREVENTED, true);\n }\n\n if (this._isCacheValidated(resource)) {\n span.setAttribute(ATTR_HTTP_RESPONSE_CACHE_REVALIDATED, true);\n }\n }\n\n public enable(): void {\n window.removeEventListener('load', this._onDocumentLoaded);\n this._waitForPageLoad();\n }\n\n public disable(): void {\n window.removeEventListener('load', this._onDocumentLoaded);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DocumentLoadInstrumentation.cjs","names":["MXLInstrumentationBase","TRACE_PARENT_HEADER","getPerformanceNavigationEntries","propagation","ROOT_CONTEXT","PerformanceTimingNames","trace","context","ATTR_URL_FULL","KEY_MXL_TYPE","ATTR_USER_AGENT_ORIGINAL","ATTR_HTTP_RESPONSE_STATUS_CODE","ATTR_HTTP_RESPONSE_BODY_SIZE","ATTR_HTTP_RESPONSE_SIZE"],"sources":["../../../../src/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.ts"],"sourcesContent":["/*\n * Adapted from OpenTelemetry document-load instrumentation\n * https://github.com/open-telemetry/opentelemetry-js-contrib/tree/cc7eff47e2e7bad7678241b766753d5bd6dbc85f/packages/instrumentation-document-load\n *\n * Additional PerformanceResourceTiming attributes collected:\n * - entry_type, initiator_type\n * - decoded_body_size, http.response.body.size, http.response.size\n * - delivery_type (Chromium only)\n * - render_blocking_status (Chromium only)\n * - http.response.status_code (no Safari support)\n *\n * Custom diagnostic attributes added to identify resource loading issues:\n * - http.response.cors_opaque - CORS-restricted resource (opaque response)\n * - http.response.cache_revalidated - 304 Not Modified response\n * - http.request.incomplete - Request started but didn't complete (network error, aborted)\n * - http.request.prevented - Request never started (blocked by CSP, browser, extension)\n */\n\nimport type { Span } from '@opentelemetry/api';\nimport { context, propagation, ROOT_CONTEXT, trace } from '@opentelemetry/api';\nimport { TRACE_PARENT_HEADER } from '@opentelemetry/core';\nimport { safeExecuteInTheMiddle } from '@opentelemetry/instrumentation';\nimport type { PerformanceEntries } from '@opentelemetry/sdk-trace-web';\nimport {\n addSpanNetworkEvent,\n addSpanNetworkEvents,\n hasKey,\n PerformanceTimingNames,\n} from '@opentelemetry/sdk-trace-web';\nimport { ATTR_HTTP_RESPONSE_STATUS_CODE } from '@opentelemetry/semantic-conventions';\nimport {\n ATTR_HTTP_RESPONSE_BODY_SIZE,\n ATTR_HTTP_RESPONSE_SIZE,\n ATTR_URL_FULL,\n ATTR_USER_AGENT_ORIGINAL,\n} from '@opentelemetry/semantic-conventions/incubating';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport { AttributeNames } from './enums/AttributeNames';\nimport type {\n DocumentLoadCustomAttributeFunction,\n DocumentLoadInstrumentationConfig,\n ResourceFetchCustomAttributeFunction,\n} from './types';\nimport {\n addSpanPerformancePaintEvents,\n getPerformanceNavigationEntries,\n} from './utils';\n\n/**\n * Adds new browser features not yet in TypeScript's DOM lib (as of Oct 2025):\n * - deliveryType: Chromium only (experimental) https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/deliveryType\n * - renderBlockingStatus: Chromium only https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/renderBlockingStatus\n */\ntype MXLPerformanceResourceTiming = PerformanceResourceTiming & {\n deliveryType?: 'cache' | '';\n renderBlockingStatus?: 'blocking' | 'non-blocking';\n};\n\n// PerformanceResourceTiming attribute names\nconst ATTR_HTTP_RESPONSE_DELIVERY_TYPE = 'http.response.delivery_type';\nconst ATTR_HTTP_RESPONSE_DECODED_BODY_SIZE = 'http.response.decoded_body_size';\nconst ATTR_HTTP_REQUEST_INITIATOR_TYPE = 'http.request.initiator_type';\nconst ATTR_HTTP_REQUEST_RENDER_BLOCKING_STATUS =\n 'http.request.render_blocking_status';\n\n// Diagnostic attribute names\nconst ATTR_HTTP_RESPONSE_CORS_OPAQUE = 'http.response.cors_opaque'; // CORS-restricted resource (opaque response)\nconst ATTR_HTTP_RESPONSE_CACHE_REVALIDATED = 'http.response.cache_revalidated'; // 304 Not Modified response\nconst ATTR_HTTP_REQUEST_INCOMPLETE = 'http.request.incomplete'; // Request started but didn't complete\nconst ATTR_HTTP_REQUEST_PREVENTED = 'http.request.prevented'; // Request never started (blocked)\n\nexport class DocumentLoadInstrumentation extends MXLInstrumentationBase<DocumentLoadInstrumentationConfig> {\n private readonly _onDocumentLoaded: () => void;\n private _performanceCollected = false;\n\n public constructor({\n diag,\n perf,\n enabled,\n applyCustomAttributesOnSpan,\n ignorePerformancePaintEvents = false,\n ignoreNetworkEvents = false,\n }: DocumentLoadInstrumentationConfig = {}) {\n super({\n instrumentationName: 'DocumentLoadInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n perf,\n config: {\n enabled,\n applyCustomAttributesOnSpan,\n ignorePerformancePaintEvents,\n ignoreNetworkEvents,\n },\n });\n\n this._onDocumentLoaded = () => {\n // Timeout needed because performance metrics for loadEnd aren't available until after the load event\n window.setTimeout(() => {\n this._collectPerformance();\n }, 0);\n };\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n protected override init() {\n this._diag.debug('Initializing document load instrumentation');\n return undefined;\n }\n\n /**\n * Adds spans for all resources\n * @param rootSpan\n */\n private _addResourcesSpans(rootSpan: Span): void {\n const resources: MXLPerformanceResourceTiming[] =\n performance.getEntriesByType('resource');\n resources.forEach((resource) => {\n this._initResourceSpan(resource, rootSpan);\n });\n }\n\n /**\n * Collects information about performance and creates appropriate spans\n */\n private _collectPerformance(): void {\n if (this._performanceCollected) {\n return;\n }\n this._performanceCollected = true;\n\n const metaElement = Array.from(document.getElementsByTagName('meta')).find(\n (e) => e.getAttribute('name') === TRACE_PARENT_HEADER,\n );\n const entries = getPerformanceNavigationEntries();\n const traceparent = metaElement?.content || '';\n context.with(propagation.extract(ROOT_CONTEXT, { traceparent }), () => {\n const rootSpan = this._startSpan(\n AttributeNames.DOCUMENT_LOAD,\n PerformanceTimingNames.FETCH_START,\n entries,\n );\n if (!rootSpan) {\n return;\n }\n context.with(trace.setSpan(context.active(), rootSpan), () => {\n const fetchSpan = this._startSpan(\n AttributeNames.DOCUMENT_FETCH,\n PerformanceTimingNames.FETCH_START,\n entries,\n );\n if (fetchSpan) {\n fetchSpan.setAttribute(ATTR_URL_FULL, location.href);\n context.with(trace.setSpan(context.active(), fetchSpan), () => {\n addSpanNetworkEvents(\n fetchSpan,\n entries,\n this.getConfig().ignoreNetworkEvents,\n );\n this._addCustomAttributesOnSpan(\n fetchSpan,\n this.getConfig().applyCustomAttributesOnSpan?.documentFetch,\n );\n this._endSpan(\n fetchSpan,\n PerformanceTimingNames.RESPONSE_END,\n entries,\n );\n });\n }\n });\n\n rootSpan.setAttribute(KEY_MXL_TYPE, MXL_TYPES.DocumentLoad);\n rootSpan.setAttribute(ATTR_URL_FULL, location.href);\n rootSpan.setAttribute(ATTR_USER_AGENT_ORIGINAL, navigator.userAgent);\n\n this._addResourcesSpans(rootSpan);\n\n if (!this.getConfig().ignoreNetworkEvents) {\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.FETCH_START,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.UNLOAD_EVENT_START,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.UNLOAD_EVENT_END,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.DOM_INTERACTIVE,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.DOM_CONTENT_LOADED_EVENT_START,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.DOM_CONTENT_LOADED_EVENT_END,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.DOM_COMPLETE,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.LOAD_EVENT_START,\n entries,\n );\n addSpanNetworkEvent(\n rootSpan,\n PerformanceTimingNames.LOAD_EVENT_END,\n entries,\n );\n }\n\n if (!this.getConfig().ignorePerformancePaintEvents) {\n addSpanPerformancePaintEvents(rootSpan);\n }\n\n this._addCustomAttributesOnSpan(\n rootSpan,\n this.getConfig().applyCustomAttributesOnSpan?.documentLoad,\n );\n this._endSpan(rootSpan, PerformanceTimingNames.LOAD_EVENT_END, entries);\n });\n }\n\n /**\n * Helper function for ending a span\n * @param span\n * @param performanceName name of performance entry for end time\n * @param entries\n */\n private _endSpan(\n span: Span | undefined,\n performanceName: string,\n entries: PerformanceEntries,\n ) {\n // Span can be undefined when entries are missing the required performance timing - no span will be created\n if (span) {\n if (\n hasKey(entries, performanceName) &&\n typeof entries[performanceName] === 'number'\n ) {\n span.end(entries[performanceName]);\n } else {\n span.end();\n }\n }\n }\n\n /**\n * Creates and ends a span with network information about a resource added as timed events\n * @param resource\n * @param parentSpan\n */\n private _initResourceSpan(\n resource: MXLPerformanceResourceTiming,\n parentSpan: Span,\n ) {\n const span = this._startSpan(\n AttributeNames.RESOURCE_FETCH,\n PerformanceTimingNames.FETCH_START,\n resource,\n parentSpan,\n );\n if (!span) {\n return;\n }\n\n span.setAttribute(KEY_MXL_TYPE, MXL_TYPES.ResourceFetch);\n span.setAttribute(ATTR_URL_FULL, resource.name);\n addSpanNetworkEvents(span, resource, this.getConfig().ignoreNetworkEvents);\n\n if (resource.deliveryType) {\n span.setAttribute(\n ATTR_HTTP_RESPONSE_DELIVERY_TYPE,\n resource.deliveryType,\n );\n }\n\n if (resource.initiatorType) {\n span.setAttribute(\n ATTR_HTTP_REQUEST_INITIATOR_TYPE,\n resource.initiatorType,\n );\n }\n\n if (resource.renderBlockingStatus) {\n span.setAttribute(\n ATTR_HTTP_REQUEST_RENDER_BLOCKING_STATUS,\n resource.renderBlockingStatus,\n );\n }\n\n if (resource.responseStatus) {\n span.setAttribute(\n ATTR_HTTP_RESPONSE_STATUS_CODE,\n resource.responseStatus,\n );\n }\n\n // Validate size fields exist and aren't negative\n if (\n typeof resource.encodedBodySize === 'number' &&\n resource.encodedBodySize >= 0\n ) {\n span.setAttribute(ATTR_HTTP_RESPONSE_BODY_SIZE, resource.encodedBodySize);\n }\n\n if (\n typeof resource.transferSize === 'number' &&\n resource.transferSize >= 0\n ) {\n span.setAttribute(ATTR_HTTP_RESPONSE_SIZE, resource.transferSize);\n }\n\n if (\n typeof resource.decodedBodySize === 'number' &&\n resource.decodedBodySize >= 0\n ) {\n span.setAttribute(\n ATTR_HTTP_RESPONSE_DECODED_BODY_SIZE,\n resource.decodedBodySize,\n );\n }\n\n this._addResourceDiagnosticAttributes(span, resource);\n\n this._addCustomAttributesOnResourceSpan(\n span,\n resource,\n this.getConfig().applyCustomAttributesOnSpan?.resourceFetch,\n );\n this._endSpan(span, PerformanceTimingNames.RESPONSE_END, resource);\n }\n\n /**\n * Helper function for starting a span\n * @param spanName name of span\n * @param performanceName name of performance entry for time start\n * @param entries\n * @param parentSpan\n */\n private _startSpan(\n spanName: string,\n performanceName: string,\n entries: PerformanceEntries,\n parentSpan?: Span,\n ): Span | undefined {\n if (\n hasKey(entries, performanceName) &&\n typeof entries[performanceName] === 'number'\n ) {\n const span = this.tracer.startSpan(\n spanName,\n {\n startTime: entries[performanceName],\n },\n parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined,\n );\n return span;\n }\n return undefined;\n }\n\n /**\n * Executes callback {_onDocumentLoaded} when the page is loaded\n */\n private _waitForPageLoad() {\n if (window.document.readyState === 'complete') {\n this._onDocumentLoaded();\n } else {\n window.addEventListener('load', this._onDocumentLoaded);\n }\n }\n\n /**\n * Adds custom attributes to span if configured\n * Used for both documentFetch and documentLoad spans\n */\n private _addCustomAttributesOnSpan(\n span: Span,\n applyCustomAttributesOnSpan:\n | DocumentLoadCustomAttributeFunction\n | undefined,\n ) {\n if (applyCustomAttributesOnSpan) {\n safeExecuteInTheMiddle(\n () => {\n applyCustomAttributesOnSpan(span);\n },\n (error) => {\n if (!error) {\n return;\n }\n\n this._diag.error('addCustomAttributesOnSpan', error);\n },\n true,\n );\n }\n }\n\n /**\n * Adds custom attributes to resource span if configured\n */\n private _addCustomAttributesOnResourceSpan(\n span: Span,\n resource: MXLPerformanceResourceTiming,\n applyCustomAttributesOnSpan:\n | ResourceFetchCustomAttributeFunction\n | undefined,\n ) {\n if (applyCustomAttributesOnSpan) {\n safeExecuteInTheMiddle(\n () => {\n applyCustomAttributesOnSpan(span, resource);\n },\n (error) => {\n if (!error) {\n return;\n }\n\n this._diag.error('addCustomAttributesOnResourceSpan', error);\n },\n true,\n );\n }\n }\n\n private _hasNoSizeData(resource: MXLPerformanceResourceTiming): boolean {\n const transferSize =\n typeof resource.transferSize === 'number' ? resource.transferSize : 0;\n const decodedBodySize =\n typeof resource.decodedBodySize === 'number'\n ? resource.decodedBodySize\n : 0;\n const encodedBodySize =\n typeof resource.encodedBodySize === 'number'\n ? resource.encodedBodySize\n : 0;\n\n return transferSize === 0 && decodedBodySize === 0 && encodedBodySize === 0;\n }\n\n private _hasTimingData(resource: MXLPerformanceResourceTiming): boolean {\n const fetchStart =\n typeof resource.fetchStart === 'number' ? resource.fetchStart : 0;\n const responseEnd =\n typeof resource.responseEnd === 'number' ? resource.responseEnd : 0;\n\n return fetchStart > 0 && responseEnd > 0;\n }\n\n private _isCorsRestricted(resource: MXLPerformanceResourceTiming): boolean {\n return this._hasNoSizeData(resource) && this._hasTimingData(resource);\n }\n\n private _isFetchIncomplete(resource: MXLPerformanceResourceTiming): boolean {\n const fetchStart =\n typeof resource.fetchStart === 'number' ? resource.fetchStart : 0;\n const responseEnd =\n typeof resource.responseEnd === 'number' ? resource.responseEnd : 0;\n\n return this._hasNoSizeData(resource) && fetchStart > 0 && responseEnd === 0;\n }\n\n private _isFetchPrevented(resource: MXLPerformanceResourceTiming): boolean {\n const fetchStart =\n typeof resource.fetchStart === 'number' ? resource.fetchStart : 0;\n\n return this._hasNoSizeData(resource) && fetchStart === 0;\n }\n\n /**\n * Detect cache validation (304 Not Modified responses)\n *\n * 304 responses show transferSize of ~300 bytes (headers only, no body).\n * Use deliveryType to distinguish from cache hits: 'cache' = no network, otherwise = 304.\n *\n * Spec: https://w3c.github.io/resource-timing/#dom-performanceresourcetiming-transfersize\n */\n private _isCacheValidated(resource: MXLPerformanceResourceTiming): boolean {\n const transferSize =\n typeof resource.transferSize === 'number' ? resource.transferSize : 0;\n const deliveryType =\n typeof resource.deliveryType === 'string' ? resource.deliveryType : '';\n\n return transferSize === 300 && deliveryType !== 'cache';\n }\n\n /**\n * Add diagnostic attributes to identify resource loading issues\n *\n * Diagnostic attributes help identify why resources may have incomplete timing data:\n * - CORS restrictions (opaque responses without Timing-Allow-Origin header)\n * - Cache revalidation (304 Not Modified responses)\n * - Request incomplete (started but didn't complete - network error, aborted)\n * - Request prevented (never started - blocked by CSP, browser, extension)\n */\n private _addResourceDiagnosticAttributes(\n span: Span,\n resource: MXLPerformanceResourceTiming,\n ): void {\n if (this._isCorsRestricted(resource)) {\n span.setAttribute(ATTR_HTTP_RESPONSE_CORS_OPAQUE, true);\n } else if (this._isFetchIncomplete(resource)) {\n span.setAttribute(ATTR_HTTP_REQUEST_INCOMPLETE, true);\n } else if (this._isFetchPrevented(resource)) {\n span.setAttribute(ATTR_HTTP_REQUEST_PREVENTED, true);\n }\n\n if (this._isCacheValidated(resource)) {\n span.setAttribute(ATTR_HTTP_RESPONSE_CACHE_REVALIDATED, true);\n }\n }\n\n public enable(): void {\n window.removeEventListener('load', this._onDocumentLoaded);\n this._waitForPageLoad();\n }\n\n public disable(): void {\n window.removeEventListener('load', this._onDocumentLoaded);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentLoadInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.ts"],"mappings":";;;;cAwEa,2BAAA,SAAoC,sBAAA,CAAuB,iCAAA;EAAA,iBACrD,iBAAA;EAAA,QACT,qBAAA;;IAGN,IAAA;IACA,IAAA;IACA,OAAA;IACA,2BAAA;IACA,4BAAA;IACA;EAAA,IACC,iCAAA;EAAA,UA0BgB,IAAA,CAAA;;;;;UASX,kBAAA;EAtCN;;;EAAA,QAiDM,mBAAA;EAzDuC;;;;;;EAAA,QAgLvC,QAAA;;;;;;UAuBA,iBAAA;EAhMN;;;;;;;EAAA,QAwRM,UAAA;EA1PW;;;EAAA,QAmRX,gBAAA;EAjHA;;;;EAAA,QA6HA,0BAAA;EAkDA;;;EAAA,QAxBA,kCAAA;EAAA,QAwBA,cAAA;EAAA,QAeA,cAAA;EAAA,QASA,iBAAA;EAAA,
|
|
1
|
+
{"version":3,"file":"DocumentLoadInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.ts"],"mappings":";;;;cAwEa,2BAAA,SAAoC,sBAAA,CAAuB,iCAAA;EAAA,iBACrD,iBAAA;EAAA,QACT,qBAAA;;IAGN,IAAA;IACA,IAAA;IACA,OAAA;IACA,2BAAA;IACA,4BAAA;IACA;EAAA,IACC,iCAAA;EAAA,UA0BgB,IAAA,CAAA;;;;;UASX,kBAAA;EAtCN;;;EAAA,QAiDM,mBAAA;EAzDuC;;;;;;EAAA,QAgLvC,QAAA;;;;;;UAuBA,iBAAA;EAhMN;;;;;;;EAAA,QAwRM,UAAA;EA1PW;;;EAAA,QAmRX,gBAAA;EAjHA;;;;EAAA,QA6HA,0BAAA;EAkDA;;;EAAA,QAxBA,kCAAA;EAAA,QAwBA,cAAA;EAAA,QAeA,cAAA;EAAA,QASA,iBAAA;EAAA,QAIA,kBAAA;EAAA,QASA,iBAAA;EAuDM;;;;;;;;EAAA,QAxCN,iBAAA;;;;;;;;;;UAkBA,gCAAA;EAiBD,MAAA,CAAA;EAKA,OAAA,CAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentLoadInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.ts"],"mappings":";;;;cAwEa,2BAAA,SAAoC,sBAAA,CAAuB,iCAAA;EAAA,iBACrD,iBAAA;EAAA,QACT,qBAAA;;IAGN,IAAA;IACA,IAAA;IACA,OAAA;IACA,2BAAA;IACA,4BAAA;IACA;EAAA,IACC,iCAAA;EAAA,UA0BgB,IAAA,CAAA;;;;;UASX,kBAAA;EAtCN;;;EAAA,QAiDM,mBAAA;EAzDuC;;;;;;EAAA,QAgLvC,QAAA;;;;;;UAuBA,iBAAA;EAhMN;;;;;;;EAAA,QAwRM,UAAA;EA1PW;;;EAAA,QAmRX,gBAAA;EAjHA;;;;EAAA,QA6HA,0BAAA;EAkDA;;;EAAA,QAxBA,kCAAA;EAAA,QAwBA,cAAA;EAAA,QAeA,cAAA;EAAA,QASA,iBAAA;EAAA,
|
|
1
|
+
{"version":3,"file":"DocumentLoadInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.ts"],"mappings":";;;;cAwEa,2BAAA,SAAoC,sBAAA,CAAuB,iCAAA;EAAA,iBACrD,iBAAA;EAAA,QACT,qBAAA;;IAGN,IAAA;IACA,IAAA;IACA,OAAA;IACA,2BAAA;IACA,4BAAA;IACA;EAAA,IACC,iCAAA;EAAA,UA0BgB,IAAA,CAAA;;;;;UASX,kBAAA;EAtCN;;;EAAA,QAiDM,mBAAA;EAzDuC;;;;;;EAAA,QAgLvC,QAAA;;;;;;UAuBA,iBAAA;EAhMN;;;;;;;EAAA,QAwRM,UAAA;EA1PW;;;EAAA,QAmRX,gBAAA;EAjHA;;;;EAAA,QA6HA,0BAAA;EAkDA;;;EAAA,QAxBA,kCAAA;EAAA,QAwBA,cAAA;EAAA,QAeA,cAAA;EAAA,QASA,iBAAA;EAAA,QAIA,kBAAA;EAAA,QASA,iBAAA;EAuDM;;;;;;;;EAAA,QAxCN,iBAAA;;;;;;;;;;UAkBA,gCAAA;EAiBD,MAAA,CAAA;EAKA,OAAA,CAAA;AAAA"}
|