@safaricom-mxl/web-sdk 0.0.13 → 0.0.15
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/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.map +1 -1
- 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.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.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 +24 -4
- package/dist/mxl-web-sdk.js.map +1 -1
- package/dist/packages/otlp-transformer/dist/index.cjs +26 -26
- package/dist/packages/otlp-transformer/dist/index.cjs.map +1 -1
- package/dist/packages/otlp-transformer/dist/index.d.cts +8 -0
- package/dist/packages/otlp-transformer/dist/index.d.cts.map +1 -1
- package/dist/packages/otlp-transformer/dist/index.d.ts +8 -0
- package/dist/packages/otlp-transformer/dist/index.d.ts.map +1 -1
- package/dist/packages/otlp-transformer/dist/index.js +26 -26
- package/dist/packages/otlp-transformer/dist/index.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 +1 -1
- 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 +1 -1
- package/dist/sdk/initSDK.js.map +1 -1
- 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.map +1 -1
- 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 +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RetryingTransport.cjs","names":["OTelPerformanceManager","INITIAL_BACKOFF","MAX_BACKOFF","BACKOFF_MULTIPLIER"],"sources":["../../../src/transport/RetryingTransport/RetryingTransport.ts"],"sourcesContent":["import type {\n ExportResponse,\n IExporterTransport,\n} from '@opentelemetry/otlp-exporter-base';\nimport type { PerformanceManager } from '../../utils
|
|
1
|
+
{"version":3,"file":"RetryingTransport.cjs","names":["OTelPerformanceManager","INITIAL_BACKOFF","MAX_BACKOFF","BACKOFF_MULTIPLIER"],"sources":["../../../src/transport/RetryingTransport/RetryingTransport.ts"],"sourcesContent":["import type {\n ExportResponse,\n IExporterTransport,\n} from '@opentelemetry/otlp-exporter-base';\nimport type { PerformanceManager } from '../../utils';\nimport { OTelPerformanceManager } from '../../utils';\nimport {\n BACKOFF_MULTIPLIER,\n INITIAL_BACKOFF,\n JITTER,\n MAX_ATTEMPTS,\n MAX_BACKOFF,\n} from './constants';\n\n/**\n * Get a pseudo-random jitter that falls in the range of [-JITTER, +JITTER]\n */\nconst getJitter = () => Math.random() * (2 * JITTER) - JITTER;\n\n// Taken directly from open-telemetry/opentelemetry-js/experimental/packages/otlp-exporter-base/src/retrying-transport.ts\n// File is not exposed externally\n\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport class RetryingTransport implements IExporterTransport {\n public constructor(\n private readonly _transport: IExporterTransport,\n private readonly _perf: PerformanceManager = new OTelPerformanceManager(),\n ) {}\n\n public async send(\n data: Uint8Array,\n timeoutMillis: number,\n ): Promise<ExportResponse> {\n const deadline = this._perf.getNowMillis() + timeoutMillis;\n let result = await this._transport.send(data, timeoutMillis);\n let attempts = MAX_ATTEMPTS;\n let nextBackoff = INITIAL_BACKOFF;\n\n while (result.status === 'retryable' && attempts > 0) {\n attempts--;\n\n // use maximum of computed backoff and 0 to avoid negative timeouts\n const backoff = Math.max(\n Math.min(nextBackoff, MAX_BACKOFF) + getJitter(),\n 0,\n );\n nextBackoff = nextBackoff * BACKOFF_MULTIPLIER;\n const retryInMillis = result.retryInMillis ?? backoff;\n\n // return when expected retry time is after the export deadline.\n const remainingTimeoutMillis = deadline - this._perf.getNowMillis();\n if (retryInMillis > remainingTimeoutMillis) {\n return result;\n }\n\n result = await this._retry(data, remainingTimeoutMillis, retryInMillis);\n }\n\n return result;\n }\n\n public shutdown() {\n this._transport.shutdown();\n }\n\n private _retry(\n data: Uint8Array,\n timeoutMillis: number,\n inMillis: number,\n ): Promise<ExportResponse> {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n this._transport.send(data, timeoutMillis).then(resolve, reject);\n }, inMillis);\n });\n }\n}\n"],"mappings":";;;;;;;AAiBA,MAAM,kBAAkB,KAAK,QAAQ,GAAI,KAAA;AAoBzC,IAAa,oBAAb,MAA6D;CAC3D,YACE,YACA,QAA6C,IAAIA,wDAAAA,wBAAwB,EACzE;AAFiB,OAAA,aAAA;AACA,OAAA,QAAA;;CAGnB,MAAa,KACX,MACA,eACyB;EACzB,MAAM,WAAW,KAAK,MAAM,cAAc,GAAG;EAC7C,IAAI,SAAS,MAAM,KAAK,WAAW,KAAK,MAAM,cAAc;EAC5D,IAAI,WAAA;EACJ,IAAI,cAAcC,8CAAAA;AAElB,SAAO,OAAO,WAAW,eAAe,WAAW,GAAG;AACpD;GAGA,MAAM,UAAU,KAAK,IACnB,KAAK,IAAI,aAAaC,8CAAAA,YAAY,GAAG,WAAW,EAChD,EACD;AACD,iBAAc,cAAcC,8CAAAA;GAC5B,MAAM,gBAAgB,OAAO,iBAAiB;GAG9C,MAAM,yBAAyB,WAAW,KAAK,MAAM,cAAc;AACnE,OAAI,gBAAgB,uBAClB,QAAO;AAGT,YAAS,MAAM,KAAK,OAAO,MAAM,wBAAwB,cAAc;;AAGzE,SAAO;;CAGT,WAAkB;AAChB,OAAK,WAAW,UAAU;;CAG5B,OACE,MACA,eACA,UACyB;AACzB,SAAO,IAAI,SAAS,SAAS,WAAW;AACtC,oBAAiB;AACf,SAAK,WAAW,KAAK,MAAM,cAAc,CAAC,KAAK,SAAS,OAAO;MAC9D,SAAS;IACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RetryingTransport.js","names":[],"sources":["../../../src/transport/RetryingTransport/RetryingTransport.ts"],"sourcesContent":["import type {\n ExportResponse,\n IExporterTransport,\n} from '@opentelemetry/otlp-exporter-base';\nimport type { PerformanceManager } from '../../utils
|
|
1
|
+
{"version":3,"file":"RetryingTransport.js","names":[],"sources":["../../../src/transport/RetryingTransport/RetryingTransport.ts"],"sourcesContent":["import type {\n ExportResponse,\n IExporterTransport,\n} from '@opentelemetry/otlp-exporter-base';\nimport type { PerformanceManager } from '../../utils';\nimport { OTelPerformanceManager } from '../../utils';\nimport {\n BACKOFF_MULTIPLIER,\n INITIAL_BACKOFF,\n JITTER,\n MAX_ATTEMPTS,\n MAX_BACKOFF,\n} from './constants';\n\n/**\n * Get a pseudo-random jitter that falls in the range of [-JITTER, +JITTER]\n */\nconst getJitter = () => Math.random() * (2 * JITTER) - JITTER;\n\n// Taken directly from open-telemetry/opentelemetry-js/experimental/packages/otlp-exporter-base/src/retrying-transport.ts\n// File is not exposed externally\n\n/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport class RetryingTransport implements IExporterTransport {\n public constructor(\n private readonly _transport: IExporterTransport,\n private readonly _perf: PerformanceManager = new OTelPerformanceManager(),\n ) {}\n\n public async send(\n data: Uint8Array,\n timeoutMillis: number,\n ): Promise<ExportResponse> {\n const deadline = this._perf.getNowMillis() + timeoutMillis;\n let result = await this._transport.send(data, timeoutMillis);\n let attempts = MAX_ATTEMPTS;\n let nextBackoff = INITIAL_BACKOFF;\n\n while (result.status === 'retryable' && attempts > 0) {\n attempts--;\n\n // use maximum of computed backoff and 0 to avoid negative timeouts\n const backoff = Math.max(\n Math.min(nextBackoff, MAX_BACKOFF) + getJitter(),\n 0,\n );\n nextBackoff = nextBackoff * BACKOFF_MULTIPLIER;\n const retryInMillis = result.retryInMillis ?? backoff;\n\n // return when expected retry time is after the export deadline.\n const remainingTimeoutMillis = deadline - this._perf.getNowMillis();\n if (retryInMillis > remainingTimeoutMillis) {\n return result;\n }\n\n result = await this._retry(data, remainingTimeoutMillis, retryInMillis);\n }\n\n return result;\n }\n\n public shutdown() {\n this._transport.shutdown();\n }\n\n private _retry(\n data: Uint8Array,\n timeoutMillis: number,\n inMillis: number,\n ): Promise<ExportResponse> {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n this._transport.send(data, timeoutMillis).then(resolve, reject);\n }, inMillis);\n });\n }\n}\n"],"mappings":";;;;;;AAiBA,MAAM,kBAAkB,KAAK,QAAQ,GAAI,KAAA;AAoBzC,IAAa,oBAAb,MAA6D;CAC3D,YACE,YACA,QAA6C,IAAI,wBAAwB,EACzE;AAFiB,OAAA,aAAA;AACA,OAAA,QAAA;;CAGnB,MAAa,KACX,MACA,eACyB;EACzB,MAAM,WAAW,KAAK,MAAM,cAAc,GAAG;EAC7C,IAAI,SAAS,MAAM,KAAK,WAAW,KAAK,MAAM,cAAc;EAC5D,IAAI,WAAA;EACJ,IAAI,cAAc;AAElB,SAAO,OAAO,WAAW,eAAe,WAAW,GAAG;AACpD;GAGA,MAAM,UAAU,KAAK,IACnB,KAAK,IAAI,aAAa,YAAY,GAAG,WAAW,EAChD,EACD;AACD,iBAAc,cAAc;GAC5B,MAAM,gBAAgB,OAAO,iBAAiB;GAG9C,MAAM,yBAAyB,WAAW,KAAK,MAAM,cAAc;AACnE,OAAI,gBAAgB,uBAClB,QAAO;AAGT,YAAS,MAAM,KAAK,OAAO,MAAM,wBAAwB,cAAc;;AAGzE,SAAO;;CAGT,WAAkB;AAChB,OAAK,WAAW,UAAU;;CAG5B,OACE,MACA,eACA,UACyB;AACzB,SAAO,IAAI,SAAS,SAAS,WAAW;AACtC,oBAAiB;AACf,SAAK,WAAW,KAAK,MAAM,cAAc,CAAC,KAAK,SAAS,OAAO;MAC9D,SAAS;IACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRetryingTransport.cjs","names":["RetryingTransport","OTelPerformanceManager"],"sources":["../../../src/transport/RetryingTransport/createRetryingTransport.ts"],"sourcesContent":["import type { IExporterTransport } from '@opentelemetry/otlp-exporter-base';\nimport { OTelPerformanceManager } from '../../utils
|
|
1
|
+
{"version":3,"file":"createRetryingTransport.cjs","names":["RetryingTransport","OTelPerformanceManager"],"sources":["../../../src/transport/RetryingTransport/createRetryingTransport.ts"],"sourcesContent":["import type { IExporterTransport } from '@opentelemetry/otlp-exporter-base';\nimport { OTelPerformanceManager } from '../../utils';\nimport { RetryingTransport } from './RetryingTransport';\n\n/**\n * Creates an Exporter Transport that retries on 'retryable' response.\n */\nexport const createRetryingTransport = (options: {\n // Underlying transport to wrap.\n transport: IExporterTransport;\n // Performance manager to use.\n perf?: OTelPerformanceManager;\n}): IExporterTransport =>\n new RetryingTransport(\n options.transport,\n options.perf ?? new OTelPerformanceManager(),\n );\n"],"mappings":";;;;;;;AAOA,MAAa,2BAA2B,YAMtC,IAAIA,sDAAAA,kBACF,QAAQ,WACR,QAAQ,QAAQ,IAAIC,wDAAAA,wBAAwB,CAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRetryingTransport.js","names":[],"sources":["../../../src/transport/RetryingTransport/createRetryingTransport.ts"],"sourcesContent":["import type { IExporterTransport } from '@opentelemetry/otlp-exporter-base';\nimport { OTelPerformanceManager } from '../../utils
|
|
1
|
+
{"version":3,"file":"createRetryingTransport.js","names":[],"sources":["../../../src/transport/RetryingTransport/createRetryingTransport.ts"],"sourcesContent":["import type { IExporterTransport } from '@opentelemetry/otlp-exporter-base';\nimport { OTelPerformanceManager } from '../../utils';\nimport { RetryingTransport } from './RetryingTransport';\n\n/**\n * Creates an Exporter Transport that retries on 'retryable' response.\n */\nexport const createRetryingTransport = (options: {\n // Underlying transport to wrap.\n transport: IExporterTransport;\n // Performance manager to use.\n perf?: OTelPerformanceManager;\n}): IExporterTransport =>\n new RetryingTransport(\n options.transport,\n options.perf ?? new OTelPerformanceManager(),\n );\n"],"mappings":";;;;;;AAOA,MAAa,2BAA2B,YAMtC,IAAI,kBACF,QAAQ,WACR,QAAQ,QAAQ,IAAI,wBAAwB,CAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLSpanStorage.cjs","names":["diag","BasicTracerProvider","KEY_MXL_MAX_PENDING_SPANS_REACHED"],"sources":["../../../src/utils/MXLSpanStorage/MXLSpanStorage.ts"],"sourcesContent":["import type { DiagLogger, Tracer } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Resource } from '@opentelemetry/resources';\nimport { emptyResource } from '@opentelemetry/resources';\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-web';\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport { KEY_MXL_MAX_PENDING_SPANS_REACHED } from '../../constants
|
|
1
|
+
{"version":3,"file":"MXLSpanStorage.cjs","names":["diag","BasicTracerProvider","KEY_MXL_MAX_PENDING_SPANS_REACHED"],"sources":["../../../src/utils/MXLSpanStorage/MXLSpanStorage.ts"],"sourcesContent":["import type { DiagLogger, Tracer } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Resource } from '@opentelemetry/resources';\nimport { emptyResource } from '@opentelemetry/resources';\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-web';\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport { KEY_MXL_MAX_PENDING_SPANS_REACHED } from '../../constants';\nimport type { SpanSessionManagerInternal } from '../../managers';\n\nconst PENDING_SPANS_STORAGE_KEY_PREFIX = 'mxl_pending_';\nconst MAX_PENDING_SPANS_ITEMS = 10;\n\nexport interface SpanStorageOptions {\n spanSessionManager: SpanSessionManagerInternal;\n resource?: Resource;\n storage?: Storage;\n diag?: DiagLogger;\n storedSpansExpireTimeoutMS?: number;\n onExpiredSpansExport?: (spans: ReadableSpan[]) => void;\n}\n\n// MXLSpanStorage is used to keep pending spans that are not meant to be exported (yet) in localStorage,\n// and periodically checks whenever those stored spans are ready to be exported.\n// This functionality has some custom logic to be able to store these spans as JSONs and then recreate them back\n// that could eventually be improved. In particular the things that would need to be improved are:\n// - Avoid serializing as JSON and instead try to use a customExporter that produces the body as it was going to be\n// sent over the wire (serialized, compressed, etc), and store that, so that later when it decides to export those,\n// it's just using that body as a regular fetch call.\n// - Create a service worker that is responsible for tracking the pending spans and deciding when to actually export them.\n// That way we would avoid a potential race condition where two different tabs would try to export the same data.\n// - Make this a more comprehensive component so that the MXLSessionBatchedSpanProcessor doesn't need to be in the\n// middle of SpanSessionVisibilityInstrumentation and this component. Ideally this component would know when and how\n// to take snapshots of the current pending spans and the current session span at any moment, so that the visibility\n// instrumentation doesn't need to be telling that to the batch span processor.\nexport class MXLSpanStorage {\n private readonly _noExportTracer: Tracer;\n private readonly _storage: Storage;\n private readonly _diag: DiagLogger;\n private readonly _onExpiredSpansExport?: (spans: ReadableSpan[]) => void;\n private readonly _storedSpansExpireTimeoutMS: number;\n private readonly _spanSessionManager: SpanSessionManagerInternal;\n private _checkExpiredSpansInterval?: ReturnType<typeof setInterval>;\n\n public constructor({\n resource = emptyResource(),\n storage = window.localStorage,\n diag: diagParam = diag.createComponentLogger({\n namespace: 'MXLSpanStorage',\n }),\n storedSpansExpireTimeoutMS = 60 * 60 * 1000, // 1 hour\n onExpiredSpansExport,\n spanSessionManager,\n }: SpanStorageOptions) {\n this._noExportTracer = new BasicTracerProvider({ resource }).getTracer(\n 'mxl-web-sdk-sessions',\n );\n this._storage = storage;\n this._diag = diagParam;\n this._storedSpansExpireTimeoutMS = storedSpansExpireTimeoutMS;\n this._onExpiredSpansExport = onExpiredSpansExport;\n this._spanSessionManager = spanSessionManager;\n\n this.startExpiredSpansCheck();\n }\n\n public storePendingSpans(\n sessionId: string,\n sessionSpan: ReadableSpan,\n pendingSpans: ReadableSpan[],\n ): void {\n try {\n // If this session was already stored, clear it first:\n this.clearStoredSpans(sessionId);\n\n if (this._getPendingSpansKeys().length >= MAX_PENDING_SPANS_ITEMS) {\n this._spanSessionManager.incrSessionCountForKey(\n KEY_MXL_MAX_PENDING_SPANS_REACHED,\n );\n this._diag.warn(\n 'Not storing pending spans as the max number of items was reached',\n );\n return;\n }\n\n const key = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_${Date.now()}`;\n this._storage.setItem(\n key,\n JSON.stringify([sessionSpan, ...pendingSpans], (key, value) =>\n key.startsWith('_') ? undefined : value,\n ),\n );\n\n this._diag.debug(`Stored pending span: ${key}`);\n } catch (error) {\n this._diag.error('Failed to store spans to storage:', error);\n }\n }\n\n public clearStoredSpans(sessionId: string): void {\n try {\n const prefix = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_`;\n this._getPendingSpansKeys().forEach((key) => {\n if (key.startsWith(prefix)) {\n this._storage.removeItem(key);\n }\n });\n } catch (error) {\n this._diag.error('Failed to clear stored spans from storage:', error);\n }\n }\n\n public startExpiredSpansCheck(): void {\n this._checkExpiredSpansInterval = setInterval(\n () => {\n this.checkAndExportExpiredSpans();\n },\n 5 * 60 * 1000,\n ); // Check every 5 minutes\n }\n\n public stopExpiredSpansCheck(): void {\n if (this._checkExpiredSpansInterval) {\n clearInterval(this._checkExpiredSpansInterval);\n this._checkExpiredSpansInterval = undefined;\n }\n }\n\n public checkAndExportExpiredSpans(): void {\n try {\n const keys = this._getPendingSpansKeys();\n if (keys.length === 0) {\n return;\n }\n\n const currentTime = Date.now();\n keys.forEach((key) => {\n const parts = key.split('_');\n const storedTime = parseInt(parts[parts.length - 1], 10);\n\n if (Number.isNaN(storedTime)) {\n this._diag.error(\n 'Found invalid timestamp in stored span:',\n storedTime,\n );\n this._storage.removeItem(key);\n }\n\n if (currentTime - storedTime <= this._storedSpansExpireTimeoutMS) {\n return;\n }\n\n const storedData = this._storage.getItem(key);\n if (!storedData) return;\n\n try {\n const spans: ReadableSpan[] = [];\n for (const storedSpan of JSON.parse(storedData) as ReadableSpan[]) {\n const span = this._noExportTracer.startSpan(storedSpan.name, {\n kind: storedSpan.kind,\n attributes: storedSpan.attributes,\n links: storedSpan.links,\n startTime: storedSpan.startTime,\n });\n span.setStatus(storedSpan.status);\n span.end(storedSpan.endTime);\n spans.push(span as unknown as ReadableSpan);\n }\n\n if (this._onExpiredSpansExport && spans.length > 0) {\n this._onExpiredSpansExport(spans);\n }\n } catch (e) {\n this._diag.error('Failed to process expired spans:', e);\n }\n\n // Always remove the storage item even if processing failed\n this._storage.removeItem(key);\n });\n } catch (e) {\n this._diag.error('Failed to check and export expired spans:', e);\n }\n }\n\n public _getPendingSpansKeys(): string[] {\n const keys: string[] = [];\n for (let i = 0; i < this._storage.length; i++) {\n const key = this._storage.key(i);\n if (key?.startsWith(PENDING_SPANS_STORAGE_KEY_PREFIX)) {\n keys.push(key);\n }\n }\n return keys;\n }\n\n public destroy(): void {\n this.stopExpiredSpansCheck();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLSpanStorage.js","names":[],"sources":["../../../src/utils/MXLSpanStorage/MXLSpanStorage.ts"],"sourcesContent":["import type { DiagLogger, Tracer } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Resource } from '@opentelemetry/resources';\nimport { emptyResource } from '@opentelemetry/resources';\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-web';\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport { KEY_MXL_MAX_PENDING_SPANS_REACHED } from '../../constants
|
|
1
|
+
{"version":3,"file":"MXLSpanStorage.js","names":[],"sources":["../../../src/utils/MXLSpanStorage/MXLSpanStorage.ts"],"sourcesContent":["import type { DiagLogger, Tracer } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Resource } from '@opentelemetry/resources';\nimport { emptyResource } from '@opentelemetry/resources';\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-web';\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport { KEY_MXL_MAX_PENDING_SPANS_REACHED } from '../../constants';\nimport type { SpanSessionManagerInternal } from '../../managers';\n\nconst PENDING_SPANS_STORAGE_KEY_PREFIX = 'mxl_pending_';\nconst MAX_PENDING_SPANS_ITEMS = 10;\n\nexport interface SpanStorageOptions {\n spanSessionManager: SpanSessionManagerInternal;\n resource?: Resource;\n storage?: Storage;\n diag?: DiagLogger;\n storedSpansExpireTimeoutMS?: number;\n onExpiredSpansExport?: (spans: ReadableSpan[]) => void;\n}\n\n// MXLSpanStorage is used to keep pending spans that are not meant to be exported (yet) in localStorage,\n// and periodically checks whenever those stored spans are ready to be exported.\n// This functionality has some custom logic to be able to store these spans as JSONs and then recreate them back\n// that could eventually be improved. In particular the things that would need to be improved are:\n// - Avoid serializing as JSON and instead try to use a customExporter that produces the body as it was going to be\n// sent over the wire (serialized, compressed, etc), and store that, so that later when it decides to export those,\n// it's just using that body as a regular fetch call.\n// - Create a service worker that is responsible for tracking the pending spans and deciding when to actually export them.\n// That way we would avoid a potential race condition where two different tabs would try to export the same data.\n// - Make this a more comprehensive component so that the MXLSessionBatchedSpanProcessor doesn't need to be in the\n// middle of SpanSessionVisibilityInstrumentation and this component. Ideally this component would know when and how\n// to take snapshots of the current pending spans and the current session span at any moment, so that the visibility\n// instrumentation doesn't need to be telling that to the batch span processor.\nexport class MXLSpanStorage {\n private readonly _noExportTracer: Tracer;\n private readonly _storage: Storage;\n private readonly _diag: DiagLogger;\n private readonly _onExpiredSpansExport?: (spans: ReadableSpan[]) => void;\n private readonly _storedSpansExpireTimeoutMS: number;\n private readonly _spanSessionManager: SpanSessionManagerInternal;\n private _checkExpiredSpansInterval?: ReturnType<typeof setInterval>;\n\n public constructor({\n resource = emptyResource(),\n storage = window.localStorage,\n diag: diagParam = diag.createComponentLogger({\n namespace: 'MXLSpanStorage',\n }),\n storedSpansExpireTimeoutMS = 60 * 60 * 1000, // 1 hour\n onExpiredSpansExport,\n spanSessionManager,\n }: SpanStorageOptions) {\n this._noExportTracer = new BasicTracerProvider({ resource }).getTracer(\n 'mxl-web-sdk-sessions',\n );\n this._storage = storage;\n this._diag = diagParam;\n this._storedSpansExpireTimeoutMS = storedSpansExpireTimeoutMS;\n this._onExpiredSpansExport = onExpiredSpansExport;\n this._spanSessionManager = spanSessionManager;\n\n this.startExpiredSpansCheck();\n }\n\n public storePendingSpans(\n sessionId: string,\n sessionSpan: ReadableSpan,\n pendingSpans: ReadableSpan[],\n ): void {\n try {\n // If this session was already stored, clear it first:\n this.clearStoredSpans(sessionId);\n\n if (this._getPendingSpansKeys().length >= MAX_PENDING_SPANS_ITEMS) {\n this._spanSessionManager.incrSessionCountForKey(\n KEY_MXL_MAX_PENDING_SPANS_REACHED,\n );\n this._diag.warn(\n 'Not storing pending spans as the max number of items was reached',\n );\n return;\n }\n\n const key = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_${Date.now()}`;\n this._storage.setItem(\n key,\n JSON.stringify([sessionSpan, ...pendingSpans], (key, value) =>\n key.startsWith('_') ? undefined : value,\n ),\n );\n\n this._diag.debug(`Stored pending span: ${key}`);\n } catch (error) {\n this._diag.error('Failed to store spans to storage:', error);\n }\n }\n\n public clearStoredSpans(sessionId: string): void {\n try {\n const prefix = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_`;\n this._getPendingSpansKeys().forEach((key) => {\n if (key.startsWith(prefix)) {\n this._storage.removeItem(key);\n }\n });\n } catch (error) {\n this._diag.error('Failed to clear stored spans from storage:', error);\n }\n }\n\n public startExpiredSpansCheck(): void {\n this._checkExpiredSpansInterval = setInterval(\n () => {\n this.checkAndExportExpiredSpans();\n },\n 5 * 60 * 1000,\n ); // Check every 5 minutes\n }\n\n public stopExpiredSpansCheck(): void {\n if (this._checkExpiredSpansInterval) {\n clearInterval(this._checkExpiredSpansInterval);\n this._checkExpiredSpansInterval = undefined;\n }\n }\n\n public checkAndExportExpiredSpans(): void {\n try {\n const keys = this._getPendingSpansKeys();\n if (keys.length === 0) {\n return;\n }\n\n const currentTime = Date.now();\n keys.forEach((key) => {\n const parts = key.split('_');\n const storedTime = parseInt(parts[parts.length - 1], 10);\n\n if (Number.isNaN(storedTime)) {\n this._diag.error(\n 'Found invalid timestamp in stored span:',\n storedTime,\n );\n this._storage.removeItem(key);\n }\n\n if (currentTime - storedTime <= this._storedSpansExpireTimeoutMS) {\n return;\n }\n\n const storedData = this._storage.getItem(key);\n if (!storedData) return;\n\n try {\n const spans: ReadableSpan[] = [];\n for (const storedSpan of JSON.parse(storedData) as ReadableSpan[]) {\n const span = this._noExportTracer.startSpan(storedSpan.name, {\n kind: storedSpan.kind,\n attributes: storedSpan.attributes,\n links: storedSpan.links,\n startTime: storedSpan.startTime,\n });\n span.setStatus(storedSpan.status);\n span.end(storedSpan.endTime);\n spans.push(span as unknown as ReadableSpan);\n }\n\n if (this._onExpiredSpansExport && spans.length > 0) {\n this._onExpiredSpansExport(spans);\n }\n } catch (e) {\n this._diag.error('Failed to process expired spans:', e);\n }\n\n // Always remove the storage item even if processing failed\n this._storage.removeItem(key);\n });\n } catch (e) {\n this._diag.error('Failed to check and export expired spans:', e);\n }\n }\n\n public _getPendingSpansKeys(): string[] {\n const keys: string[] = [];\n for (let i = 0; i < this._storage.length; i++) {\n const key = this._storage.key(i);\n if (key?.startsWith(PENDING_SPANS_STORAGE_KEY_PREFIX)) {\n keys.push(key);\n }\n }\n return keys;\n }\n\n public destroy(): void {\n this.stopExpiredSpansCheck();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTelPerformanceManager.cjs","names":[],"sources":["../../../src/utils/PerformanceManager/OTelPerformanceManager.ts"],"sourcesContent":["import type { HrTime } from '@opentelemetry/api';\nimport { hrTimeToMilliseconds, millisToHrTime } from '@opentelemetry/core';\nimport type { PerformanceClock, PerformanceManager } from './types
|
|
1
|
+
{"version":3,"file":"OTelPerformanceManager.cjs","names":[],"sources":["../../../src/utils/PerformanceManager/OTelPerformanceManager.ts"],"sourcesContent":["import type { HrTime } from '@opentelemetry/api';\nimport { hrTimeToMilliseconds, millisToHrTime } from '@opentelemetry/core';\nimport type { PerformanceClock, PerformanceManager } from './types';\n\nexport class OTelPerformanceManager implements PerformanceManager {\n private readonly _clock: PerformanceClock;\n\n public constructor(clock: PerformanceClock = window.performance) {\n this._clock = clock;\n }\n\n public epochMillisFromOriginOffset = (originOffset: number) =>\n this._clock.timeOrigin + originOffset;\n\n public getNowHRTime = () => millisToHrTime(this.getNowMillis());\n\n public getNowMillis = () =>\n this.epochMillisFromOriginOffset(this._clock.now()); // otperformance.now() returns milliseconds since timeOrigin, timeOrigin is the time from epoch to the start of the page load\n\n public millisSinceHRTime = (time: HrTime) =>\n this.getNowMillis() - hrTimeToMilliseconds(time);\n\n // Returns milliseconds elapsed since the SDK's zero time (currently navigation\n // start). When soft-navigation support is added, this method will subtract the\n // reset point so timings remain relative to the soft navigation.\n public millisFromZeroTime = (originOffset: number) => originOffset;\n}\n"],"mappings":";;;;AAIA,IAAa,yBAAb,MAAkE;CAChE;CAEA,YAAmB,QAA0B,OAAO,aAAa;AAC/D,OAAK,SAAS;;CAGhB,+BAAsC,iBACpC,KAAK,OAAO,aAAa;CAE3B,sBAAO,GAAA,oBAAA,gBAAoC,KAAK,cAAc,CAAC;CAE/D,qBACE,KAAK,4BAA4B,KAAK,OAAO,KAAK,CAAC;CAErD,qBAA4B,SAC1B,KAAK,cAAc,IAAA,GAAA,oBAAA,sBAAwB,KAAK;CAKlD,sBAA6B,iBAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTelPerformanceManager.js","names":[],"sources":["../../../src/utils/PerformanceManager/OTelPerformanceManager.ts"],"sourcesContent":["import type { HrTime } from '@opentelemetry/api';\nimport { hrTimeToMilliseconds, millisToHrTime } from '@opentelemetry/core';\nimport type { PerformanceClock, PerformanceManager } from './types
|
|
1
|
+
{"version":3,"file":"OTelPerformanceManager.js","names":[],"sources":["../../../src/utils/PerformanceManager/OTelPerformanceManager.ts"],"sourcesContent":["import type { HrTime } from '@opentelemetry/api';\nimport { hrTimeToMilliseconds, millisToHrTime } from '@opentelemetry/core';\nimport type { PerformanceClock, PerformanceManager } from './types';\n\nexport class OTelPerformanceManager implements PerformanceManager {\n private readonly _clock: PerformanceClock;\n\n public constructor(clock: PerformanceClock = window.performance) {\n this._clock = clock;\n }\n\n public epochMillisFromOriginOffset = (originOffset: number) =>\n this._clock.timeOrigin + originOffset;\n\n public getNowHRTime = () => millisToHrTime(this.getNowMillis());\n\n public getNowMillis = () =>\n this.epochMillisFromOriginOffset(this._clock.now()); // otperformance.now() returns milliseconds since timeOrigin, timeOrigin is the time from epoch to the start of the page load\n\n public millisSinceHRTime = (time: HrTime) =>\n this.getNowMillis() - hrTimeToMilliseconds(time);\n\n // Returns milliseconds elapsed since the SDK's zero time (currently navigation\n // start). When soft-navigation support is added, this method will subtract the\n // reset point so timings remain relative to the soft navigation.\n public millisFromZeroTime = (originOffset: number) => originOffset;\n}\n"],"mappings":";;AAIA,IAAa,yBAAb,MAAkE;CAChE;CAEA,YAAmB,QAA0B,OAAO,aAAa;AAC/D,OAAK,SAAS;;CAGhB,+BAAsC,iBACpC,KAAK,OAAO,aAAa;CAE3B,qBAA4B,eAAe,KAAK,cAAc,CAAC;CAE/D,qBACE,KAAK,4BAA4B,KAAK,OAAO,KAAK,CAAC;CAErD,qBAA4B,SAC1B,KAAK,cAAc,GAAG,qBAAqB,KAAK;CAKlD,sBAA6B,iBAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkAddEventListener.cjs","names":[],"sources":["../../../src/utils/bulkAddEventListener/bulkAddEventListener.ts"],"sourcesContent":["import type { BulkAddEventListenerArgs } from './types
|
|
1
|
+
{"version":3,"file":"bulkAddEventListener.cjs","names":[],"sources":["../../../src/utils/bulkAddEventListener/bulkAddEventListener.ts"],"sourcesContent":["import type { BulkAddEventListenerArgs } from './types';\n\n/**\n * Add multiple event listeners to a target element.\n * example:\n *\n * ```\n * bulkAddEventListener({\n * target: window,\n * events: ['visibilitychange', 'resize'],\n * callback: () => console.log('Event fired'),\n * });\n *```\n * */\nexport const bulkAddEventListener = ({\n target,\n events,\n callback,\n}: BulkAddEventListenerArgs) => {\n events.forEach((event) => {\n target.addEventListener(event, callback);\n });\n};\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAa,wBAAwB,EACnC,QACA,QACA,eAC8B;AAC9B,QAAO,SAAS,UAAU;AACxB,SAAO,iBAAiB,OAAO,SAAS;GACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkAddEventListener.js","names":[],"sources":["../../../src/utils/bulkAddEventListener/bulkAddEventListener.ts"],"sourcesContent":["import type { BulkAddEventListenerArgs } from './types
|
|
1
|
+
{"version":3,"file":"bulkAddEventListener.js","names":[],"sources":["../../../src/utils/bulkAddEventListener/bulkAddEventListener.ts"],"sourcesContent":["import type { BulkAddEventListenerArgs } from './types';\n\n/**\n * Add multiple event listeners to a target element.\n * example:\n *\n * ```\n * bulkAddEventListener({\n * target: window,\n * events: ['visibilitychange', 'resize'],\n * callback: () => console.log('Event fired'),\n * });\n *```\n * */\nexport const bulkAddEventListener = ({\n target,\n events,\n callback,\n}: BulkAddEventListenerArgs) => {\n events.forEach((event) => {\n target.addEventListener(event, callback);\n });\n};\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAa,wBAAwB,EACnC,QACA,QACA,eAC8B;AAC9B,QAAO,SAAS,UAAU;AACxB,SAAO,iBAAiB,OAAO,SAAS;GACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkRemoveEventListener.cjs","names":[],"sources":["../../../src/utils/bulkRemoveEventListener/bulkRemoveEventListener.ts"],"sourcesContent":["import type { BulkRemoveEventListenerArgs } from './types
|
|
1
|
+
{"version":3,"file":"bulkRemoveEventListener.cjs","names":[],"sources":["../../../src/utils/bulkRemoveEventListener/bulkRemoveEventListener.ts"],"sourcesContent":["import type { BulkRemoveEventListenerArgs } from './types';\n\n/**\n * Remove multiple event listeners from a target element.\n * example:\n *\n * ```\n * bulkRemoveEventListener({\n * target: window,\n * events: ['visibilitychange', 'resize'],\n * callback: someRefToACallbackFunction,\n * });\n *```\n * */\nexport const bulkRemoveEventListener = ({\n target,\n events,\n callback,\n}: BulkRemoveEventListenerArgs) => {\n events.forEach((event) => {\n target.removeEventListener(event, callback);\n });\n};\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAa,2BAA2B,EACtC,QACA,QACA,eACiC;AACjC,QAAO,SAAS,UAAU;AACxB,SAAO,oBAAoB,OAAO,SAAS;GAC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulkRemoveEventListener.js","names":[],"sources":["../../../src/utils/bulkRemoveEventListener/bulkRemoveEventListener.ts"],"sourcesContent":["import type { BulkRemoveEventListenerArgs } from './types
|
|
1
|
+
{"version":3,"file":"bulkRemoveEventListener.js","names":[],"sources":["../../../src/utils/bulkRemoveEventListener/bulkRemoveEventListener.ts"],"sourcesContent":["import type { BulkRemoveEventListenerArgs } from './types';\n\n/**\n * Remove multiple event listeners from a target element.\n * example:\n *\n * ```\n * bulkRemoveEventListener({\n * target: window,\n * events: ['visibilitychange', 'resize'],\n * callback: someRefToACallbackFunction,\n * });\n *```\n * */\nexport const bulkRemoveEventListener = ({\n target,\n events,\n callback,\n}: BulkRemoveEventListenerArgs) => {\n events.forEach((event) => {\n target.removeEventListener(event, callback);\n });\n};\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAa,2BAA2B,EACtC,QACA,QACA,eACiC;AACjC,QAAO,SAAS,UAAU;AACxB,SAAO,oBAAoB,OAAO,SAAS;GAC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVisibilityState.cjs","names":[],"sources":["../../src/utils/getVisibilityState.ts"],"sourcesContent":["import type { VisibilityStateDocument } from '../common
|
|
1
|
+
{"version":3,"file":"getVisibilityState.cjs","names":[],"sources":["../../src/utils/getVisibilityState.ts"],"sourcesContent":["import type { VisibilityStateDocument } from '../common';\nimport { MXL_STATES } from '../constants';\n\nexport const getVisibilityState = (visibilityDoc: VisibilityStateDocument) =>\n visibilityDoc.visibilityState === 'hidden'\n ? MXL_STATES.Background\n : MXL_STATES.Foreground;\n"],"mappings":";;;AAGA,MAAa,sBAAsB,kBACjC,cAAc,oBAAoB,WAAA,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVisibilityState.js","names":[],"sources":["../../src/utils/getVisibilityState.ts"],"sourcesContent":["import type { VisibilityStateDocument } from '../common
|
|
1
|
+
{"version":3,"file":"getVisibilityState.js","names":[],"sources":["../../src/utils/getVisibilityState.ts"],"sourcesContent":["import type { VisibilityStateDocument } from '../common';\nimport { MXL_STATES } from '../constants';\n\nexport const getVisibilityState = (visibilityDoc: VisibilityStateDocument) =>\n visibilityDoc.visibilityState === 'hidden'\n ? MXL_STATES.Background\n : MXL_STATES.Foreground;\n"],"mappings":";;AAGA,MAAa,sBAAsB,kBACjC,cAAc,oBAAoB,WAAA,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nsfConfigValidation.cjs","names":[],"sources":["../../src/utils/nsfConfigValidation.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport type { SDKFeaturesManager } from '../managers
|
|
1
|
+
{"version":3,"file":"nsfConfigValidation.cjs","names":[],"sources":["../../src/utils/nsfConfigValidation.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport type { SDKFeaturesManager } from '../managers';\nimport type { SDKInitConfig } from '../sdk';\n\ntype ValidateConfigArgs = {\n featureManager: SDKFeaturesManager;\n diag: DiagLogger;\n} & Pick<\n SDKInitConfig,\n 'propagator' | 'registerGlobally' | 'defaultInstrumentationConfig'\n>;\n\nexport const nsfConfigValidation = ({\n diag,\n featureManager,\n registerGlobally,\n propagator,\n defaultInstrumentationConfig,\n}: ValidateConfigArgs) => {\n if (!featureManager.isNetworkSpanForwardingEnabled()) {\n return false;\n }\n\n const warnings = [];\n\n if (!registerGlobally) {\n warnings.push(\n 'Network span forwarding cannot be used when `registerGlobally` is set to false. Turning off network span forwarding.',\n );\n }\n\n if (propagator) {\n warnings.push(\n 'Network span forwarding cannot be used alongside a custom `propagator`. Turning off network span forwarding.',\n );\n }\n\n if (\n defaultInstrumentationConfig?.omit?.has(\n '@opentelemetry/instrumentation-xml-http-request',\n ) &&\n defaultInstrumentationConfig.omit.has(\n '@opentelemetry/instrumentation-fetch',\n )\n ) {\n warnings.push(\n \"Network span forwarding cannot be used when both '@opentelemetry/instrumentation-xml-http-request' and \" +\n \"'@opentelemetry/instrumentation-fetch' are omitted. Turning off network span forwarding.\",\n );\n }\n\n warnings.forEach((warning) => {\n diag.warn(warning);\n });\n\n return warnings.length === 0;\n};\n"],"mappings":";;AAYA,MAAa,uBAAuB,EAClC,MACA,gBACA,kBACA,YACA,mCACwB;AACxB,KAAI,CAAC,eAAe,gCAAgC,CAClD,QAAO;CAGT,MAAM,WAAW,EAAE;AAEnB,KAAI,CAAC,iBACH,UAAS,KACP,uHACD;AAGH,KAAI,WACF,UAAS,KACP,+GACD;AAGH,KACE,8BAA8B,MAAM,IAClC,kDACD,IACD,6BAA6B,KAAK,IAChC,uCACD,CAED,UAAS,KACP,kMAED;AAGH,UAAS,SAAS,YAAY;AAC5B,OAAK,KAAK,QAAQ;GAClB;AAEF,QAAO,SAAS,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nsfConfigValidation.js","names":[],"sources":["../../src/utils/nsfConfigValidation.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport type { SDKFeaturesManager } from '../managers
|
|
1
|
+
{"version":3,"file":"nsfConfigValidation.js","names":[],"sources":["../../src/utils/nsfConfigValidation.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport type { SDKFeaturesManager } from '../managers';\nimport type { SDKInitConfig } from '../sdk';\n\ntype ValidateConfigArgs = {\n featureManager: SDKFeaturesManager;\n diag: DiagLogger;\n} & Pick<\n SDKInitConfig,\n 'propagator' | 'registerGlobally' | 'defaultInstrumentationConfig'\n>;\n\nexport const nsfConfigValidation = ({\n diag,\n featureManager,\n registerGlobally,\n propagator,\n defaultInstrumentationConfig,\n}: ValidateConfigArgs) => {\n if (!featureManager.isNetworkSpanForwardingEnabled()) {\n return false;\n }\n\n const warnings = [];\n\n if (!registerGlobally) {\n warnings.push(\n 'Network span forwarding cannot be used when `registerGlobally` is set to false. Turning off network span forwarding.',\n );\n }\n\n if (propagator) {\n warnings.push(\n 'Network span forwarding cannot be used alongside a custom `propagator`. Turning off network span forwarding.',\n );\n }\n\n if (\n defaultInstrumentationConfig?.omit?.has(\n '@opentelemetry/instrumentation-xml-http-request',\n ) &&\n defaultInstrumentationConfig.omit.has(\n '@opentelemetry/instrumentation-fetch',\n )\n ) {\n warnings.push(\n \"Network span forwarding cannot be used when both '@opentelemetry/instrumentation-xml-http-request' and \" +\n \"'@opentelemetry/instrumentation-fetch' are omitted. Turning off network span forwarding.\",\n );\n }\n\n warnings.forEach((warning) => {\n diag.warn(warning);\n });\n\n return warnings.length === 0;\n};\n"],"mappings":";AAYA,MAAa,uBAAuB,EAClC,MACA,gBACA,kBACA,YACA,mCACwB;AACxB,KAAI,CAAC,eAAe,gCAAgC,CAClD,QAAO;CAGT,MAAM,WAAW,EAAE;AAEnB,KAAI,CAAC,iBACH,UAAS,KACP,uHACD;AAGH,KAAI,WACF,UAAS,KACP,+GACD;AAGH,KACE,8BAA8B,MAAM,IAClC,kDACD,IACD,6BAA6B,KAAK,IAChC,uCACD,CAED,UAAS,KACP,kMAED;AAGH,UAAS,SAAS,YAAY;AAC5B,OAAK,KAAK,QAAQ;GAClB;AAEF,QAAO,SAAS,WAAW"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@safaricom-mxl/web-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "MXL Web SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"imports": {
|
|
@@ -79,18 +79,18 @@
|
|
|
79
79
|
],
|
|
80
80
|
"dependencies": {
|
|
81
81
|
"@opentelemetry/api": "^1.9.1",
|
|
82
|
-
"@opentelemetry/api-logs": "^0.
|
|
82
|
+
"@opentelemetry/api-logs": "^0.218.0",
|
|
83
83
|
"@opentelemetry/core": "^2.7.1",
|
|
84
|
-
"@opentelemetry/instrumentation": "^0.
|
|
85
|
-
"@opentelemetry/instrumentation-fetch": "^0.
|
|
86
|
-
"@opentelemetry/instrumentation-xml-http-request": "^0.
|
|
87
|
-
"@opentelemetry/otlp-exporter-base": "^0.
|
|
88
|
-
"@opentelemetry/otlp-transformer": "^0.
|
|
84
|
+
"@opentelemetry/instrumentation": "^0.218.0",
|
|
85
|
+
"@opentelemetry/instrumentation-fetch": "^0.218.0",
|
|
86
|
+
"@opentelemetry/instrumentation-xml-http-request": "^0.218.0",
|
|
87
|
+
"@opentelemetry/otlp-exporter-base": "^0.218.0",
|
|
88
|
+
"@opentelemetry/otlp-transformer": "^0.218.0",
|
|
89
89
|
"@opentelemetry/resources": "^2.7.1",
|
|
90
|
-
"@opentelemetry/sdk-logs": "^0.
|
|
90
|
+
"@opentelemetry/sdk-logs": "^0.218.0",
|
|
91
91
|
"@opentelemetry/sdk-trace-web": "^2.7.1",
|
|
92
|
-
"@opentelemetry/semantic-conventions": "^1.
|
|
93
|
-
"@opentelemetry/web-common": "^0.
|
|
92
|
+
"@opentelemetry/semantic-conventions": "^1.41.1",
|
|
93
|
+
"@opentelemetry/web-common": "^0.218.0",
|
|
94
94
|
"@safaricom-mxl/session-recorder": "0.0.12",
|
|
95
95
|
"hoist-non-react-statics": "^3.3.2",
|
|
96
96
|
"web-vitals": "^5.2.0"
|