@openobserve/browser-core 0.2.12-beta.20 → 0.2.12-beta.22
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/cjs/boot/displayAlreadyInitializedError.d.ts +2 -0
- package/cjs/boot/displayAlreadyInitializedError.js +10 -0
- package/cjs/boot/displayAlreadyInitializedError.js.map +1 -0
- package/cjs/boot/init.d.ts +14 -0
- package/cjs/boot/init.js +39 -0
- package/cjs/boot/init.js.map +1 -0
- package/cjs/browser/addEventListener.d.ts +87 -0
- package/cjs/browser/addEventListener.js +55 -0
- package/cjs/browser/addEventListener.js.map +1 -0
- package/cjs/browser/browser.types.d.ts +51 -0
- package/cjs/browser/browser.types.js +6 -0
- package/cjs/browser/browser.types.js.map +1 -0
- package/cjs/browser/cookie.d.ts +28 -0
- package/cjs/browser/cookie.js +114 -0
- package/cjs/browser/cookie.js.map +1 -0
- package/cjs/browser/fetchObservable.d.ts +38 -0
- package/cjs/browser/fetchObservable.js +103 -0
- package/cjs/browser/fetchObservable.js.map +1 -0
- package/cjs/browser/pageMayExitObservable.d.ts +14 -0
- package/cjs/browser/pageMayExitObservable.js +45 -0
- package/cjs/browser/pageMayExitObservable.js.map +1 -0
- package/cjs/browser/runOnReadyState.d.ts +5 -0
- package/cjs/browser/runOnReadyState.js +20 -0
- package/cjs/browser/runOnReadyState.js.map +1 -0
- package/cjs/browser/xhrObservable.d.ts +24 -0
- package/cjs/browser/xhrObservable.js +86 -0
- package/cjs/browser/xhrObservable.js.map +1 -0
- package/cjs/domain/allowedTrackingOrigins.d.ts +4 -0
- package/cjs/domain/allowedTrackingOrigins.js +25 -0
- package/cjs/domain/allowedTrackingOrigins.js.map +1 -0
- package/cjs/domain/bufferedData.d.ts +14 -0
- package/cjs/domain/bufferedData.js +22 -0
- package/cjs/domain/bufferedData.js.map +1 -0
- package/cjs/domain/configuration/configuration.d.ts +312 -0
- package/cjs/domain/configuration/configuration.js +137 -0
- package/cjs/domain/configuration/configuration.js.map +1 -0
- package/cjs/domain/configuration/endpointBuilder.d.ts +12 -0
- package/cjs/domain/configuration/endpointBuilder.js +78 -0
- package/cjs/domain/configuration/endpointBuilder.js.map +1 -0
- package/cjs/domain/configuration/index.d.ts +5 -0
- package/cjs/domain/configuration/index.js +16 -0
- package/cjs/domain/configuration/index.js.map +1 -0
- package/cjs/domain/configuration/transportConfiguration.d.ts +20 -0
- package/cjs/domain/configuration/transportConfiguration.js +54 -0
- package/cjs/domain/configuration/transportConfiguration.js.map +1 -0
- package/cjs/domain/connectivity/connectivity.d.ts +14 -0
- package/cjs/domain/connectivity/connectivity.js +14 -0
- package/cjs/domain/connectivity/connectivity.js.map +1 -0
- package/cjs/domain/connectivity/index.d.ts +1 -0
- package/cjs/domain/connectivity/index.js +18 -0
- package/cjs/domain/connectivity/index.js.map +1 -0
- package/cjs/domain/console/consoleObservable.d.ts +21 -0
- package/cjs/domain/console/consoleObservable.js +84 -0
- package/cjs/domain/console/consoleObservable.js.map +1 -0
- package/cjs/domain/context/contextConstants.d.ts +21 -0
- package/cjs/domain/context/contextConstants.js +18 -0
- package/cjs/domain/context/contextConstants.js.map +1 -0
- package/cjs/domain/context/contextManager.d.ts +19 -0
- package/cjs/domain/context/contextManager.js +60 -0
- package/cjs/domain/context/contextManager.js.map +1 -0
- package/cjs/domain/context/contextUtils.d.ts +5 -0
- package/cjs/domain/context/contextUtils.js +16 -0
- package/cjs/domain/context/contextUtils.js.map +1 -0
- package/cjs/domain/context/defineContextMethod.d.ts +6 -0
- package/cjs/domain/context/defineContextMethod.js +21 -0
- package/cjs/domain/context/defineContextMethod.js.map +1 -0
- package/cjs/domain/context/storeContextManager.d.ts +6 -0
- package/cjs/domain/context/storeContextManager.js +40 -0
- package/cjs/domain/context/storeContextManager.js.map +1 -0
- package/cjs/domain/contexts/accountContext.d.ts +26 -0
- package/cjs/domain/contexts/accountContext.js +33 -0
- package/cjs/domain/contexts/accountContext.js.map +1 -0
- package/cjs/domain/contexts/globalContext.d.ts +18 -0
- package/cjs/domain/contexts/globalContext.js +21 -0
- package/cjs/domain/contexts/globalContext.js.map +1 -0
- package/cjs/domain/contexts/rumInternalContext.type.d.ts +14 -0
- package/cjs/domain/contexts/rumInternalContext.type.js +3 -0
- package/cjs/domain/contexts/rumInternalContext.type.js.map +1 -0
- package/cjs/domain/contexts/userContext.d.ts +29 -0
- package/cjs/domain/contexts/userContext.js +45 -0
- package/cjs/domain/contexts/userContext.js.map +1 -0
- package/cjs/domain/deflate/deflate.types.d.ts +40 -0
- package/cjs/domain/deflate/deflate.types.js +3 -0
- package/cjs/domain/deflate/deflate.types.js.map +1 -0
- package/cjs/domain/deflate/index.d.ts +1 -0
- package/cjs/domain/deflate/index.js +18 -0
- package/cjs/domain/deflate/index.js.map +1 -0
- package/cjs/domain/error/error.d.ts +23 -0
- package/cjs/domain/error/error.js +74 -0
- package/cjs/domain/error/error.js.map +1 -0
- package/cjs/domain/error/error.types.d.ts +47 -0
- package/cjs/domain/error/error.types.js +13 -0
- package/cjs/domain/error/error.types.js.map +1 -0
- package/cjs/domain/error/trackRuntimeError.d.ts +11 -0
- package/cjs/domain/error/trackRuntimeError.js +48 -0
- package/cjs/domain/error/trackRuntimeError.js.map +1 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +41 -0
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
- package/cjs/domain/extension/extensionUtils.d.ts +10 -0
- package/cjs/domain/extension/extensionUtils.js +30 -0
- package/cjs/domain/extension/extensionUtils.js.map +1 -0
- package/cjs/domain/intakeSites.d.ts +8 -0
- package/cjs/domain/intakeSites.js +11 -0
- package/cjs/domain/intakeSites.js.map +1 -0
- package/cjs/domain/report/browser.types.d.ts +34 -0
- package/cjs/domain/report/browser.types.js +3 -0
- package/cjs/domain/report/browser.types.js.map +1 -0
- package/cjs/domain/report/reportObservable.d.ts +14 -0
- package/cjs/domain/report/reportObservable.js +99 -0
- package/cjs/domain/report/reportObservable.js.map +1 -0
- package/cjs/domain/resourceUtils.d.ts +18 -0
- package/cjs/domain/resourceUtils.js +20 -0
- package/cjs/domain/resourceUtils.js.map +1 -0
- package/cjs/domain/session/oldCookiesMigration.d.ts +11 -0
- package/cjs/domain/session/oldCookiesMigration.js +40 -0
- package/cjs/domain/session/oldCookiesMigration.js.map +1 -0
- package/cjs/domain/session/sessionConstants.d.ts +15 -0
- package/cjs/domain/session/sessionConstants.js +16 -0
- package/cjs/domain/session/sessionConstants.js.map +1 -0
- package/cjs/domain/session/sessionManager.d.ts +28 -0
- package/cjs/domain/session/sessionManager.js +201 -0
- package/cjs/domain/session/sessionManager.js.map +1 -0
- package/cjs/domain/session/sessionState.d.ts +16 -0
- package/cjs/domain/session/sessionState.js +70 -0
- package/cjs/domain/session/sessionState.js.map +1 -0
- package/cjs/domain/session/sessionStateValidation.d.ts +3 -0
- package/cjs/domain/session/sessionStateValidation.js +11 -0
- package/cjs/domain/session/sessionStateValidation.js.map +1 -0
- package/cjs/domain/session/sessionStore.d.ts +38 -0
- package/cjs/domain/session/sessionStore.js +185 -0
- package/cjs/domain/session/sessionStore.js.map +1 -0
- package/cjs/domain/session/sessionStoreOperations.d.ts +12 -0
- package/cjs/domain/session/sessionStoreOperations.js +119 -0
- package/cjs/domain/session/sessionStoreOperations.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +12 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +104 -0
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +6 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +42 -0
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +5 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.js +31 -0
- package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/cjs/domain/tags.d.ts +6 -0
- package/cjs/domain/tags.js +67 -0
- package/cjs/domain/tags.js.map +1 -0
- package/cjs/domain/telemetry/index.d.ts +4 -0
- package/cjs/domain/telemetry/index.js +28 -0
- package/cjs/domain/telemetry/index.js.map +1 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js +9 -0
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
- package/cjs/domain/telemetry/telemetry.d.ts +56 -0
- package/cjs/domain/telemetry/telemetry.js +241 -0
- package/cjs/domain/telemetry/telemetry.js.map +1 -0
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +866 -0
- package/cjs/domain/telemetry/telemetryEvent.types.js +7 -0
- package/cjs/domain/telemetry/telemetryEvent.types.js.map +1 -0
- package/cjs/domain/trackingConsent.d.ts +13 -0
- package/cjs/domain/trackingConsent.js +28 -0
- package/cjs/domain/trackingConsent.js.map +1 -0
- package/cjs/index.d.ts +100 -0
- package/cjs/index.js +194 -0
- package/cjs/index.js.map +1 -0
- package/cjs/tools/abstractHooks.d.ts +24 -0
- package/cjs/tools/abstractHooks.js +41 -0
- package/cjs/tools/abstractHooks.js.map +1 -0
- package/cjs/tools/abstractLifeCycle.d.ts +23 -0
- package/cjs/tools/abstractLifeCycle.js +28 -0
- package/cjs/tools/abstractLifeCycle.js.map +1 -0
- package/cjs/tools/boundedBuffer.d.ts +16 -0
- package/cjs/tools/boundedBuffer.js +32 -0
- package/cjs/tools/boundedBuffer.js.map +1 -0
- package/cjs/tools/catchUserErrors.d.ts +1 -0
- package/cjs/tools/catchUserErrors.js +15 -0
- package/cjs/tools/catchUserErrors.js.map +1 -0
- package/cjs/tools/display.d.ts +38 -0
- package/cjs/tools/display.js +44 -0
- package/cjs/tools/display.js.map +1 -0
- package/cjs/tools/encoder.d.ts +54 -0
- package/cjs/tools/encoder.js +40 -0
- package/cjs/tools/encoder.js.map +1 -0
- package/cjs/tools/experimentalFeatures.d.ts +21 -0
- package/cjs/tools/experimentalFeatures.js +50 -0
- package/cjs/tools/experimentalFeatures.js.map +1 -0
- package/cjs/tools/getZoneJsOriginalValue.d.ts +19 -0
- package/cjs/tools/getZoneJsOriginalValue.js +29 -0
- package/cjs/tools/getZoneJsOriginalValue.js.map +1 -0
- package/cjs/tools/globalObject.d.ts +19 -0
- package/cjs/tools/globalObject.js +44 -0
- package/cjs/tools/globalObject.js.map +1 -0
- package/cjs/tools/instrumentMethod.d.ts +75 -0
- package/cjs/tools/instrumentMethod.js +118 -0
- package/cjs/tools/instrumentMethod.js.map +1 -0
- package/cjs/tools/matchOption.d.ts +8 -0
- package/cjs/tools/matchOption.js +35 -0
- package/cjs/tools/matchOption.js.map +1 -0
- package/cjs/tools/mergeInto.d.ts +25 -0
- package/cjs/tools/mergeInto.js +98 -0
- package/cjs/tools/mergeInto.js.map +1 -0
- package/cjs/tools/monitor.d.ts +9 -0
- package/cjs/tools/monitor.js +62 -0
- package/cjs/tools/monitor.js.map +1 -0
- package/cjs/tools/observable.d.ts +30 -0
- package/cjs/tools/observable.js +89 -0
- package/cjs/tools/observable.js.map +1 -0
- package/cjs/tools/queueMicrotask.d.ts +1 -0
- package/cjs/tools/queueMicrotask.js +17 -0
- package/cjs/tools/queueMicrotask.js.map +1 -0
- package/cjs/tools/readBytesFromStream.d.ts +10 -0
- package/cjs/tools/readBytesFromStream.js +28 -0
- package/cjs/tools/readBytesFromStream.js.map +1 -0
- package/cjs/tools/requestIdleCallback.d.ts +12 -0
- package/cjs/tools/requestIdleCallback.js +35 -0
- package/cjs/tools/requestIdleCallback.js.map +1 -0
- package/cjs/tools/sendToExtension.d.ts +3 -0
- package/cjs/tools/sendToExtension.js +11 -0
- package/cjs/tools/sendToExtension.js.map +1 -0
- package/cjs/tools/serialisation/context.d.ts +9 -0
- package/cjs/tools/serialisation/context.js +3 -0
- package/cjs/tools/serialisation/context.js.map +1 -0
- package/cjs/tools/serialisation/jsonStringify.d.ts +13 -0
- package/cjs/tools/serialisation/jsonStringify.js +48 -0
- package/cjs/tools/serialisation/jsonStringify.js.map +1 -0
- package/cjs/tools/serialisation/sanitize.d.ts +18 -0
- package/cjs/tools/serialisation/sanitize.js +188 -0
- package/cjs/tools/serialisation/sanitize.js.map +1 -0
- package/cjs/tools/stackTrace/computeStackTrace.d.ts +25 -0
- package/cjs/tools/stackTrace/computeStackTrace.js +187 -0
- package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -0
- package/cjs/tools/stackTrace/handlingStack.d.ts +10 -0
- package/cjs/tools/stackTrace/handlingStack.js +46 -0
- package/cjs/tools/stackTrace/handlingStack.js.map +1 -0
- package/cjs/tools/taskQueue.d.ts +15 -0
- package/cjs/tools/taskQueue.js +54 -0
- package/cjs/tools/taskQueue.js.map +1 -0
- package/cjs/tools/timer.d.ts +5 -0
- package/cjs/tools/timer.js +22 -0
- package/cjs/tools/timer.js.map +1 -0
- package/cjs/tools/utils/arrayUtils.d.ts +3 -0
- package/cjs/tools/utils/arrayUtils.js +20 -0
- package/cjs/tools/utils/arrayUtils.js.map +1 -0
- package/cjs/tools/utils/browserDetection.d.ts +8 -0
- package/cjs/tools/utils/browserDetection.js +33 -0
- package/cjs/tools/utils/browserDetection.js.map +1 -0
- package/cjs/tools/utils/byteUtils.d.ts +8 -0
- package/cjs/tools/utils/byteUtils.js +34 -0
- package/cjs/tools/utils/byteUtils.js.map +1 -0
- package/cjs/tools/utils/functionUtils.d.ts +8 -0
- package/cjs/tools/utils/functionUtils.js +43 -0
- package/cjs/tools/utils/functionUtils.js.map +1 -0
- package/cjs/tools/utils/numberUtils.d.ts +9 -0
- package/cjs/tools/utils/numberUtils.js +24 -0
- package/cjs/tools/utils/numberUtils.js.map +1 -0
- package/cjs/tools/utils/objectUtils.d.ts +10 -0
- package/cjs/tools/utils/objectUtils.js +23 -0
- package/cjs/tools/utils/objectUtils.js.map +1 -0
- package/cjs/tools/utils/polyfills.d.ts +7 -0
- package/cjs/tools/utils/polyfills.js +23 -0
- package/cjs/tools/utils/polyfills.js.map +1 -0
- package/cjs/tools/utils/responseUtils.d.ts +2 -0
- package/cjs/tools/utils/responseUtils.js +17 -0
- package/cjs/tools/utils/responseUtils.js.map +1 -0
- package/cjs/tools/utils/stringUtils.d.ts +23 -0
- package/cjs/tools/utils/stringUtils.js +91 -0
- package/cjs/tools/utils/stringUtils.js.map +1 -0
- package/cjs/tools/utils/timeUtils.d.ts +53 -0
- package/cjs/tools/utils/timeUtils.js +101 -0
- package/cjs/tools/utils/timeUtils.js.map +1 -0
- package/cjs/tools/utils/timezone.d.ts +1 -0
- package/cjs/tools/utils/timezone.js +13 -0
- package/cjs/tools/utils/timezone.js.map +1 -0
- package/cjs/tools/utils/typeUtils.d.ts +4 -0
- package/cjs/tools/utils/typeUtils.js +16 -0
- package/cjs/tools/utils/typeUtils.js.map +1 -0
- package/cjs/tools/utils/urlPolyfill.d.ts +5 -0
- package/cjs/tools/utils/urlPolyfill.js +59 -0
- package/cjs/tools/utils/urlPolyfill.js.map +1 -0
- package/cjs/tools/valueHistory.d.ts +27 -0
- package/cjs/tools/valueHistory.js +104 -0
- package/cjs/tools/valueHistory.js.map +1 -0
- package/cjs/transport/batch.d.ts +16 -0
- package/cjs/transport/batch.js +110 -0
- package/cjs/transport/batch.js.map +1 -0
- package/cjs/transport/eventBridge.d.ts +21 -0
- package/cjs/transport/eventBridge.js +46 -0
- package/cjs/transport/eventBridge.js.map +1 -0
- package/cjs/transport/flushController.d.ts +65 -0
- package/cjs/transport/flushController.js +123 -0
- package/cjs/transport/flushController.js.map +1 -0
- package/cjs/transport/httpRequest.d.ts +56 -0
- package/cjs/transport/httpRequest.js +95 -0
- package/cjs/transport/httpRequest.js.map +1 -0
- package/cjs/transport/index.d.ts +7 -0
- package/cjs/transport/index.js +15 -0
- package/cjs/transport/index.js.map +1 -0
- package/cjs/transport/sendWithRetryStrategy.d.ts +41 -0
- package/cjs/transport/sendWithRetryStrategy.js +163 -0
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -0
- package/esm/boot/displayAlreadyInitializedError.d.ts +2 -0
- package/esm/boot/displayAlreadyInitializedError.js +7 -0
- package/esm/boot/displayAlreadyInitializedError.js.map +1 -0
- package/esm/boot/init.d.ts +14 -0
- package/esm/boot/init.js +35 -0
- package/esm/boot/init.js.map +1 -0
- package/esm/browser/addEventListener.d.ts +87 -0
- package/esm/browser/addEventListener.js +51 -0
- package/esm/browser/addEventListener.js.map +1 -0
- package/esm/browser/browser.types.d.ts +51 -0
- package/esm/browser/browser.types.js +5 -0
- package/esm/browser/browser.types.js.map +1 -0
- package/esm/browser/cookie.d.ts +28 -0
- package/esm/browser/cookie.js +103 -0
- package/esm/browser/cookie.js.map +1 -0
- package/esm/browser/fetchObservable.d.ts +38 -0
- package/esm/browser/fetchObservable.js +99 -0
- package/esm/browser/fetchObservable.js.map +1 -0
- package/esm/browser/pageMayExitObservable.d.ts +14 -0
- package/esm/browser/pageMayExitObservable.js +40 -0
- package/esm/browser/pageMayExitObservable.js.map +1 -0
- package/esm/browser/runOnReadyState.d.ts +5 -0
- package/esm/browser/runOnReadyState.js +16 -0
- package/esm/browser/runOnReadyState.js.map +1 -0
- package/esm/browser/xhrObservable.d.ts +24 -0
- package/esm/browser/xhrObservable.js +83 -0
- package/esm/browser/xhrObservable.js.map +1 -0
- package/esm/domain/allowedTrackingOrigins.d.ts +4 -0
- package/esm/domain/allowedTrackingOrigins.js +21 -0
- package/esm/domain/allowedTrackingOrigins.js.map +1 -0
- package/esm/domain/bufferedData.d.ts +14 -0
- package/esm/domain/bufferedData.js +19 -0
- package/esm/domain/bufferedData.js.map +1 -0
- package/esm/domain/configuration/configuration.d.ts +312 -0
- package/esm/domain/configuration/configuration.js +131 -0
- package/esm/domain/configuration/configuration.js.map +1 -0
- package/esm/domain/configuration/endpointBuilder.d.ts +12 -0
- package/esm/domain/configuration/endpointBuilder.js +74 -0
- package/esm/domain/configuration/endpointBuilder.js.map +1 -0
- package/esm/domain/configuration/index.d.ts +5 -0
- package/esm/domain/configuration/index.js +4 -0
- package/esm/domain/configuration/index.js.map +1 -0
- package/esm/domain/configuration/transportConfiguration.d.ts +20 -0
- package/esm/domain/configuration/transportConfiguration.js +50 -0
- package/esm/domain/configuration/transportConfiguration.js.map +1 -0
- package/esm/domain/connectivity/connectivity.d.ts +14 -0
- package/esm/domain/connectivity/connectivity.js +11 -0
- package/esm/domain/connectivity/connectivity.js.map +1 -0
- package/esm/domain/connectivity/index.d.ts +1 -0
- package/esm/domain/connectivity/index.js +2 -0
- package/esm/domain/connectivity/index.js.map +1 -0
- package/esm/domain/console/consoleObservable.d.ts +21 -0
- package/esm/domain/console/consoleObservable.js +80 -0
- package/esm/domain/console/consoleObservable.js.map +1 -0
- package/esm/domain/context/contextConstants.d.ts +21 -0
- package/esm/domain/context/contextConstants.js +15 -0
- package/esm/domain/context/contextConstants.js.map +1 -0
- package/esm/domain/context/contextManager.d.ts +19 -0
- package/esm/domain/context/contextManager.js +57 -0
- package/esm/domain/context/contextManager.js.map +1 -0
- package/esm/domain/context/contextUtils.d.ts +5 -0
- package/esm/domain/context/contextUtils.js +13 -0
- package/esm/domain/context/contextUtils.js.map +1 -0
- package/esm/domain/context/defineContextMethod.d.ts +6 -0
- package/esm/domain/context/defineContextMethod.js +17 -0
- package/esm/domain/context/defineContextMethod.js.map +1 -0
- package/esm/domain/context/storeContextManager.d.ts +6 -0
- package/esm/domain/context/storeContextManager.js +35 -0
- package/esm/domain/context/storeContextManager.js.map +1 -0
- package/esm/domain/contexts/accountContext.d.ts +26 -0
- package/esm/domain/contexts/accountContext.js +29 -0
- package/esm/domain/contexts/accountContext.js.map +1 -0
- package/esm/domain/contexts/globalContext.d.ts +18 -0
- package/esm/domain/contexts/globalContext.js +17 -0
- package/esm/domain/contexts/globalContext.js.map +1 -0
- package/esm/domain/contexts/rumInternalContext.type.d.ts +14 -0
- package/esm/domain/contexts/rumInternalContext.type.js +2 -0
- package/esm/domain/contexts/rumInternalContext.type.js.map +1 -0
- package/esm/domain/contexts/userContext.d.ts +29 -0
- package/esm/domain/contexts/userContext.js +41 -0
- package/esm/domain/contexts/userContext.js.map +1 -0
- package/esm/domain/deflate/deflate.types.d.ts +40 -0
- package/esm/domain/deflate/deflate.types.js +2 -0
- package/esm/domain/deflate/deflate.types.js.map +1 -0
- package/esm/domain/deflate/index.d.ts +1 -0
- package/esm/domain/deflate/index.js +2 -0
- package/esm/domain/deflate/index.js.map +1 -0
- package/esm/domain/error/error.d.ts +23 -0
- package/esm/domain/error/error.js +65 -0
- package/esm/domain/error/error.js.map +1 -0
- package/esm/domain/error/error.types.d.ts +47 -0
- package/esm/domain/error/error.types.js +10 -0
- package/esm/domain/error/error.types.js.map +1 -0
- package/esm/domain/error/trackRuntimeError.d.ts +11 -0
- package/esm/domain/error/trackRuntimeError.js +43 -0
- package/esm/domain/error/trackRuntimeError.js.map +1 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +5 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js +38 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -0
- package/esm/domain/extension/extensionUtils.d.ts +10 -0
- package/esm/domain/extension/extensionUtils.js +25 -0
- package/esm/domain/extension/extensionUtils.js.map +1 -0
- package/esm/domain/intakeSites.d.ts +8 -0
- package/esm/domain/intakeSites.js +8 -0
- package/esm/domain/intakeSites.js.map +1 -0
- package/esm/domain/report/browser.types.d.ts +34 -0
- package/esm/domain/report/browser.types.js +2 -0
- package/esm/domain/report/browser.types.js.map +1 -0
- package/esm/domain/report/reportObservable.d.ts +14 -0
- package/esm/domain/report/reportObservable.js +95 -0
- package/esm/domain/report/reportObservable.js.map +1 -0
- package/esm/domain/resourceUtils.d.ts +18 -0
- package/esm/domain/resourceUtils.js +17 -0
- package/esm/domain/resourceUtils.js.map +1 -0
- package/esm/domain/session/oldCookiesMigration.d.ts +11 -0
- package/esm/domain/session/oldCookiesMigration.js +36 -0
- package/esm/domain/session/oldCookiesMigration.js.map +1 -0
- package/esm/domain/session/sessionConstants.d.ts +15 -0
- package/esm/domain/session/sessionConstants.js +13 -0
- package/esm/domain/session/sessionConstants.js.map +1 -0
- package/esm/domain/session/sessionManager.d.ts +28 -0
- package/esm/domain/session/sessionManager.js +196 -0
- package/esm/domain/session/sessionManager.js.map +1 -0
- package/esm/domain/session/sessionState.d.ts +16 -0
- package/esm/domain/session/sessionState.js +60 -0
- package/esm/domain/session/sessionState.js.map +1 -0
- package/esm/domain/session/sessionStateValidation.d.ts +3 -0
- package/esm/domain/session/sessionStateValidation.js +7 -0
- package/esm/domain/session/sessionStateValidation.js.map +1 -0
- package/esm/domain/session/sessionStore.d.ts +38 -0
- package/esm/domain/session/sessionStore.js +179 -0
- package/esm/domain/session/sessionStore.js.map +1 -0
- package/esm/domain/session/sessionStoreOperations.d.ts +12 -0
- package/esm/domain/session/sessionStoreOperations.js +114 -0
- package/esm/domain/session/sessionStoreOperations.js.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +12 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.js +98 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.js.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +6 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +37 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +2 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +12 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.js +24 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.js.map +1 -0
- package/esm/domain/tags.d.ts +6 -0
- package/esm/domain/tags.js +60 -0
- package/esm/domain/tags.js.map +1 -0
- package/esm/domain/telemetry/index.d.ts +4 -0
- package/esm/domain/telemetry/index.js +3 -0
- package/esm/domain/telemetry/index.js.map +1 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +18 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.js +6 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +1 -0
- package/esm/domain/telemetry/telemetry.d.ts +56 -0
- package/esm/domain/telemetry/telemetry.js +228 -0
- package/esm/domain/telemetry/telemetry.js.map +1 -0
- package/esm/domain/telemetry/telemetryEvent.types.d.ts +866 -0
- package/esm/domain/telemetry/telemetryEvent.types.js +6 -0
- package/esm/domain/telemetry/telemetryEvent.types.js.map +1 -0
- package/esm/domain/trackingConsent.d.ts +13 -0
- package/esm/domain/trackingConsent.js +24 -0
- package/esm/domain/trackingConsent.js.map +1 -0
- package/esm/index.d.ts +100 -0
- package/esm/index.js +76 -0
- package/esm/index.js.map +1 -0
- package/esm/tools/abstractHooks.d.ts +24 -0
- package/esm/tools/abstractHooks.js +37 -0
- package/esm/tools/abstractHooks.js.map +1 -0
- package/esm/tools/abstractLifeCycle.d.ts +23 -0
- package/esm/tools/abstractLifeCycle.js +24 -0
- package/esm/tools/abstractLifeCycle.js.map +1 -0
- package/esm/tools/boundedBuffer.d.ts +16 -0
- package/esm/tools/boundedBuffer.js +29 -0
- package/esm/tools/boundedBuffer.js.map +1 -0
- package/esm/tools/catchUserErrors.d.ts +1 -0
- package/esm/tools/catchUserErrors.js +12 -0
- package/esm/tools/catchUserErrors.js.map +1 -0
- package/esm/tools/display.d.ts +38 -0
- package/esm/tools/display.js +41 -0
- package/esm/tools/display.js.map +1 -0
- package/esm/tools/encoder.d.ts +54 -0
- package/esm/tools/encoder.js +37 -0
- package/esm/tools/encoder.js.map +1 -0
- package/esm/tools/experimentalFeatures.d.ts +21 -0
- package/esm/tools/experimentalFeatures.js +42 -0
- package/esm/tools/experimentalFeatures.js.map +1 -0
- package/esm/tools/getZoneJsOriginalValue.d.ts +19 -0
- package/esm/tools/getZoneJsOriginalValue.js +26 -0
- package/esm/tools/getZoneJsOriginalValue.js.map +1 -0
- package/esm/tools/globalObject.d.ts +19 -0
- package/esm/tools/globalObject.js +40 -0
- package/esm/tools/globalObject.js.map +1 -0
- package/esm/tools/instrumentMethod.d.ts +75 -0
- package/esm/tools/instrumentMethod.js +114 -0
- package/esm/tools/instrumentMethod.js.map +1 -0
- package/esm/tools/matchOption.d.ts +8 -0
- package/esm/tools/matchOption.js +31 -0
- package/esm/tools/matchOption.js.map +1 -0
- package/esm/tools/mergeInto.d.ts +25 -0
- package/esm/tools/mergeInto.js +93 -0
- package/esm/tools/mergeInto.js.map +1 -0
- package/esm/tools/monitor.d.ts +9 -0
- package/esm/tools/monitor.js +52 -0
- package/esm/tools/monitor.js.map +1 -0
- package/esm/tools/observable.d.ts +30 -0
- package/esm/tools/observable.js +83 -0
- package/esm/tools/observable.js.map +1 -0
- package/esm/tools/queueMicrotask.d.ts +1 -0
- package/esm/tools/queueMicrotask.js +14 -0
- package/esm/tools/queueMicrotask.js.map +1 -0
- package/esm/tools/readBytesFromStream.d.ts +10 -0
- package/esm/tools/readBytesFromStream.js +25 -0
- package/esm/tools/readBytesFromStream.js.map +1 -0
- package/esm/tools/requestIdleCallback.d.ts +12 -0
- package/esm/tools/requestIdleCallback.js +30 -0
- package/esm/tools/requestIdleCallback.js.map +1 -0
- package/esm/tools/sendToExtension.d.ts +3 -0
- package/esm/tools/sendToExtension.js +8 -0
- package/esm/tools/sendToExtension.js.map +1 -0
- package/esm/tools/serialisation/context.d.ts +9 -0
- package/esm/tools/serialisation/context.js +2 -0
- package/esm/tools/serialisation/context.js.map +1 -0
- package/esm/tools/serialisation/jsonStringify.d.ts +13 -0
- package/esm/tools/serialisation/jsonStringify.js +44 -0
- package/esm/tools/serialisation/jsonStringify.js.map +1 -0
- package/esm/tools/serialisation/sanitize.d.ts +18 -0
- package/esm/tools/serialisation/sanitize.js +185 -0
- package/esm/tools/serialisation/sanitize.js.map +1 -0
- package/esm/tools/stackTrace/computeStackTrace.d.ts +25 -0
- package/esm/tools/stackTrace/computeStackTrace.js +183 -0
- package/esm/tools/stackTrace/computeStackTrace.js.map +1 -0
- package/esm/tools/stackTrace/handlingStack.d.ts +10 -0
- package/esm/tools/stackTrace/handlingStack.js +41 -0
- package/esm/tools/stackTrace/handlingStack.js.map +1 -0
- package/esm/tools/taskQueue.d.ts +15 -0
- package/esm/tools/taskQueue.js +50 -0
- package/esm/tools/taskQueue.js.map +1 -0
- package/esm/tools/timer.d.ts +5 -0
- package/esm/tools/timer.js +16 -0
- package/esm/tools/timer.js.map +1 -0
- package/esm/tools/utils/arrayUtils.d.ts +3 -0
- package/esm/tools/utils/arrayUtils.js +15 -0
- package/esm/tools/utils/arrayUtils.js.map +1 -0
- package/esm/tools/utils/browserDetection.d.ts +8 -0
- package/esm/tools/utils/browserDetection.js +28 -0
- package/esm/tools/utils/browserDetection.js.map +1 -0
- package/esm/tools/utils/byteUtils.d.ts +8 -0
- package/esm/tools/utils/byteUtils.js +29 -0
- package/esm/tools/utils/byteUtils.js.map +1 -0
- package/esm/tools/utils/functionUtils.d.ts +8 -0
- package/esm/tools/utils/functionUtils.js +39 -0
- package/esm/tools/utils/functionUtils.js.map +1 -0
- package/esm/tools/utils/numberUtils.d.ts +9 -0
- package/esm/tools/utils/numberUtils.js +18 -0
- package/esm/tools/utils/numberUtils.js.map +1 -0
- package/esm/tools/utils/objectUtils.d.ts +10 -0
- package/esm/tools/utils/objectUtils.js +17 -0
- package/esm/tools/utils/objectUtils.js.map +1 -0
- package/esm/tools/utils/polyfills.d.ts +7 -0
- package/esm/tools/utils/polyfills.js +18 -0
- package/esm/tools/utils/polyfills.js.map +1 -0
- package/esm/tools/utils/responseUtils.d.ts +2 -0
- package/esm/tools/utils/responseUtils.js +13 -0
- package/esm/tools/utils/responseUtils.js.map +1 -0
- package/esm/tools/utils/stringUtils.d.ts +23 -0
- package/esm/tools/utils/stringUtils.js +84 -0
- package/esm/tools/utils/stringUtils.js.map +1 -0
- package/esm/tools/utils/timeUtils.d.ts +53 -0
- package/esm/tools/utils/timeUtils.js +84 -0
- package/esm/tools/utils/timeUtils.js.map +1 -0
- package/esm/tools/utils/timezone.d.ts +1 -0
- package/esm/tools/utils/timezone.js +10 -0
- package/esm/tools/utils/timezone.js.map +1 -0
- package/esm/tools/utils/typeUtils.d.ts +4 -0
- package/esm/tools/utils/typeUtils.js +13 -0
- package/esm/tools/utils/typeUtils.js.map +1 -0
- package/esm/tools/utils/urlPolyfill.d.ts +5 -0
- package/esm/tools/utils/urlPolyfill.js +52 -0
- package/esm/tools/utils/urlPolyfill.js.map +1 -0
- package/esm/tools/valueHistory.d.ts +27 -0
- package/esm/tools/valueHistory.js +100 -0
- package/esm/tools/valueHistory.js.map +1 -0
- package/esm/transport/batch.d.ts +16 -0
- package/esm/transport/batch.js +106 -0
- package/esm/transport/batch.js.map +1 -0
- package/esm/transport/eventBridge.d.ts +21 -0
- package/esm/transport/eventBridge.js +41 -0
- package/esm/transport/eventBridge.js.map +1 -0
- package/esm/transport/flushController.d.ts +65 -0
- package/esm/transport/flushController.js +119 -0
- package/esm/transport/flushController.js.map +1 -0
- package/esm/transport/httpRequest.d.ts +56 -0
- package/esm/transport/httpRequest.js +89 -0
- package/esm/transport/httpRequest.js.map +1 -0
- package/esm/transport/index.d.ts +7 -0
- package/esm/transport/index.js +5 -0
- package/esm/transport/index.js.map +1 -0
- package/esm/transport/sendWithRetryStrategy.d.ts +41 -0
- package/esm/transport/sendWithRetryStrategy.js +158 -0
- package/esm/transport/sendWithRetryStrategy.js.map +1 -0
- package/package.json +1 -1
- package/src/boot/displayAlreadyInitializedError.ts +1 -1
- package/src/boot/init.ts +1 -1
- package/src/browser/addEventListener.ts +2 -2
- package/src/domain/configuration/endpointBuilder.ts +16 -15
- package/src/domain/context/storeContextManager.ts +1 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { setTimeout } from '../../tools/timer';
|
|
2
|
+
import { generateUUID } from '../../tools/utils/stringUtils';
|
|
3
|
+
import { elapsed, ONE_SECOND, timeStampNow } from '../../tools/utils/timeUtils';
|
|
4
|
+
import { expandSessionState, isSessionInExpiredState } from './sessionState';
|
|
5
|
+
export const LOCK_RETRY_DELAY = 10;
|
|
6
|
+
export const LOCK_MAX_TRIES = 100;
|
|
7
|
+
// Locks should be hold for a few milliseconds top, just the time it takes to read and write a
|
|
8
|
+
// cookie. Using one second should be enough in most situations.
|
|
9
|
+
export const LOCK_EXPIRATION_DELAY = ONE_SECOND;
|
|
10
|
+
const LOCK_SEPARATOR = '--';
|
|
11
|
+
const bufferedOperations = [];
|
|
12
|
+
let ongoingOperations;
|
|
13
|
+
export function processSessionStoreOperations(operations, sessionStoreStrategy, numberOfRetries = 0) {
|
|
14
|
+
var _a;
|
|
15
|
+
const { isLockEnabled, persistSession, expireSession } = sessionStoreStrategy;
|
|
16
|
+
const persistWithLock = (session) => persistSession({ ...session, lock: currentLock });
|
|
17
|
+
const retrieveStore = () => {
|
|
18
|
+
const { lock, ...session } = sessionStoreStrategy.retrieveSession();
|
|
19
|
+
return {
|
|
20
|
+
session,
|
|
21
|
+
lock: lock && !isLockExpired(lock) ? lock : undefined,
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
if (!ongoingOperations) {
|
|
25
|
+
ongoingOperations = operations;
|
|
26
|
+
}
|
|
27
|
+
if (operations !== ongoingOperations) {
|
|
28
|
+
bufferedOperations.push(operations);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {
|
|
32
|
+
next(sessionStoreStrategy);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
let currentLock;
|
|
36
|
+
let currentStore = retrieveStore();
|
|
37
|
+
if (isLockEnabled) {
|
|
38
|
+
// if someone has lock, retry later
|
|
39
|
+
if (currentStore.lock) {
|
|
40
|
+
retryLater(operations, sessionStoreStrategy, numberOfRetries);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
// acquire lock
|
|
44
|
+
currentLock = createLock();
|
|
45
|
+
persistWithLock(currentStore.session);
|
|
46
|
+
// if lock is not acquired, retry later
|
|
47
|
+
currentStore = retrieveStore();
|
|
48
|
+
if (currentStore.lock !== currentLock) {
|
|
49
|
+
retryLater(operations, sessionStoreStrategy, numberOfRetries);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
let processedSession = operations.process(currentStore.session);
|
|
54
|
+
if (isLockEnabled) {
|
|
55
|
+
// if lock corrupted after process, retry later
|
|
56
|
+
currentStore = retrieveStore();
|
|
57
|
+
if (currentStore.lock !== currentLock) {
|
|
58
|
+
retryLater(operations, sessionStoreStrategy, numberOfRetries);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (processedSession) {
|
|
63
|
+
if (isSessionInExpiredState(processedSession)) {
|
|
64
|
+
expireSession(processedSession);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
expandSessionState(processedSession);
|
|
68
|
+
if (isLockEnabled) {
|
|
69
|
+
persistWithLock(processedSession);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
persistSession(processedSession);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (isLockEnabled) {
|
|
77
|
+
// correctly handle lock around expiration would require to handle this case properly at several levels
|
|
78
|
+
// since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it
|
|
79
|
+
if (!(processedSession && isSessionInExpiredState(processedSession))) {
|
|
80
|
+
// if lock corrupted after persist, retry later
|
|
81
|
+
currentStore = retrieveStore();
|
|
82
|
+
if (currentStore.lock !== currentLock) {
|
|
83
|
+
retryLater(operations, sessionStoreStrategy, numberOfRetries);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
persistSession(currentStore.session);
|
|
87
|
+
processedSession = currentStore.session;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// call after even if session is not persisted in order to perform operations on
|
|
91
|
+
// up-to-date session state value => the value could have been modified by another tab
|
|
92
|
+
(_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentStore.session);
|
|
93
|
+
next(sessionStoreStrategy);
|
|
94
|
+
}
|
|
95
|
+
function retryLater(operations, sessionStore, currentNumberOfRetries) {
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1);
|
|
98
|
+
}, LOCK_RETRY_DELAY);
|
|
99
|
+
}
|
|
100
|
+
function next(sessionStore) {
|
|
101
|
+
ongoingOperations = undefined;
|
|
102
|
+
const nextOperations = bufferedOperations.shift();
|
|
103
|
+
if (nextOperations) {
|
|
104
|
+
processSessionStoreOperations(nextOperations, sessionStore);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export function createLock() {
|
|
108
|
+
return generateUUID() + LOCK_SEPARATOR + timeStampNow();
|
|
109
|
+
}
|
|
110
|
+
function isLockExpired(lock) {
|
|
111
|
+
const [, timeStamp] = lock.split(LOCK_SEPARATOR);
|
|
112
|
+
return !timeStamp || elapsed(Number(timeStamp), timeStampNow()) > LOCK_EXPIRATION_DELAY;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=sessionStoreOperations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionStoreOperations.js","sourceRoot":"","sources":["../../../src/domain/session/sessionStoreOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CookieOptions } from '../../../browser/cookie';
|
|
2
|
+
import type { InitConfiguration, Configuration } from '../../configuration';
|
|
3
|
+
import type { SessionState } from '../sessionState';
|
|
4
|
+
import type { SessionStoreStrategy, SessionStoreStrategyType } from './sessionStoreStrategy';
|
|
5
|
+
export declare function selectCookieStrategy(initConfiguration: InitConfiguration): SessionStoreStrategyType | undefined;
|
|
6
|
+
export declare function initCookieStrategy(configuration: Configuration, cookieOptions: CookieOptions): SessionStoreStrategy;
|
|
7
|
+
/**
|
|
8
|
+
* Retrieve the session state from the cookie that was set with the same cookie options
|
|
9
|
+
* If there is no match, return the first cookie, because that's how `getCookie()` works
|
|
10
|
+
*/
|
|
11
|
+
export declare function retrieveSessionCookie(cookieOptions: CookieOptions, configuration: Configuration): SessionState;
|
|
12
|
+
export declare function buildCookieOptions(initConfiguration: InitConfiguration): CookieOptions | undefined;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { isEmptyObject } from '../../../tools/utils/objectUtils';
|
|
2
|
+
import { isChromium } from '../../../tools/utils/browserDetection';
|
|
3
|
+
import { getCurrentSite, areCookiesAuthorized, getCookies, setCookie, getCookie } from '../../../browser/cookie';
|
|
4
|
+
import { tryOldCookiesMigration } from '../oldCookiesMigration';
|
|
5
|
+
import { SESSION_COOKIE_EXPIRATION_DELAY, SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY, SessionPersistence, } from '../sessionConstants';
|
|
6
|
+
import { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';
|
|
7
|
+
import { SESSION_STORE_KEY } from './sessionStoreStrategy';
|
|
8
|
+
const SESSION_COOKIE_VERSION = 0;
|
|
9
|
+
export function selectCookieStrategy(initConfiguration) {
|
|
10
|
+
const cookieOptions = buildCookieOptions(initConfiguration);
|
|
11
|
+
return cookieOptions && areCookiesAuthorized(cookieOptions)
|
|
12
|
+
? { type: SessionPersistence.COOKIE, cookieOptions }
|
|
13
|
+
: undefined;
|
|
14
|
+
}
|
|
15
|
+
export function initCookieStrategy(configuration, cookieOptions) {
|
|
16
|
+
const cookieStore = {
|
|
17
|
+
/**
|
|
18
|
+
* Lock strategy allows mitigating issues due to concurrent access to cookie.
|
|
19
|
+
* This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.
|
|
20
|
+
*/
|
|
21
|
+
isLockEnabled: isChromium(),
|
|
22
|
+
persistSession: (sessionState) => storeSessionCookie(cookieOptions, configuration, sessionState, SESSION_EXPIRATION_DELAY),
|
|
23
|
+
retrieveSession: () => retrieveSessionCookie(cookieOptions, configuration),
|
|
24
|
+
expireSession: (sessionState) => storeSessionCookie(cookieOptions, configuration, getExpiredSessionState(sessionState, configuration), SESSION_TIME_OUT_DELAY),
|
|
25
|
+
};
|
|
26
|
+
tryOldCookiesMigration(cookieStore);
|
|
27
|
+
return cookieStore;
|
|
28
|
+
}
|
|
29
|
+
function storeSessionCookie(options, configuration, sessionState, defaultTimeout) {
|
|
30
|
+
let sessionStateString = toSessionString(sessionState);
|
|
31
|
+
if (configuration.betaEncodeCookieOptions) {
|
|
32
|
+
sessionStateString = toSessionString({
|
|
33
|
+
...sessionState,
|
|
34
|
+
// deleting a cookie is writing a new cookie with an empty value
|
|
35
|
+
// we don't want to store the cookie options in this case otherwise the cookie will not be deleted
|
|
36
|
+
...(!isEmptyObject(sessionState) ? { c: encodeCookieOptions(options) } : {}),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
setCookie(SESSION_STORE_KEY, sessionStateString, configuration.trackAnonymousUser ? SESSION_COOKIE_EXPIRATION_DELAY : defaultTimeout, options);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Retrieve the session state from the cookie that was set with the same cookie options
|
|
43
|
+
* If there is no match, return the first cookie, because that's how `getCookie()` works
|
|
44
|
+
*/
|
|
45
|
+
export function retrieveSessionCookie(cookieOptions, configuration) {
|
|
46
|
+
if (configuration.betaEncodeCookieOptions) {
|
|
47
|
+
return retrieveSessionCookieFromEncodedCookie(cookieOptions);
|
|
48
|
+
}
|
|
49
|
+
const sessionString = getCookie(SESSION_STORE_KEY);
|
|
50
|
+
const sessionState = toSessionState(sessionString);
|
|
51
|
+
return sessionState;
|
|
52
|
+
}
|
|
53
|
+
export function buildCookieOptions(initConfiguration) {
|
|
54
|
+
const cookieOptions = {};
|
|
55
|
+
cookieOptions.secure =
|
|
56
|
+
!!initConfiguration.useSecureSessionCookie || !!initConfiguration.usePartitionedCrossSiteSessionCookie;
|
|
57
|
+
cookieOptions.crossSite = !!initConfiguration.usePartitionedCrossSiteSessionCookie;
|
|
58
|
+
cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;
|
|
59
|
+
if (initConfiguration.trackSessionAcrossSubdomains) {
|
|
60
|
+
const currentSite = getCurrentSite();
|
|
61
|
+
if (!currentSite) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
cookieOptions.domain = currentSite;
|
|
65
|
+
}
|
|
66
|
+
return cookieOptions;
|
|
67
|
+
}
|
|
68
|
+
function encodeCookieOptions(cookieOptions) {
|
|
69
|
+
const domainCount = cookieOptions.domain ? cookieOptions.domain.split('.').length - 1 : 0;
|
|
70
|
+
/* eslint-disable no-bitwise */
|
|
71
|
+
let byte = 0;
|
|
72
|
+
byte |= SESSION_COOKIE_VERSION << 5; // Store version in upper 3 bits
|
|
73
|
+
byte |= domainCount << 1; // Store domain count in next 4 bits
|
|
74
|
+
byte |= cookieOptions.crossSite ? 1 : 0; // Store useCrossSiteScripting in next bit
|
|
75
|
+
/* eslint-enable no-bitwise */
|
|
76
|
+
return byte.toString(16); // Convert to hex string
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Retrieve the session state from the cookie that was set with the same cookie options.
|
|
80
|
+
* If there is no match, fallback to the first cookie, (because that's how `getCookie()` works)
|
|
81
|
+
* and this allows to keep the current session id when we release this feature.
|
|
82
|
+
*/
|
|
83
|
+
function retrieveSessionCookieFromEncodedCookie(cookieOptions) {
|
|
84
|
+
const cookies = getCookies(SESSION_STORE_KEY);
|
|
85
|
+
const opts = encodeCookieOptions(cookieOptions);
|
|
86
|
+
let sessionState;
|
|
87
|
+
// reverse the cookies so that if there is no match, the cookie returned is the first one
|
|
88
|
+
for (const cookie of cookies.reverse()) {
|
|
89
|
+
sessionState = toSessionState(cookie);
|
|
90
|
+
if (sessionState.c === opts) {
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// remove the cookie options from the session state as this is not part of the session state
|
|
95
|
+
sessionState === null || sessionState === void 0 ? true : delete sessionState.c;
|
|
96
|
+
return sessionState !== null && sessionState !== void 0 ? sessionState : {};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=sessionInCookie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionInCookie.js","sourceRoot":"","sources":["../../../../src/domain/session/storeStrategies/sessionInCookie.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Configuration } from '../../configuration';
|
|
2
|
+
import type { SessionState } from '../sessionState';
|
|
3
|
+
import type { SessionStoreStrategy, SessionStoreStrategyType } from './sessionStoreStrategy';
|
|
4
|
+
export declare function selectLocalStorageStrategy(): SessionStoreStrategyType | undefined;
|
|
5
|
+
export declare function initLocalStorageStrategy(configuration: Configuration): SessionStoreStrategy;
|
|
6
|
+
export declare function retrieveSessionFromLocalStorage(): SessionState;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { generateUUID } from '../../../tools/utils/stringUtils';
|
|
2
|
+
import { SessionPersistence } from '../sessionConstants';
|
|
3
|
+
import { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';
|
|
4
|
+
import { SESSION_STORE_KEY } from './sessionStoreStrategy';
|
|
5
|
+
const LOCAL_STORAGE_TEST_KEY = '_oo_test_';
|
|
6
|
+
export function selectLocalStorageStrategy() {
|
|
7
|
+
try {
|
|
8
|
+
const id = generateUUID();
|
|
9
|
+
const testKey = `${LOCAL_STORAGE_TEST_KEY}${id}`;
|
|
10
|
+
localStorage.setItem(testKey, id);
|
|
11
|
+
const retrievedId = localStorage.getItem(testKey);
|
|
12
|
+
localStorage.removeItem(testKey);
|
|
13
|
+
return id === retrievedId ? { type: SessionPersistence.LOCAL_STORAGE } : undefined;
|
|
14
|
+
}
|
|
15
|
+
catch (_a) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function initLocalStorageStrategy(configuration) {
|
|
20
|
+
return {
|
|
21
|
+
isLockEnabled: false,
|
|
22
|
+
persistSession: persistInLocalStorage,
|
|
23
|
+
retrieveSession: retrieveSessionFromLocalStorage,
|
|
24
|
+
expireSession: (sessionState) => expireSessionFromLocalStorage(sessionState, configuration),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function persistInLocalStorage(sessionState) {
|
|
28
|
+
localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState));
|
|
29
|
+
}
|
|
30
|
+
export function retrieveSessionFromLocalStorage() {
|
|
31
|
+
const sessionString = localStorage.getItem(SESSION_STORE_KEY);
|
|
32
|
+
return toSessionState(sessionString);
|
|
33
|
+
}
|
|
34
|
+
function expireSessionFromLocalStorage(previousSessionState, configuration) {
|
|
35
|
+
persistInLocalStorage(getExpiredSessionState(previousSessionState, configuration));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sessionInLocalStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionInLocalStorage.js","sourceRoot":"","sources":["../../../../src/domain/session/storeStrategies/sessionInLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,sBAAsB,GAAG,WAAW,CAAA;AAE1C,MAAM,UAAU,0BAA0B;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,YAAY,EAAE,CAAA;QACzB,MAAM,OAAO,GAAG,GAAG,sBAAsB,GAAG,EAAE,EAAE,CAAA;QAChD,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACjD,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAChC,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACpF,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAA4B;IACnE,OAAO;QACL,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,qBAAqB;QACrC,eAAe,EAAE,+BAA+B;QAChD,aAAa,EAAE,CAAC,YAA0B,EAAE,EAAE,CAAC,6BAA6B,CAAC,YAAY,EAAE,aAAa,CAAC;KAC1G,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,YAA0B;IACvD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7D,OAAO,cAAc,CAAC,aAAa,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,6BAA6B,CAAC,oBAAkC,EAAE,aAA4B;IACrG,qBAAqB,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAA;AACpF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CookieOptions } from '../../../browser/cookie';
|
|
2
|
+
import type { SessionPersistence } from '../sessionConstants';
|
|
3
|
+
import type { SessionState } from '../sessionState';
|
|
4
|
+
export declare const SESSION_STORE_KEY = "_oo_s";
|
|
5
|
+
export type SessionStoreStrategyType = {
|
|
6
|
+
type: typeof SessionPersistence.COOKIE;
|
|
7
|
+
cookieOptions: CookieOptions;
|
|
8
|
+
} | {
|
|
9
|
+
type: typeof SessionPersistence.LOCAL_STORAGE;
|
|
10
|
+
};
|
|
11
|
+
export interface SessionStoreStrategy {
|
|
12
|
+
isLockEnabled: boolean;
|
|
13
|
+
persistSession: (session: SessionState) => void;
|
|
14
|
+
retrieveSession: () => SessionState;
|
|
15
|
+
expireSession: (previousSessionState: SessionState) => void;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionStoreStrategy.js","sourceRoot":"","sources":["../../../../src/domain/session/storeStrategies/sessionStoreStrategy.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const SYNTHETICS_TEST_ID_COOKIE_NAME = "openobserve-synthetics-public-id";
|
|
2
|
+
export declare const SYNTHETICS_RESULT_ID_COOKIE_NAME = "openobserve-synthetics-result-id";
|
|
3
|
+
export declare const SYNTHETICS_INJECTS_RUM_COOKIE_NAME = "openobserve-synthetics-injects-rum";
|
|
4
|
+
export interface BrowserWindow extends Window {
|
|
5
|
+
_OO_SYNTHETICS_PUBLIC_ID?: unknown;
|
|
6
|
+
_OO_SYNTHETICS_RESULT_ID?: unknown;
|
|
7
|
+
_OO_SYNTHETICS_INJECTS_RUM?: unknown;
|
|
8
|
+
}
|
|
9
|
+
export declare function willSyntheticsInjectRum(): boolean;
|
|
10
|
+
export declare function getSyntheticsTestId(): string | undefined;
|
|
11
|
+
export declare function getSyntheticsResultId(): string | undefined;
|
|
12
|
+
export declare function isSyntheticsTest(): boolean;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getInitCookie } from '../../browser/cookie';
|
|
2
|
+
import { globalObject, isWorkerEnvironment } from '../../tools/globalObject';
|
|
3
|
+
export const SYNTHETICS_TEST_ID_COOKIE_NAME = 'openobserve-synthetics-public-id';
|
|
4
|
+
export const SYNTHETICS_RESULT_ID_COOKIE_NAME = 'openobserve-synthetics-result-id';
|
|
5
|
+
export const SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'openobserve-synthetics-injects-rum';
|
|
6
|
+
export function willSyntheticsInjectRum() {
|
|
7
|
+
if (isWorkerEnvironment) {
|
|
8
|
+
// We don't expect to run synthetics tests in a worker environment
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return Boolean(globalObject._OO_SYNTHETICS_INJECTS_RUM || getInitCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));
|
|
12
|
+
}
|
|
13
|
+
export function getSyntheticsTestId() {
|
|
14
|
+
const value = window._OO_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);
|
|
15
|
+
return typeof value === 'string' ? value : undefined;
|
|
16
|
+
}
|
|
17
|
+
export function getSyntheticsResultId() {
|
|
18
|
+
const value = window._OO_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);
|
|
19
|
+
return typeof value === 'string' ? value : undefined;
|
|
20
|
+
}
|
|
21
|
+
export function isSyntheticsTest() {
|
|
22
|
+
return Boolean(getSyntheticsTestId() && getSyntheticsResultId());
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=syntheticsWorkerValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntheticsWorkerValues.js","sourceRoot":"","sources":["../../../src/domain/synthetics/syntheticsWorkerValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE5E,MAAM,CAAC,MAAM,8BAA8B,GAAG,kCAAkC,CAAA;AAChF,MAAM,CAAC,MAAM,gCAAgC,GAAG,kCAAkC,CAAA;AAClF,MAAM,CAAC,MAAM,kCAAkC,GAAG,oCAAoC,CAAA;AAQtF,MAAM,UAAU,uBAAuB;IACrC,IAAI,mBAAmB,EAAE,CAAC;QACxB,kEAAkE;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,OAAO,CACX,YAA8B,CAAC,0BAA0B,IAAI,aAAa,CAAC,kCAAkC,CAAC,CAChH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAI,MAAwB,CAAC,wBAAwB,IAAI,aAAa,CAAC,8BAA8B,CAAC,CAAA;IACjH,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,KAAK,GACR,MAAwB,CAAC,wBAAwB,IAAI,aAAa,CAAC,gCAAgC,CAAC,CAAA;IACvG,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,mBAAmB,EAAE,IAAI,qBAAqB,EAAE,CAAC,CAAA;AAClE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Configuration } from './configuration';
|
|
2
|
+
export declare const TAG_SIZE_LIMIT = 200;
|
|
3
|
+
export declare function buildTags(configuration: Configuration): string[];
|
|
4
|
+
export declare function buildTag(key: string, rawValue?: string): string;
|
|
5
|
+
export declare function sanitizeTag(tag: string): string;
|
|
6
|
+
export declare function supportUnicodePropertyEscapes(): boolean;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { DOCS_ORIGIN, MORE_DETAILS, display } from '../tools/display';
|
|
2
|
+
export const TAG_SIZE_LIMIT = 200;
|
|
3
|
+
export function buildTags(configuration) {
|
|
4
|
+
const { env, service, version, datacenter, sdkVersion, variant } = configuration;
|
|
5
|
+
const tags = [buildTag('sdk_version', sdkVersion !== null && sdkVersion !== void 0 ? sdkVersion : "0.2.12-beta.22")];
|
|
6
|
+
if (env) {
|
|
7
|
+
tags.push(buildTag('env', env));
|
|
8
|
+
}
|
|
9
|
+
if (service) {
|
|
10
|
+
tags.push(buildTag('service', service));
|
|
11
|
+
}
|
|
12
|
+
if (version) {
|
|
13
|
+
tags.push(buildTag('version', version));
|
|
14
|
+
}
|
|
15
|
+
if (datacenter) {
|
|
16
|
+
tags.push(buildTag('datacenter', datacenter));
|
|
17
|
+
}
|
|
18
|
+
if (variant) {
|
|
19
|
+
tags.push(buildTag('variant', variant));
|
|
20
|
+
}
|
|
21
|
+
return tags;
|
|
22
|
+
}
|
|
23
|
+
export function buildTag(key, rawValue) {
|
|
24
|
+
// See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note
|
|
25
|
+
// that the backend may not follow the exact same rules, so we only want to display an informal
|
|
26
|
+
// warning.
|
|
27
|
+
const tag = rawValue ? `${key}:${rawValue}` : key;
|
|
28
|
+
if (tag.length > TAG_SIZE_LIMIT || hasForbiddenCharacters(tag)) {
|
|
29
|
+
display.warn(`Tag ${tag} doesn't meet tag requirements and will be sanitized. ${MORE_DETAILS} ${DOCS_ORIGIN}/getting_started/tagging/#defining-tags`);
|
|
30
|
+
}
|
|
31
|
+
// Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted
|
|
32
|
+
// by forging a value containing commas.
|
|
33
|
+
return sanitizeTag(tag);
|
|
34
|
+
}
|
|
35
|
+
export function sanitizeTag(tag) {
|
|
36
|
+
return tag.replace(/,/g, '_');
|
|
37
|
+
}
|
|
38
|
+
function hasForbiddenCharacters(rawValue) {
|
|
39
|
+
// Unicode property escapes is not supported in all browsers, so we use a try/catch.
|
|
40
|
+
// Todo: Remove the try/catch when dropping support for Chrome 63 and Firefox 67
|
|
41
|
+
// see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#browser_compatibility
|
|
42
|
+
if (!supportUnicodePropertyEscapes()) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
// We use the Unicode property escapes to match any character that is a letter including other languages like Chinese, Japanese, etc.
|
|
46
|
+
// p{Ll} matches a lowercase letter.
|
|
47
|
+
// p{Lo} matches a letter that is neither uppercase nor lowercase (ex: Japanese characters).
|
|
48
|
+
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#unicode_property_escapes_vs._character_classes
|
|
49
|
+
return new RegExp('[^\\p{Ll}\\p{Lo}0-9_:./-]', 'u').test(rawValue);
|
|
50
|
+
}
|
|
51
|
+
export function supportUnicodePropertyEscapes() {
|
|
52
|
+
try {
|
|
53
|
+
new RegExp('[\\p{Ll}]', 'u');
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
catch (_a) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/domain/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGrE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AAKjC,MAAM,UAAU,SAAS,CAAC,aAA4B;IACpD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,aAAa,CAAA;IAChF,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,0BAA0B,CAAC,CAAC,CAAA;IAEhF,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;IACjC,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,QAAiB;IACrD,8FAA8F;IAC9F,+FAA+F;IAC/F,WAAW;IACX,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IAEjD,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,IAAI,CACV,OAAO,GAAG,yDAAyD,YAAY,IAAI,WAAW,yCAAyC,CACxI,CAAA;IACH,CAAC;IAED,kGAAkG;IAClG,wCAAwC;IACxC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,oFAAoF;IACpF,gFAAgF;IAChF,kJAAkJ;IAClJ,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,qIAAqI;IACrI,oCAAoC;IACpC,4FAA4F;IAC5F,0KAA0K;IAC1K,OAAO,IAAI,MAAM,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { Telemetry } from './telemetry';
|
|
2
|
+
export { TelemetryService, TelemetryMetrics, addTelemetryDebug, addTelemetryError, resetTelemetry, startTelemetry, addTelemetryConfiguration, addTelemetryUsage, addTelemetryMetrics, getTelemetryObservable, } from './telemetry';
|
|
3
|
+
export * from './rawTelemetryEvent.types';
|
|
4
|
+
export type { TelemetryEvent, TelemetryErrorEvent, TelemetryDebugEvent, TelemetryConfigurationEvent, TelemetryUsageEvent, } from './telemetryEvent.types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/telemetry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AAEpB,cAAc,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TelemetryEvent, TelemetryConfigurationEvent, TelemetryUsageEvent } from './telemetryEvent.types';
|
|
2
|
+
export declare const TelemetryType: {
|
|
3
|
+
readonly LOG: "log";
|
|
4
|
+
readonly CONFIGURATION: "configuration";
|
|
5
|
+
readonly USAGE: "usage";
|
|
6
|
+
};
|
|
7
|
+
export declare const enum StatusType {
|
|
8
|
+
debug = "debug",
|
|
9
|
+
error = "error"
|
|
10
|
+
}
|
|
11
|
+
export interface RuntimeEnvInfo {
|
|
12
|
+
is_local_file: boolean;
|
|
13
|
+
is_worker: boolean;
|
|
14
|
+
}
|
|
15
|
+
export type RawTelemetryEvent = TelemetryEvent['telemetry'];
|
|
16
|
+
export type RawTelemetryConfiguration = TelemetryConfigurationEvent['telemetry']['configuration'];
|
|
17
|
+
export type RawTelemetryUsage = TelemetryUsageEvent['telemetry']['usage'];
|
|
18
|
+
export type RawTelemetryUsageFeature = TelemetryUsageEvent['telemetry']['usage']['feature'];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rawTelemetryEvent.types.js","sourceRoot":"","sources":["../../../src/domain/telemetry/rawTelemetryEvent.types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;CACN,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Context } from '../../tools/serialisation/context';
|
|
2
|
+
import type { Configuration } from '../configuration';
|
|
3
|
+
import { BufferedObservable, Observable } from '../../tools/observable';
|
|
4
|
+
import type { RawError } from '../error/error.types';
|
|
5
|
+
import type { StackTrace } from '../../tools/stackTrace/computeStackTrace';
|
|
6
|
+
import type { Encoder } from '../../tools/encoder';
|
|
7
|
+
import type { PageMayExitEvent } from '../../browser/pageMayExitObservable';
|
|
8
|
+
import { DeflateEncoderStreamId } from '../deflate';
|
|
9
|
+
import type { AbstractHooks } from '../../tools/abstractHooks';
|
|
10
|
+
import type { TelemetryEvent } from './telemetryEvent.types';
|
|
11
|
+
import type { RawTelemetryConfiguration, RawTelemetryEvent, RawTelemetryUsage } from './rawTelemetryEvent.types';
|
|
12
|
+
export declare const enum TelemetryService {
|
|
13
|
+
LOGS = "browser-logs-sdk",
|
|
14
|
+
RUM = "browser-rum-sdk"
|
|
15
|
+
}
|
|
16
|
+
export interface Telemetry {
|
|
17
|
+
stop: () => void;
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
metricsEnabled: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const enum TelemetryMetrics {
|
|
22
|
+
CUSTOMER_DATA_METRIC_NAME = "Customer data measures",
|
|
23
|
+
REMOTE_CONFIGURATION_METRIC_NAME = "remote configuration metrics",
|
|
24
|
+
RECORDER_INIT_METRICS_TELEMETRY_NAME = "Recorder init metrics",
|
|
25
|
+
SEGMENT_METRICS_TELEMETRY_NAME = "Segment network request metrics",
|
|
26
|
+
INITIAL_VIEW_METRICS_TELEMETRY_NAME = "Initial view metrics"
|
|
27
|
+
}
|
|
28
|
+
export declare function getTelemetryObservable(): BufferedObservable<{
|
|
29
|
+
rawEvent: RawTelemetryEvent;
|
|
30
|
+
metricName?: string;
|
|
31
|
+
}>;
|
|
32
|
+
export declare function startTelemetry(telemetryService: TelemetryService, configuration: Configuration, hooks: AbstractHooks, reportError: (error: RawError) => void, pageMayExitObservable: Observable<PageMayExitEvent>, createEncoder: (streamId: DeflateEncoderStreamId) => Encoder): Telemetry;
|
|
33
|
+
export declare function startTelemetryCollection(telemetryService: TelemetryService, configuration: Configuration, hooks: AbstractHooks, observable: Observable<TelemetryEvent & Context>, metricSampleRate?: number, maxTelemetryEventsPerPage?: number): {
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
metricsEnabled: boolean;
|
|
36
|
+
};
|
|
37
|
+
export declare function resetTelemetry(): void;
|
|
38
|
+
export declare function addTelemetryDebug(message: string, context?: Context): void;
|
|
39
|
+
export declare function addTelemetryError(e: unknown, context?: Context): void;
|
|
40
|
+
export declare function addTelemetryConfiguration(configuration: RawTelemetryConfiguration): void;
|
|
41
|
+
export declare function addTelemetryMetrics(metricName: TelemetryMetrics, context?: Context): void;
|
|
42
|
+
export declare function addTelemetryUsage(usage: RawTelemetryUsage): void;
|
|
43
|
+
export declare function formatError(e: unknown): {
|
|
44
|
+
error: {
|
|
45
|
+
kind: string | undefined;
|
|
46
|
+
stack: string;
|
|
47
|
+
};
|
|
48
|
+
message: string;
|
|
49
|
+
} | {
|
|
50
|
+
error: {
|
|
51
|
+
stack: string;
|
|
52
|
+
kind?: undefined;
|
|
53
|
+
};
|
|
54
|
+
message: string;
|
|
55
|
+
};
|
|
56
|
+
export declare function scrubCustomerFrames(stackTrace: StackTrace): StackTrace;
|