@openobserve/browser-core 0.3.3 → 0.4.0-beta.1
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/README.md +1 -1
- package/cjs/boot/displayAlreadyInitializedError.js +6 -7
- package/cjs/boot/displayAlreadyInitializedError.js.map +1 -1
- package/cjs/boot/init.js +26 -34
- package/cjs/boot/init.js.map +1 -1
- package/cjs/browser/addEventListener.d.ts +10 -8
- package/cjs/browser/addEventListener.js +107 -50
- package/cjs/browser/addEventListener.js.map +1 -1
- package/cjs/browser/browser.types.d.ts +91 -4
- package/cjs/browser/cookie.d.ts +0 -1
- package/cjs/browser/cookie.js +65 -92
- package/cjs/browser/cookie.js.map +1 -1
- package/cjs/browser/cookieAccess.d.ts +16 -0
- package/cjs/browser/cookieAccess.js +114 -0
- package/cjs/browser/cookieAccess.js.map +1 -0
- package/cjs/browser/fetch.d.ts +9 -0
- package/cjs/browser/fetch.js +18 -0
- package/cjs/browser/fetch.js.map +1 -0
- package/cjs/browser/fetchObservable.d.ts +3 -3
- package/cjs/browser/fetchObservable.js +80 -92
- package/cjs/browser/fetchObservable.js.map +1 -1
- package/cjs/browser/pageMayExitObservable.d.ts +1 -2
- package/cjs/browser/pageMayExitObservable.js +41 -40
- package/cjs/browser/pageMayExitObservable.js.map +1 -1
- package/cjs/browser/runOnReadyState.d.ts +2 -3
- package/cjs/browser/runOnReadyState.js +18 -17
- package/cjs/browser/runOnReadyState.js.map +1 -1
- package/cjs/browser/xhrObservable.d.ts +8 -3
- package/cjs/browser/xhrObservable.js +65 -77
- package/cjs/browser/xhrObservable.js.map +1 -1
- package/cjs/domain/allowedTrackingOrigins.d.ts +1 -1
- package/cjs/domain/allowedTrackingOrigins.js +25 -23
- package/cjs/domain/allowedTrackingOrigins.js.map +1 -1
- package/cjs/domain/bufferedData.d.ts +20 -6
- package/cjs/domain/bufferedData.js +41 -19
- package/cjs/domain/bufferedData.js.map +1 -1
- package/cjs/domain/configuration/configuration.d.ts +44 -43
- package/cjs/domain/configuration/configuration.js +122 -125
- package/cjs/domain/configuration/configuration.js.map +1 -1
- package/cjs/domain/configuration/endpointBuilder.d.ts +42 -7
- package/cjs/domain/configuration/endpointBuilder.js +67 -74
- package/cjs/domain/configuration/endpointBuilder.js.map +1 -1
- package/cjs/domain/configuration/index.d.ts +2 -3
- package/cjs/domain/connectivity/connectivity.d.ts +1 -7
- package/cjs/domain/connectivity/connectivity.js +11 -11
- package/cjs/domain/connectivity/connectivity.js.map +1 -1
- package/cjs/domain/console/consoleObservable.d.ts +1 -1
- package/cjs/domain/console/consoleObservable.js +59 -74
- package/cjs/domain/console/consoleObservable.js.map +1 -1
- package/cjs/domain/context/contextConstants.js +24 -15
- package/cjs/domain/context/contextConstants.js.map +1 -1
- package/cjs/domain/context/contextManager.js +49 -54
- package/cjs/domain/context/contextManager.js.map +1 -1
- package/cjs/domain/context/contextUtils.js +11 -12
- package/cjs/domain/context/contextUtils.js.map +1 -1
- package/cjs/domain/context/defineContextMethod.d.ts +2 -2
- package/cjs/domain/context/defineContextMethod.js +15 -16
- package/cjs/domain/context/defineContextMethod.js.map +1 -1
- package/cjs/domain/context/storeContextManager.d.ts +1 -2
- package/cjs/domain/context/storeContextManager.js +30 -33
- package/cjs/domain/context/storeContextManager.js.map +1 -1
- package/cjs/domain/contexts/accountContext.d.ts +2 -2
- package/cjs/domain/contexts/accountContext.js +26 -29
- package/cjs/domain/contexts/accountContext.js.map +1 -1
- package/cjs/domain/contexts/globalContext.d.ts +2 -2
- package/cjs/domain/contexts/globalContext.js +17 -17
- package/cjs/domain/contexts/globalContext.js.map +1 -1
- package/cjs/domain/contexts/tabContext.d.ts +4 -0
- package/cjs/domain/contexts/tabContext.js +27 -0
- package/cjs/domain/contexts/tabContext.js.map +1 -0
- package/cjs/domain/contexts/telemetrySessionContext.d.ts +4 -0
- package/cjs/domain/contexts/telemetrySessionContext.js +17 -0
- package/cjs/domain/contexts/telemetrySessionContext.js.map +1 -0
- package/cjs/domain/contexts/userContext.d.ts +8 -3
- package/cjs/domain/contexts/userContext.js +29 -41
- package/cjs/domain/contexts/userContext.js.map +1 -1
- package/cjs/domain/deflate/deflate.types.js +11 -2
- package/cjs/domain/deflate/deflate.types.js.map +1 -1
- package/cjs/domain/error/error.d.ts +1 -1
- package/cjs/domain/error/error.js +62 -60
- package/cjs/domain/error/error.js.map +1 -1
- package/cjs/domain/error/error.types.d.ts +1 -1
- package/cjs/domain/error/error.types.js +24 -11
- package/cjs/domain/error/error.types.js.map +1 -1
- package/cjs/domain/error/trackRuntimeError.d.ts +3 -2
- package/cjs/domain/error/trackRuntimeError.js +41 -41
- package/cjs/domain/error/trackRuntimeError.js.map +1 -1
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js +33 -38
- package/cjs/domain/eventRateLimiter/createEventRateLimiter.js.map +1 -1
- package/cjs/domain/extension/extensionUtils.js +18 -25
- package/cjs/domain/extension/extensionUtils.js.map +1 -1
- package/cjs/domain/intakeSites.d.ts +3 -3
- package/cjs/domain/intakeSites.js +23 -10
- package/cjs/domain/intakeSites.js.map +1 -1
- package/cjs/domain/report/reportObservable.d.ts +1 -2
- package/cjs/domain/report/reportObservable.js +73 -85
- package/cjs/domain/report/reportObservable.js.map +1 -1
- package/cjs/domain/resourceUtils.js +19 -17
- package/cjs/domain/resourceUtils.js.map +1 -1
- package/cjs/domain/sampler.d.ts +11 -0
- package/cjs/domain/sampler.js +40 -0
- package/cjs/domain/sampler.js.map +1 -0
- package/cjs/domain/session/sessionConstants.d.ts +1 -0
- package/cjs/domain/session/sessionConstants.js +19 -13
- package/cjs/domain/session/sessionConstants.js.map +1 -1
- package/cjs/domain/session/sessionManager.d.ts +13 -13
- package/cjs/domain/session/sessionManager.js +219 -193
- package/cjs/domain/session/sessionManager.js.map +1 -1
- package/cjs/domain/session/sessionState.d.ts +10 -1
- package/cjs/domain/session/sessionState.js +70 -55
- package/cjs/domain/session/sessionState.js.map +1 -1
- package/cjs/domain/session/sessionStateValidation.js +7 -8
- package/cjs/domain/session/sessionStateValidation.js.map +1 -1
- package/cjs/domain/session/sessionStore.d.ts +4 -33
- package/cjs/domain/session/sessionStore.js +42 -180
- package/cjs/domain/session/sessionStore.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInCookie.d.ts +7 -11
- package/cjs/domain/session/storeStrategies/sessionInCookie.js +89 -95
- package/cjs/domain/session/storeStrategies/sessionInCookie.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.d.ts +1 -4
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js +39 -38
- package/cjs/domain/session/storeStrategies/sessionInLocalStorage.js.map +1 -1
- package/cjs/domain/session/storeStrategies/sessionInMemory.d.ts +12 -0
- package/cjs/domain/session/storeStrategies/sessionInMemory.js +35 -0
- package/cjs/domain/session/storeStrategies/sessionInMemory.js.map +1 -0
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.d.ts +16 -7
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js +7 -4
- package/cjs/domain/session/storeStrategies/sessionStoreStrategy.js.map +1 -1
- package/cjs/domain/synthetics/syntheticsWorkerValues.d.ts +9 -3
- package/cjs/domain/synthetics/syntheticsWorkerValues.js +33 -25
- package/cjs/domain/synthetics/syntheticsWorkerValues.js.map +1 -1
- package/cjs/domain/tags.d.ts +0 -1
- package/cjs/domain/tags.js +22 -58
- package/cjs/domain/tags.js.map +1 -1
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js +8 -7
- package/cjs/domain/telemetry/rawTelemetryEvent.types.js.map +1 -1
- package/cjs/domain/telemetry/telemetry.d.ts +8 -8
- package/cjs/domain/telemetry/telemetry.js +196 -211
- package/cjs/domain/telemetry/telemetry.js.map +1 -1
- package/cjs/domain/telemetry/telemetryEvent.types.d.ts +97 -17
- package/cjs/domain/trackingConsent.d.ts +1 -0
- package/cjs/domain/trackingConsent.js +35 -24
- package/cjs/domain/trackingConsent.js.map +1 -1
- package/cjs/index.d.ts +25 -22
- package/cjs/index.js +281 -194
- package/cjs/tools/abstractLifeCycle.js +19 -26
- package/cjs/tools/abstractLifeCycle.js.map +1 -1
- package/cjs/tools/catchUserErrors.js +12 -12
- package/cjs/tools/catchUserErrors.js.map +1 -1
- package/cjs/tools/display.d.ts +1 -35
- package/cjs/tools/display.js +11 -43
- package/cjs/tools/display.js.map +1 -1
- package/cjs/tools/encoder.js +36 -37
- package/cjs/tools/encoder.js.map +1 -1
- package/cjs/tools/experimentalFeatures.d.ts +1 -4
- package/cjs/tools/experimentalFeatures.js +29 -40
- package/cjs/tools/experimentalFeatures.js.map +1 -1
- package/cjs/tools/getZoneJsOriginalValue.d.ts +1 -1
- package/cjs/tools/getZoneJsOriginalValue.js +22 -25
- package/cjs/tools/getZoneJsOriginalValue.js.map +1 -1
- package/cjs/tools/globalObject.d.ts +16 -15
- package/cjs/tools/globalObject.js +7 -43
- package/cjs/tools/globalObject.js.map +1 -1
- package/cjs/tools/instrumentMethod.d.ts +58 -1
- package/cjs/tools/instrumentMethod.js +174 -112
- package/cjs/tools/instrumentMethod.js.map +1 -1
- package/cjs/tools/matchOption.js +25 -29
- package/cjs/tools/matchOption.js.map +1 -1
- package/cjs/tools/mockable.d.ts +22 -0
- package/cjs/tools/mockable.js +28 -0
- package/cjs/tools/mockable.js.map +1 -0
- package/cjs/tools/monitor.d.ts +5 -7
- package/cjs/tools/monitor.js +13 -58
- package/cjs/tools/monitor.js.map +1 -1
- package/cjs/tools/observable.d.ts +3 -1
- package/cjs/tools/observable.js +75 -85
- package/cjs/tools/observable.js.map +1 -1
- package/cjs/tools/queueMicrotask.js +9 -14
- package/cjs/tools/queueMicrotask.js.map +1 -1
- package/cjs/tools/readBytesFromStream.d.ts +1 -6
- package/cjs/tools/readBytesFromStream.js +18 -25
- package/cjs/tools/readBytesFromStream.js.map +1 -1
- package/cjs/tools/requestIdleCallback.js +22 -29
- package/cjs/tools/requestIdleCallback.js.map +1 -1
- package/cjs/tools/sendToExtension.js +10 -8
- package/cjs/tools/sendToExtension.js.map +1 -1
- package/cjs/tools/serialisation/jsonStringify.js +37 -42
- package/cjs/tools/serialisation/jsonStringify.js.map +1 -1
- package/cjs/tools/serialisation/sanitize.d.ts +1 -0
- package/cjs/tools/serialisation/sanitize.js +111 -167
- package/cjs/tools/serialisation/sanitize.js.map +1 -1
- package/cjs/tools/serialisation/stringify.d.ts +2 -0
- package/cjs/tools/serialisation/stringify.js +18 -0
- package/cjs/tools/serialisation/stringify.js.map +1 -0
- package/cjs/tools/stackTrace/computeStackTrace.js +121 -159
- package/cjs/tools/stackTrace/computeStackTrace.js.map +1 -1
- package/cjs/tools/stackTrace/handlingStack.d.ts +1 -1
- package/cjs/tools/stackTrace/handlingStack.js +39 -38
- package/cjs/tools/stackTrace/handlingStack.js.map +1 -1
- package/cjs/tools/taskQueue.js +40 -49
- package/cjs/tools/taskQueue.js.map +1 -1
- package/cjs/tools/timer.d.ts +2 -1
- package/cjs/tools/timer.js +14 -13
- package/cjs/tools/timer.js.map +1 -1
- package/cjs/tools/utils/arrayUtils.d.ts +1 -0
- package/cjs/tools/utils/arrayUtils.js +17 -13
- package/cjs/tools/utils/arrayUtils.js.map +1 -1
- package/cjs/tools/utils/browserDetection.d.ts +1 -0
- package/cjs/tools/utils/browserDetection.js +25 -23
- package/cjs/tools/utils/browserDetection.js.map +1 -1
- package/cjs/tools/utils/byteUtils.js +20 -28
- package/cjs/tools/utils/byteUtils.js.map +1 -1
- package/cjs/tools/utils/functionUtils.js +33 -40
- package/cjs/tools/utils/functionUtils.js.map +1 -1
- package/cjs/tools/utils/numberUtils.js +15 -14
- package/cjs/tools/utils/numberUtils.js.map +1 -1
- package/cjs/tools/utils/objectUtils.d.ts +2 -0
- package/cjs/tools/utils/objectUtils.js +27 -14
- package/cjs/tools/utils/objectUtils.js.map +1 -1
- package/cjs/tools/utils/polyfills.js +12 -16
- package/cjs/tools/utils/polyfills.js.map +1 -1
- package/cjs/tools/utils/responseUtils.js +11 -12
- package/cjs/tools/utils/responseUtils.js.map +1 -1
- package/cjs/tools/utils/stringUtils.js +56 -77
- package/cjs/tools/utils/stringUtils.js.map +1 -1
- package/cjs/tools/utils/timezone.js +9 -10
- package/cjs/tools/utils/timezone.js.map +1 -1
- package/cjs/tools/utils/urlPolyfill.js +42 -46
- package/cjs/tools/utils/urlPolyfill.js.map +1 -1
- package/cjs/tools/valueHistory.d.ts +9 -1
- package/cjs/tools/valueHistory.js +110 -99
- package/cjs/tools/valueHistory.js.map +1 -1
- package/cjs/transport/batch.js +73 -106
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/eventBridge.d.ts +6 -2
- package/cjs/transport/eventBridge.js +53 -38
- package/cjs/transport/eventBridge.js.map +1 -1
- package/cjs/transport/flushController.d.ts +2 -12
- package/cjs/transport/flushController.js +98 -117
- package/cjs/transport/flushController.js.map +1 -1
- package/cjs/transport/httpRequest.d.ts +0 -1
- package/cjs/transport/httpRequest.js +51 -85
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/index.d.ts +1 -0
- package/cjs/transport/sendWithRetryStrategy.js +133 -146
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
- package/esm/boot/displayAlreadyInitializedError.mjs +9 -0
- package/esm/boot/displayAlreadyInitializedError.mjs.map +1 -0
- package/esm/boot/init.mjs +30 -0
- package/esm/boot/init.mjs.map +1 -0
- package/esm/browser/addEventListener.mjs +107 -0
- package/esm/browser/addEventListener.mjs.map +1 -0
- package/esm/browser/cookie.mjs +81 -0
- package/esm/browser/cookie.mjs.map +1 -0
- package/esm/browser/cookieAccess.mjs +111 -0
- package/esm/browser/cookieAccess.mjs.map +1 -0
- package/esm/browser/fetch.mjs +18 -0
- package/esm/browser/fetch.mjs.map +1 -0
- package/esm/browser/fetchObservable.mjs +90 -0
- package/esm/browser/fetchObservable.mjs.map +1 -0
- package/esm/browser/pageMayExitObservable.mjs +44 -0
- package/esm/browser/pageMayExitObservable.mjs.map +1 -0
- package/esm/browser/runOnReadyState.mjs +19 -0
- package/esm/browser/runOnReadyState.mjs.map +1 -0
- package/esm/browser/xhrObservable.mjs +74 -0
- package/esm/browser/xhrObservable.mjs.map +1 -0
- package/esm/domain/allowedTrackingOrigins.mjs +27 -0
- package/esm/domain/allowedTrackingOrigins.mjs.map +1 -0
- package/esm/domain/bufferedData.mjs +43 -0
- package/esm/domain/bufferedData.mjs.map +1 -0
- package/esm/domain/configuration/configuration.mjs +131 -0
- package/esm/domain/configuration/configuration.mjs.map +1 -0
- package/esm/domain/configuration/endpointBuilder.mjs +72 -0
- package/esm/domain/configuration/endpointBuilder.mjs.map +1 -0
- package/esm/domain/connectivity/connectivity.mjs +14 -0
- package/esm/domain/connectivity/connectivity.mjs.map +1 -0
- package/esm/domain/console/consoleObservable.mjs +69 -0
- package/esm/domain/console/consoleObservable.mjs.map +1 -0
- package/esm/domain/context/contextConstants.mjs +25 -0
- package/esm/domain/context/contextConstants.mjs.map +1 -0
- package/esm/domain/context/contextManager.mjs +55 -0
- package/esm/domain/context/contextManager.mjs.map +1 -0
- package/esm/domain/context/contextUtils.mjs +15 -0
- package/esm/domain/context/contextUtils.mjs.map +1 -0
- package/esm/domain/context/defineContextMethod.mjs +19 -0
- package/esm/domain/context/defineContextMethod.mjs.map +1 -0
- package/esm/domain/context/storeContextManager.mjs +36 -0
- package/esm/domain/context/storeContextManager.mjs.map +1 -0
- package/esm/domain/contexts/accountContext.mjs +29 -0
- package/esm/domain/contexts/accountContext.mjs.map +1 -0
- package/esm/domain/contexts/globalContext.mjs +20 -0
- package/esm/domain/contexts/globalContext.mjs.map +1 -0
- package/esm/domain/contexts/tabContext.mjs +27 -0
- package/esm/domain/contexts/tabContext.mjs.map +1 -0
- package/esm/domain/contexts/telemetrySessionContext.mjs +17 -0
- package/esm/domain/contexts/telemetrySessionContext.mjs.map +1 -0
- package/esm/domain/contexts/userContext.mjs +32 -0
- package/esm/domain/contexts/userContext.mjs.map +1 -0
- package/esm/domain/deflate/deflate.types.mjs +12 -0
- package/esm/domain/deflate/deflate.types.mjs.map +1 -0
- package/esm/domain/error/error.mjs +73 -0
- package/esm/domain/error/error.mjs.map +1 -0
- package/esm/domain/error/error.types.mjs +24 -0
- package/esm/domain/error/error.types.mjs.map +1 -0
- package/esm/domain/error/trackRuntimeError.mjs +48 -0
- package/esm/domain/error/trackRuntimeError.mjs.map +1 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs +36 -0
- package/esm/domain/eventRateLimiter/createEventRateLimiter.mjs.map +1 -0
- package/esm/domain/extension/extensionUtils.mjs +23 -0
- package/esm/domain/extension/extensionUtils.mjs.map +1 -0
- package/esm/domain/intakeSites.mjs +18 -0
- package/esm/domain/intakeSites.mjs.map +1 -0
- package/esm/domain/report/reportObservable.mjs +86 -0
- package/esm/domain/report/reportObservable.mjs.map +1 -0
- package/esm/domain/resourceUtils.mjs +21 -0
- package/esm/domain/resourceUtils.mjs.map +1 -0
- package/esm/domain/sampler.mjs +37 -0
- package/esm/domain/sampler.mjs.map +1 -0
- package/esm/domain/session/sessionConstants.mjs +18 -0
- package/esm/domain/session/sessionConstants.mjs.map +1 -0
- package/esm/domain/session/sessionManager.mjs +225 -0
- package/esm/domain/session/sessionManager.mjs.map +1 -0
- package/esm/domain/session/sessionState.mjs +76 -0
- package/esm/domain/session/sessionState.mjs.map +1 -0
- package/esm/domain/session/sessionStateValidation.mjs +9 -0
- package/esm/domain/session/sessionStateValidation.mjs.map +1 -0
- package/esm/domain/session/sessionStore.mjs +46 -0
- package/esm/domain/session/sessionStore.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.mjs +97 -0
- package/esm/domain/session/storeStrategies/sessionInCookie.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs +42 -0
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionInMemory.mjs +33 -0
- package/esm/domain/session/storeStrategies/sessionInMemory.mjs.map +1 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs +7 -0
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.mjs.map +1 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.mjs +37 -0
- package/esm/domain/synthetics/syntheticsWorkerValues.mjs.map +1 -0
- package/esm/domain/tags.mjs +28 -0
- package/esm/domain/tags.mjs.map +1 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.mjs +10 -0
- package/esm/domain/telemetry/rawTelemetryEvent.types.mjs.map +1 -0
- package/esm/domain/telemetry/telemetry.mjs +219 -0
- package/esm/domain/telemetry/telemetry.mjs.map +1 -0
- package/esm/domain/trackingConsent.mjs +38 -0
- package/esm/domain/trackingConsent.mjs.map +1 -0
- package/esm/index.mjs +81 -0
- package/esm/tools/abstractLifeCycle.mjs +21 -0
- package/esm/tools/abstractLifeCycle.mjs.map +1 -0
- package/esm/tools/catchUserErrors.mjs +15 -0
- package/esm/tools/catchUserErrors.mjs.map +1 -0
- package/esm/tools/display.mjs +10 -0
- package/esm/tools/display.mjs.map +1 -0
- package/esm/tools/encoder.mjs +39 -0
- package/esm/tools/encoder.mjs.map +1 -0
- package/esm/tools/experimentalFeatures.mjs +35 -0
- package/esm/tools/experimentalFeatures.mjs.map +1 -0
- package/esm/tools/getZoneJsOriginalValue.mjs +26 -0
- package/esm/tools/getZoneJsOriginalValue.mjs.map +1 -0
- package/esm/tools/globalObject.mjs +7 -0
- package/esm/tools/globalObject.mjs.map +1 -0
- package/esm/tools/instrumentMethod.mjs +178 -0
- package/esm/tools/instrumentMethod.mjs.map +1 -0
- package/esm/tools/matchOption.mjs +30 -0
- package/esm/tools/matchOption.mjs.map +1 -0
- package/esm/tools/mockable.mjs +28 -0
- package/esm/tools/mockable.mjs.map +1 -0
- package/esm/tools/monitor.mjs +13 -0
- package/esm/tools/monitor.mjs.map +1 -0
- package/esm/tools/observable.mjs +77 -0
- package/esm/tools/observable.mjs.map +1 -0
- package/esm/tools/queueMicrotask.mjs +12 -0
- package/esm/tools/queueMicrotask.mjs.map +1 -0
- package/esm/tools/readBytesFromStream.mjs +21 -0
- package/esm/tools/readBytesFromStream.mjs.map +1 -0
- package/esm/tools/requestIdleCallback.mjs +28 -0
- package/esm/tools/requestIdleCallback.mjs.map +1 -0
- package/esm/tools/sendToExtension.mjs +13 -0
- package/esm/tools/sendToExtension.mjs.map +1 -0
- package/esm/tools/serialisation/jsonStringify.mjs +42 -0
- package/esm/tools/serialisation/jsonStringify.mjs.map +1 -0
- package/esm/tools/serialisation/sanitize.mjs +131 -0
- package/esm/tools/serialisation/sanitize.mjs.map +1 -0
- package/esm/tools/serialisation/stringify.mjs +17 -0
- package/esm/tools/serialisation/stringify.mjs.map +1 -0
- package/esm/tools/stackTrace/computeStackTrace.mjs +148 -0
- package/esm/tools/stackTrace/computeStackTrace.mjs.map +1 -0
- package/esm/tools/stackTrace/handlingStack.mjs +45 -0
- package/esm/tools/stackTrace/handlingStack.mjs.map +1 -0
- package/esm/tools/taskQueue.mjs +45 -0
- package/esm/tools/taskQueue.mjs.map +1 -0
- package/esm/tools/timer.mjs +20 -0
- package/esm/tools/timer.mjs.map +1 -0
- package/esm/tools/utils/arrayUtils.mjs +21 -0
- package/esm/tools/utils/arrayUtils.mjs.map +1 -0
- package/esm/tools/utils/browserDetection.mjs +31 -0
- package/esm/tools/utils/browserDetection.mjs.map +1 -0
- package/esm/tools/utils/byteUtils.mjs +23 -0
- package/esm/tools/utils/byteUtils.mjs.map +1 -0
- package/esm/tools/utils/functionUtils.mjs +35 -0
- package/esm/tools/utils/functionUtils.mjs.map +1 -0
- package/esm/tools/utils/numberUtils.mjs +22 -0
- package/esm/tools/utils/numberUtils.mjs.map +1 -0
- package/esm/tools/utils/objectUtils.mjs +31 -0
- package/esm/tools/utils/objectUtils.mjs.map +1 -0
- package/esm/tools/utils/polyfills.mjs +17 -0
- package/esm/tools/utils/polyfills.mjs.map +1 -0
- package/esm/tools/utils/responseUtils.mjs +15 -0
- package/esm/tools/utils/responseUtils.mjs.map +1 -0
- package/esm/tools/utils/stringUtils.mjs +66 -0
- package/esm/tools/utils/stringUtils.mjs.map +1 -0
- package/esm/tools/utils/timezone.mjs +12 -0
- package/esm/tools/utils/timezone.mjs.map +1 -0
- package/esm/tools/utils/urlPolyfill.mjs +51 -0
- package/esm/tools/utils/urlPolyfill.mjs.map +1 -0
- package/esm/tools/valueHistory.mjs +114 -0
- package/esm/tools/valueHistory.mjs.map +1 -0
- package/esm/transport/batch.mjs +77 -0
- package/esm/transport/batch.mjs.map +1 -0
- package/esm/transport/eventBridge.mjs +58 -0
- package/esm/transport/eventBridge.mjs.map +1 -0
- package/esm/transport/flushController.mjs +104 -0
- package/esm/transport/flushController.mjs.map +1 -0
- package/esm/transport/httpRequest.mjs +60 -0
- package/esm/transport/httpRequest.mjs.map +1 -0
- package/esm/transport/sendWithRetryStrategy.mjs +149 -0
- package/esm/transport/sendWithRetryStrategy.mjs.map +1 -0
- package/package.json +16 -5
- package/src/boot/init.ts +2 -2
- package/src/browser/addEventListener.ts +37 -5
- package/src/browser/browser.types.ts +127 -13
- package/src/browser/cookie.ts +21 -27
- package/src/browser/cookieAccess.ts +150 -0
- package/src/browser/fetch.ts +14 -0
- package/src/browser/fetchObservable.ts +22 -22
- package/src/browser/pageMayExitObservable.ts +7 -4
- package/src/browser/runOnReadyState.ts +3 -8
- package/src/browser/xhrObservable.ts +22 -12
- package/src/domain/allowedTrackingOrigins.ts +5 -5
- package/src/domain/bufferedData.ts +41 -14
- package/src/domain/configuration/configuration.ts +87 -72
- package/src/domain/configuration/endpointBuilder.ts +82 -52
- package/src/domain/configuration/index.ts +2 -2
- package/src/domain/connectivity/connectivity.ts +3 -15
- package/src/domain/console/consoleObservable.ts +3 -3
- package/src/domain/context/contextManager.ts +1 -1
- package/src/domain/context/contextUtils.ts +1 -1
- package/src/domain/context/defineContextMethod.ts +3 -3
- package/src/domain/context/storeContextManager.ts +9 -6
- package/src/domain/contexts/accountContext.ts +5 -5
- package/src/domain/contexts/globalContext.ts +4 -5
- package/src/domain/contexts/tabContext.ts +43 -0
- package/src/domain/contexts/telemetrySessionContext.ts +26 -0
- package/src/domain/contexts/userContext.ts +7 -11
- package/src/domain/error/error.ts +53 -23
- package/src/domain/error/error.types.ts +1 -1
- package/src/domain/error/trackRuntimeError.ts +11 -4
- package/src/domain/eventRateLimiter/createEventRateLimiter.ts +1 -1
- package/src/domain/intakeSites.ts +8 -3
- package/src/domain/report/reportObservable.ts +11 -7
- package/src/domain/sampler.ts +64 -0
- package/src/domain/session/sessionConstants.ts +2 -1
- package/src/domain/session/sessionManager.ts +281 -176
- package/src/domain/session/sessionState.ts +64 -8
- package/src/domain/session/sessionStore.ts +57 -223
- package/src/domain/session/storeStrategies/sessionInCookie.ts +121 -107
- package/src/domain/session/storeStrategies/sessionInLocalStorage.ts +33 -21
- package/src/domain/session/storeStrategies/sessionInMemory.ts +55 -0
- package/src/domain/session/storeStrategies/sessionStoreStrategy.ts +28 -6
- package/src/domain/synthetics/syntheticsWorkerValues.ts +44 -13
- package/src/domain/tags.ts +0 -16
- package/src/domain/telemetry/telemetry.ts +38 -34
- package/src/domain/telemetry/telemetryEvent.types.ts +116 -20
- package/src/domain/trackingConsent.ts +18 -3
- package/src/index.ts +51 -31
- package/src/tools/display.ts +2 -50
- package/src/tools/experimentalFeatures.ts +1 -4
- package/src/tools/getZoneJsOriginalValue.ts +3 -3
- package/src/tools/globalObject.ts +27 -41
- package/src/tools/instrumentMethod.ts +230 -20
- package/src/tools/matchOption.ts +3 -1
- package/src/tools/mockable.ts +32 -0
- package/src/tools/monitor.ts +14 -62
- package/src/tools/observable.ts +9 -1
- package/src/tools/queueMicrotask.ts +6 -1
- package/src/tools/readBytesFromStream.ts +3 -12
- package/src/tools/requestIdleCallback.ts +1 -1
- package/src/tools/serialisation/sanitize.ts +67 -65
- package/src/tools/serialisation/stringify.ts +18 -0
- package/src/tools/stackTrace/computeStackTrace.ts +15 -13
- package/src/tools/stackTrace/handlingStack.ts +14 -1
- package/src/tools/taskQueue.ts +5 -3
- package/src/tools/timer.ts +7 -6
- package/src/tools/utils/arrayUtils.ts +7 -0
- package/src/tools/utils/browserDetection.ts +8 -0
- package/src/tools/utils/byteUtils.ts +1 -5
- package/src/tools/utils/functionUtils.ts +2 -2
- package/src/tools/utils/objectUtils.ts +20 -0
- package/src/tools/utils/stringUtils.ts +4 -1
- package/src/tools/utils/urlPolyfill.ts +5 -4
- package/src/tools/valueHistory.ts +39 -6
- package/src/transport/batch.ts +9 -18
- package/src/transport/eventBridge.ts +23 -10
- package/src/transport/flushController.ts +17 -24
- package/src/transport/httpRequest.ts +4 -36
- package/src/transport/index.ts +1 -0
- package/src/transport/sendWithRetryStrategy.ts +1 -1
- package/cjs/browser/browser.types.js +0 -6
- package/cjs/browser/browser.types.js.map +0 -1
- package/cjs/domain/configuration/index.js +0 -16
- package/cjs/domain/configuration/index.js.map +0 -1
- package/cjs/domain/configuration/transportConfiguration.d.ts +0 -20
- package/cjs/domain/configuration/transportConfiguration.js +0 -54
- package/cjs/domain/configuration/transportConfiguration.js.map +0 -1
- package/cjs/domain/connectivity/index.js +0 -18
- package/cjs/domain/connectivity/index.js.map +0 -1
- package/cjs/domain/contexts/rumInternalContext.type.js +0 -3
- package/cjs/domain/contexts/rumInternalContext.type.js.map +0 -1
- package/cjs/domain/deflate/index.js +0 -18
- package/cjs/domain/deflate/index.js.map +0 -1
- package/cjs/domain/report/browser.types.js +0 -3
- package/cjs/domain/report/browser.types.js.map +0 -1
- package/cjs/domain/session/oldCookiesMigration.d.ts +0 -11
- package/cjs/domain/session/oldCookiesMigration.js +0 -40
- package/cjs/domain/session/oldCookiesMigration.js.map +0 -1
- package/cjs/domain/session/sessionStoreOperations.d.ts +0 -12
- package/cjs/domain/session/sessionStoreOperations.js +0 -119
- package/cjs/domain/session/sessionStoreOperations.js.map +0 -1
- package/cjs/domain/telemetry/index.js +0 -28
- package/cjs/domain/telemetry/index.js.map +0 -1
- package/cjs/domain/telemetry/telemetryEvent.types.js +0 -7
- package/cjs/domain/telemetry/telemetryEvent.types.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/tools/abstractHooks.d.ts +0 -24
- package/cjs/tools/abstractHooks.js +0 -41
- package/cjs/tools/abstractHooks.js.map +0 -1
- package/cjs/tools/boundedBuffer.d.ts +0 -16
- package/cjs/tools/boundedBuffer.js +0 -32
- package/cjs/tools/boundedBuffer.js.map +0 -1
- package/cjs/tools/mergeInto.d.ts +0 -25
- package/cjs/tools/mergeInto.js +0 -98
- package/cjs/tools/mergeInto.js.map +0 -1
- package/cjs/tools/serialisation/context.js +0 -3
- package/cjs/tools/serialisation/context.js.map +0 -1
- package/cjs/tools/utils/timeUtils.d.ts +0 -53
- package/cjs/tools/utils/timeUtils.js +0 -101
- package/cjs/tools/utils/timeUtils.js.map +0 -1
- package/cjs/tools/utils/typeUtils.d.ts +0 -4
- package/cjs/tools/utils/typeUtils.js +0 -16
- package/cjs/tools/utils/typeUtils.js.map +0 -1
- package/cjs/transport/index.js +0 -15
- package/cjs/transport/index.js.map +0 -1
- package/esm/boot/displayAlreadyInitializedError.d.ts +0 -2
- package/esm/boot/displayAlreadyInitializedError.js +0 -7
- package/esm/boot/displayAlreadyInitializedError.js.map +0 -1
- package/esm/boot/init.d.ts +0 -14
- package/esm/boot/init.js +0 -35
- package/esm/boot/init.js.map +0 -1
- package/esm/browser/addEventListener.d.ts +0 -87
- package/esm/browser/addEventListener.js +0 -51
- package/esm/browser/addEventListener.js.map +0 -1
- package/esm/browser/browser.types.d.ts +0 -51
- package/esm/browser/browser.types.js +0 -5
- package/esm/browser/browser.types.js.map +0 -1
- package/esm/browser/cookie.d.ts +0 -28
- package/esm/browser/cookie.js +0 -103
- package/esm/browser/cookie.js.map +0 -1
- package/esm/browser/fetchObservable.d.ts +0 -38
- package/esm/browser/fetchObservable.js +0 -99
- package/esm/browser/fetchObservable.js.map +0 -1
- package/esm/browser/pageMayExitObservable.d.ts +0 -14
- package/esm/browser/pageMayExitObservable.js +0 -40
- package/esm/browser/pageMayExitObservable.js.map +0 -1
- package/esm/browser/runOnReadyState.d.ts +0 -5
- package/esm/browser/runOnReadyState.js +0 -16
- package/esm/browser/runOnReadyState.js.map +0 -1
- package/esm/browser/xhrObservable.d.ts +0 -24
- package/esm/browser/xhrObservable.js +0 -83
- package/esm/browser/xhrObservable.js.map +0 -1
- package/esm/domain/allowedTrackingOrigins.d.ts +0 -4
- package/esm/domain/allowedTrackingOrigins.js +0 -21
- package/esm/domain/allowedTrackingOrigins.js.map +0 -1
- package/esm/domain/bufferedData.d.ts +0 -14
- package/esm/domain/bufferedData.js +0 -19
- package/esm/domain/bufferedData.js.map +0 -1
- package/esm/domain/configuration/configuration.d.ts +0 -312
- package/esm/domain/configuration/configuration.js +0 -132
- package/esm/domain/configuration/configuration.js.map +0 -1
- package/esm/domain/configuration/endpointBuilder.d.ts +0 -12
- package/esm/domain/configuration/endpointBuilder.js +0 -77
- package/esm/domain/configuration/endpointBuilder.js.map +0 -1
- package/esm/domain/configuration/index.d.ts +0 -5
- package/esm/domain/configuration/index.js +0 -4
- package/esm/domain/configuration/index.js.map +0 -1
- package/esm/domain/configuration/transportConfiguration.d.ts +0 -20
- package/esm/domain/configuration/transportConfiguration.js +0 -50
- package/esm/domain/configuration/transportConfiguration.js.map +0 -1
- package/esm/domain/connectivity/connectivity.d.ts +0 -14
- package/esm/domain/connectivity/connectivity.js +0 -11
- package/esm/domain/connectivity/connectivity.js.map +0 -1
- package/esm/domain/connectivity/index.d.ts +0 -1
- package/esm/domain/connectivity/index.js +0 -2
- package/esm/domain/connectivity/index.js.map +0 -1
- package/esm/domain/console/consoleObservable.d.ts +0 -21
- package/esm/domain/console/consoleObservable.js +0 -80
- package/esm/domain/console/consoleObservable.js.map +0 -1
- package/esm/domain/context/contextConstants.d.ts +0 -21
- package/esm/domain/context/contextConstants.js +0 -15
- package/esm/domain/context/contextConstants.js.map +0 -1
- package/esm/domain/context/contextManager.d.ts +0 -19
- package/esm/domain/context/contextManager.js +0 -57
- package/esm/domain/context/contextManager.js.map +0 -1
- package/esm/domain/context/contextUtils.d.ts +0 -5
- package/esm/domain/context/contextUtils.js +0 -13
- package/esm/domain/context/contextUtils.js.map +0 -1
- package/esm/domain/context/defineContextMethod.d.ts +0 -6
- package/esm/domain/context/defineContextMethod.js +0 -17
- package/esm/domain/context/defineContextMethod.js.map +0 -1
- package/esm/domain/context/storeContextManager.d.ts +0 -6
- package/esm/domain/context/storeContextManager.js +0 -35
- package/esm/domain/context/storeContextManager.js.map +0 -1
- package/esm/domain/contexts/accountContext.d.ts +0 -26
- package/esm/domain/contexts/accountContext.js +0 -29
- package/esm/domain/contexts/accountContext.js.map +0 -1
- package/esm/domain/contexts/globalContext.d.ts +0 -18
- package/esm/domain/contexts/globalContext.js +0 -17
- package/esm/domain/contexts/globalContext.js.map +0 -1
- package/esm/domain/contexts/rumInternalContext.type.d.ts +0 -14
- package/esm/domain/contexts/rumInternalContext.type.js +0 -2
- package/esm/domain/contexts/rumInternalContext.type.js.map +0 -1
- package/esm/domain/contexts/userContext.d.ts +0 -29
- package/esm/domain/contexts/userContext.js +0 -41
- package/esm/domain/contexts/userContext.js.map +0 -1
- package/esm/domain/deflate/deflate.types.d.ts +0 -40
- package/esm/domain/deflate/deflate.types.js +0 -2
- package/esm/domain/deflate/deflate.types.js.map +0 -1
- package/esm/domain/deflate/index.d.ts +0 -1
- package/esm/domain/deflate/index.js +0 -2
- package/esm/domain/deflate/index.js.map +0 -1
- package/esm/domain/error/error.d.ts +0 -23
- package/esm/domain/error/error.js +0 -65
- package/esm/domain/error/error.js.map +0 -1
- package/esm/domain/error/error.types.d.ts +0 -47
- package/esm/domain/error/error.types.js +0 -10
- package/esm/domain/error/error.types.js.map +0 -1
- package/esm/domain/error/trackRuntimeError.d.ts +0 -11
- package/esm/domain/error/trackRuntimeError.js +0 -43
- package/esm/domain/error/trackRuntimeError.js.map +0 -1
- package/esm/domain/eventRateLimiter/createEventRateLimiter.d.ts +0 -5
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js +0 -38
- package/esm/domain/eventRateLimiter/createEventRateLimiter.js.map +0 -1
- package/esm/domain/extension/extensionUtils.d.ts +0 -10
- package/esm/domain/extension/extensionUtils.js +0 -25
- package/esm/domain/extension/extensionUtils.js.map +0 -1
- package/esm/domain/intakeSites.d.ts +0 -8
- package/esm/domain/intakeSites.js +0 -8
- package/esm/domain/intakeSites.js.map +0 -1
- package/esm/domain/report/browser.types.d.ts +0 -34
- package/esm/domain/report/browser.types.js +0 -2
- package/esm/domain/report/browser.types.js.map +0 -1
- package/esm/domain/report/reportObservable.d.ts +0 -14
- package/esm/domain/report/reportObservable.js +0 -95
- package/esm/domain/report/reportObservable.js.map +0 -1
- package/esm/domain/resourceUtils.d.ts +0 -18
- package/esm/domain/resourceUtils.js +0 -17
- package/esm/domain/resourceUtils.js.map +0 -1
- package/esm/domain/session/oldCookiesMigration.d.ts +0 -11
- package/esm/domain/session/oldCookiesMigration.js +0 -36
- package/esm/domain/session/oldCookiesMigration.js.map +0 -1
- package/esm/domain/session/sessionConstants.d.ts +0 -15
- package/esm/domain/session/sessionConstants.js +0 -13
- package/esm/domain/session/sessionConstants.js.map +0 -1
- package/esm/domain/session/sessionManager.d.ts +0 -28
- package/esm/domain/session/sessionManager.js +0 -196
- package/esm/domain/session/sessionManager.js.map +0 -1
- package/esm/domain/session/sessionState.d.ts +0 -16
- package/esm/domain/session/sessionState.js +0 -60
- package/esm/domain/session/sessionState.js.map +0 -1
- package/esm/domain/session/sessionStateValidation.d.ts +0 -3
- package/esm/domain/session/sessionStateValidation.js +0 -7
- package/esm/domain/session/sessionStateValidation.js.map +0 -1
- package/esm/domain/session/sessionStore.d.ts +0 -38
- package/esm/domain/session/sessionStore.js +0 -179
- package/esm/domain/session/sessionStore.js.map +0 -1
- package/esm/domain/session/sessionStoreOperations.d.ts +0 -12
- package/esm/domain/session/sessionStoreOperations.js +0 -114
- package/esm/domain/session/sessionStoreOperations.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionInCookie.d.ts +0 -12
- package/esm/domain/session/storeStrategies/sessionInCookie.js +0 -98
- package/esm/domain/session/storeStrategies/sessionInCookie.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.d.ts +0 -6
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js +0 -37
- package/esm/domain/session/storeStrategies/sessionInLocalStorage.js.map +0 -1
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.d.ts +0 -16
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js +0 -2
- package/esm/domain/session/storeStrategies/sessionStoreStrategy.js.map +0 -1
- package/esm/domain/synthetics/syntheticsWorkerValues.d.ts +0 -12
- package/esm/domain/synthetics/syntheticsWorkerValues.js +0 -24
- package/esm/domain/synthetics/syntheticsWorkerValues.js.map +0 -1
- package/esm/domain/tags.d.ts +0 -6
- package/esm/domain/tags.js +0 -60
- package/esm/domain/tags.js.map +0 -1
- package/esm/domain/telemetry/index.d.ts +0 -4
- package/esm/domain/telemetry/index.js +0 -3
- package/esm/domain/telemetry/index.js.map +0 -1
- package/esm/domain/telemetry/rawTelemetryEvent.types.d.ts +0 -18
- package/esm/domain/telemetry/rawTelemetryEvent.types.js +0 -6
- package/esm/domain/telemetry/rawTelemetryEvent.types.js.map +0 -1
- package/esm/domain/telemetry/telemetry.d.ts +0 -56
- package/esm/domain/telemetry/telemetry.js +0 -228
- package/esm/domain/telemetry/telemetry.js.map +0 -1
- package/esm/domain/telemetry/telemetryEvent.types.d.ts +0 -866
- package/esm/domain/telemetry/telemetryEvent.types.js +0 -6
- package/esm/domain/telemetry/telemetryEvent.types.js.map +0 -1
- package/esm/domain/trackingConsent.d.ts +0 -13
- package/esm/domain/trackingConsent.js +0 -24
- package/esm/domain/trackingConsent.js.map +0 -1
- package/esm/index.d.ts +0 -100
- package/esm/index.js +0 -76
- package/esm/index.js.map +0 -1
- package/esm/tools/abstractHooks.d.ts +0 -24
- package/esm/tools/abstractHooks.js +0 -37
- package/esm/tools/abstractHooks.js.map +0 -1
- package/esm/tools/abstractLifeCycle.d.ts +0 -23
- package/esm/tools/abstractLifeCycle.js +0 -24
- package/esm/tools/abstractLifeCycle.js.map +0 -1
- package/esm/tools/boundedBuffer.d.ts +0 -16
- package/esm/tools/boundedBuffer.js +0 -29
- package/esm/tools/boundedBuffer.js.map +0 -1
- package/esm/tools/catchUserErrors.d.ts +0 -1
- package/esm/tools/catchUserErrors.js +0 -12
- package/esm/tools/catchUserErrors.js.map +0 -1
- package/esm/tools/display.d.ts +0 -38
- package/esm/tools/display.js +0 -41
- package/esm/tools/display.js.map +0 -1
- package/esm/tools/encoder.d.ts +0 -54
- package/esm/tools/encoder.js +0 -37
- package/esm/tools/encoder.js.map +0 -1
- package/esm/tools/experimentalFeatures.d.ts +0 -21
- package/esm/tools/experimentalFeatures.js +0 -42
- package/esm/tools/experimentalFeatures.js.map +0 -1
- package/esm/tools/getZoneJsOriginalValue.d.ts +0 -19
- package/esm/tools/getZoneJsOriginalValue.js +0 -26
- package/esm/tools/getZoneJsOriginalValue.js.map +0 -1
- package/esm/tools/globalObject.d.ts +0 -19
- package/esm/tools/globalObject.js +0 -40
- package/esm/tools/globalObject.js.map +0 -1
- package/esm/tools/instrumentMethod.d.ts +0 -75
- package/esm/tools/instrumentMethod.js +0 -114
- package/esm/tools/instrumentMethod.js.map +0 -1
- package/esm/tools/matchOption.d.ts +0 -8
- package/esm/tools/matchOption.js +0 -31
- package/esm/tools/matchOption.js.map +0 -1
- package/esm/tools/mergeInto.d.ts +0 -25
- package/esm/tools/mergeInto.js +0 -93
- package/esm/tools/mergeInto.js.map +0 -1
- package/esm/tools/monitor.d.ts +0 -9
- package/esm/tools/monitor.js +0 -52
- package/esm/tools/monitor.js.map +0 -1
- package/esm/tools/observable.d.ts +0 -30
- package/esm/tools/observable.js +0 -83
- package/esm/tools/observable.js.map +0 -1
- package/esm/tools/queueMicrotask.d.ts +0 -1
- package/esm/tools/queueMicrotask.js +0 -14
- package/esm/tools/queueMicrotask.js.map +0 -1
- package/esm/tools/readBytesFromStream.d.ts +0 -10
- package/esm/tools/readBytesFromStream.js +0 -25
- package/esm/tools/readBytesFromStream.js.map +0 -1
- package/esm/tools/requestIdleCallback.d.ts +0 -12
- package/esm/tools/requestIdleCallback.js +0 -30
- package/esm/tools/requestIdleCallback.js.map +0 -1
- package/esm/tools/sendToExtension.d.ts +0 -3
- package/esm/tools/sendToExtension.js +0 -8
- package/esm/tools/sendToExtension.js.map +0 -1
- package/esm/tools/serialisation/context.d.ts +0 -9
- package/esm/tools/serialisation/context.js +0 -2
- package/esm/tools/serialisation/context.js.map +0 -1
- package/esm/tools/serialisation/jsonStringify.d.ts +0 -13
- package/esm/tools/serialisation/jsonStringify.js +0 -44
- package/esm/tools/serialisation/jsonStringify.js.map +0 -1
- package/esm/tools/serialisation/sanitize.d.ts +0 -18
- package/esm/tools/serialisation/sanitize.js +0 -185
- package/esm/tools/serialisation/sanitize.js.map +0 -1
- package/esm/tools/stackTrace/computeStackTrace.d.ts +0 -25
- package/esm/tools/stackTrace/computeStackTrace.js +0 -183
- package/esm/tools/stackTrace/computeStackTrace.js.map +0 -1
- package/esm/tools/stackTrace/handlingStack.d.ts +0 -10
- package/esm/tools/stackTrace/handlingStack.js +0 -41
- package/esm/tools/stackTrace/handlingStack.js.map +0 -1
- package/esm/tools/taskQueue.d.ts +0 -15
- package/esm/tools/taskQueue.js +0 -50
- package/esm/tools/taskQueue.js.map +0 -1
- package/esm/tools/timer.d.ts +0 -5
- package/esm/tools/timer.js +0 -16
- package/esm/tools/timer.js.map +0 -1
- package/esm/tools/utils/arrayUtils.d.ts +0 -3
- package/esm/tools/utils/arrayUtils.js +0 -15
- package/esm/tools/utils/arrayUtils.js.map +0 -1
- package/esm/tools/utils/browserDetection.d.ts +0 -8
- package/esm/tools/utils/browserDetection.js +0 -28
- package/esm/tools/utils/browserDetection.js.map +0 -1
- package/esm/tools/utils/byteUtils.d.ts +0 -8
- package/esm/tools/utils/byteUtils.js +0 -29
- package/esm/tools/utils/byteUtils.js.map +0 -1
- package/esm/tools/utils/functionUtils.d.ts +0 -8
- package/esm/tools/utils/functionUtils.js +0 -39
- package/esm/tools/utils/functionUtils.js.map +0 -1
- package/esm/tools/utils/numberUtils.d.ts +0 -9
- package/esm/tools/utils/numberUtils.js +0 -18
- package/esm/tools/utils/numberUtils.js.map +0 -1
- package/esm/tools/utils/objectUtils.d.ts +0 -10
- package/esm/tools/utils/objectUtils.js +0 -17
- package/esm/tools/utils/objectUtils.js.map +0 -1
- package/esm/tools/utils/polyfills.d.ts +0 -7
- package/esm/tools/utils/polyfills.js +0 -18
- package/esm/tools/utils/polyfills.js.map +0 -1
- package/esm/tools/utils/responseUtils.d.ts +0 -2
- package/esm/tools/utils/responseUtils.js +0 -13
- package/esm/tools/utils/responseUtils.js.map +0 -1
- package/esm/tools/utils/stringUtils.d.ts +0 -23
- package/esm/tools/utils/stringUtils.js +0 -84
- package/esm/tools/utils/stringUtils.js.map +0 -1
- package/esm/tools/utils/timeUtils.d.ts +0 -53
- package/esm/tools/utils/timeUtils.js +0 -84
- package/esm/tools/utils/timeUtils.js.map +0 -1
- package/esm/tools/utils/timezone.d.ts +0 -1
- package/esm/tools/utils/timezone.js +0 -10
- package/esm/tools/utils/timezone.js.map +0 -1
- package/esm/tools/utils/typeUtils.d.ts +0 -4
- package/esm/tools/utils/typeUtils.js +0 -13
- package/esm/tools/utils/typeUtils.js.map +0 -1
- package/esm/tools/utils/urlPolyfill.d.ts +0 -5
- package/esm/tools/utils/urlPolyfill.js +0 -52
- package/esm/tools/utils/urlPolyfill.js.map +0 -1
- package/esm/tools/valueHistory.d.ts +0 -27
- package/esm/tools/valueHistory.js +0 -100
- package/esm/tools/valueHistory.js.map +0 -1
- package/esm/transport/batch.d.ts +0 -16
- package/esm/transport/batch.js +0 -106
- package/esm/transport/batch.js.map +0 -1
- package/esm/transport/eventBridge.d.ts +0 -21
- package/esm/transport/eventBridge.js +0 -41
- package/esm/transport/eventBridge.js.map +0 -1
- package/esm/transport/flushController.d.ts +0 -65
- package/esm/transport/flushController.js +0 -119
- package/esm/transport/flushController.js.map +0 -1
- package/esm/transport/httpRequest.d.ts +0 -56
- package/esm/transport/httpRequest.js +0 -89
- package/esm/transport/httpRequest.js.map +0 -1
- package/esm/transport/index.d.ts +0 -7
- package/esm/transport/index.js +0 -5
- package/esm/transport/index.js.map +0 -1
- package/esm/transport/sendWithRetryStrategy.d.ts +0 -41
- package/esm/transport/sendWithRetryStrategy.js +0 -158
- package/esm/transport/sendWithRetryStrategy.js.map +0 -1
- package/src/domain/configuration/transportConfiguration.ts +0 -78
- package/src/domain/session/oldCookiesMigration.ts +0 -42
- package/src/domain/session/sessionStoreOperations.ts +0 -131
- package/src/tools/abstractHooks.ts +0 -72
- package/src/tools/boundedBuffer.ts +0 -45
- package/src/tools/mergeInto.ts +0 -177
- package/src/tools/utils/timeUtils.ts +0 -117
- package/src/tools/utils/typeUtils.ts +0 -12
|
@@ -3,16 +3,14 @@ import { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display'
|
|
|
3
3
|
import type { RawTelemetryConfiguration } from '../telemetry'
|
|
4
4
|
import { isPercentage } from '../../tools/utils/numberUtils'
|
|
5
5
|
import { objectHasValue } from '../../tools/utils/objectUtils'
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
6
|
+
import type { CookieOptions } from '../../browser/cookie'
|
|
7
|
+
import { getCurrentSite } from '../../browser/cookie'
|
|
8
8
|
import { TrackingConsent } from '../trackingConsent'
|
|
9
9
|
import type { SessionPersistence } from '../session/sessionConstants'
|
|
10
10
|
import type { MatchOption } from '../../tools/matchOption'
|
|
11
11
|
import { isAllowedTrackingOrigins } from '../allowedTrackingOrigins'
|
|
12
|
+
import { INTAKE_SITE_US1 } from '../intakeSites'
|
|
12
13
|
import type { Site } from '../intakeSites'
|
|
13
|
-
import { isWorkerEnvironment } from '../../tools/globalObject'
|
|
14
|
-
import type { TransportConfiguration } from './transportConfiguration'
|
|
15
|
-
import { computeTransportConfiguration } from './transportConfiguration'
|
|
16
14
|
|
|
17
15
|
/**
|
|
18
16
|
* Default privacy level for the browser SDK.
|
|
@@ -84,25 +82,17 @@ export interface InitConfiguration {
|
|
|
84
82
|
silentMultipleInit?: boolean | undefined
|
|
85
83
|
|
|
86
84
|
/**
|
|
87
|
-
* Which storage strategy to use for persisting sessions. Can be
|
|
85
|
+
* Which storage strategy to use for persisting sessions. Can be 'cookie', 'local-storage', or 'memory'.
|
|
86
|
+
* When an array is provided, the SDK will attempt each persistence type in the order specified.
|
|
88
87
|
*
|
|
89
88
|
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
90
89
|
*
|
|
91
|
-
*
|
|
92
|
-
* @defaultValue "cookie"
|
|
93
|
-
*/
|
|
94
|
-
sessionPersistence?: SessionPersistence | undefined
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Allows the use of localStorage when cookies cannot be set. This enables the RUM Browser SDK to run in environments that do not provide cookie support.
|
|
98
|
-
*
|
|
99
|
-
* Important: If you are using the RUM and Logs Browser SDKs, this option must be configured with identical values
|
|
100
|
-
* See [Monitor Electron Applications Using the Browser SDK](https://docs.datadoghq.com/real_user_monitoring/guide/monitor-electron-applications-using-browser-sdk) for further information.
|
|
90
|
+
* Note: 'memory' option is only for use with single-page applications. All page loads will start a new session, likely resulting in an increase in total number of RUM sessions
|
|
101
91
|
*
|
|
102
92
|
* @category Session Persistence
|
|
103
|
-
* @
|
|
93
|
+
* @defaultValue "cookie"
|
|
104
94
|
*/
|
|
105
|
-
|
|
95
|
+
sessionPersistence?: SessionPersistence | SessionPersistence[] | undefined
|
|
106
96
|
|
|
107
97
|
/**
|
|
108
98
|
* Allow listening to DOM events dispatched programmatically ([untrusted events](https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted)). Enabling this option can be useful if you heavily rely on programmatic events, such as in an automated UI test environment.
|
|
@@ -152,6 +142,30 @@ export interface InitConfiguration {
|
|
|
152
142
|
*/
|
|
153
143
|
site?: Site | undefined
|
|
154
144
|
|
|
145
|
+
/**
|
|
146
|
+
* The OpenObserve ingestion API version used to build intake URLs.
|
|
147
|
+
*
|
|
148
|
+
* @category Transport
|
|
149
|
+
* @defaultValue v1
|
|
150
|
+
*/
|
|
151
|
+
apiVersion?: string | undefined
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* The OpenObserve organization identifier, used as a path segment of intake URLs.
|
|
155
|
+
*
|
|
156
|
+
* @category Transport
|
|
157
|
+
* @defaultValue default
|
|
158
|
+
*/
|
|
159
|
+
organizationIdentifier?: string | undefined
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Send data to the intake over plain HTTP instead of HTTPS. Only intended for local
|
|
163
|
+
* development against a non-TLS OpenObserve instance.
|
|
164
|
+
*
|
|
165
|
+
* @category Transport
|
|
166
|
+
*/
|
|
167
|
+
insecureHTTP?: boolean | undefined
|
|
168
|
+
|
|
155
169
|
// tag and context options
|
|
156
170
|
/**
|
|
157
171
|
* The service name for your application. Follows the [tag syntax requirements](https://docs.datadoghq.com/getting_started/tagging/#define-tags).
|
|
@@ -213,15 +227,6 @@ export interface InitConfiguration {
|
|
|
213
227
|
*/
|
|
214
228
|
trackAnonymousUser?: boolean | undefined
|
|
215
229
|
|
|
216
|
-
/**
|
|
217
|
-
* Encode cookie options in the cookie value. This can be used as a mitigation for microssession issues.
|
|
218
|
-
* ⚠️ This is a beta feature and may be changed or removed in the future.
|
|
219
|
-
*
|
|
220
|
-
* @category Beta
|
|
221
|
-
* @defaultValue false
|
|
222
|
-
*/
|
|
223
|
-
betaEncodeCookieOptions?: boolean | undefined
|
|
224
|
-
|
|
225
230
|
// internal options
|
|
226
231
|
/**
|
|
227
232
|
* [Internal option] Enable experimental features
|
|
@@ -235,7 +240,7 @@ export interface InitConfiguration {
|
|
|
235
240
|
*
|
|
236
241
|
* @internal
|
|
237
242
|
*/
|
|
238
|
-
replica?:
|
|
243
|
+
replica?: ReplicaInitConfiguration | undefined
|
|
239
244
|
|
|
240
245
|
/**
|
|
241
246
|
* [Internal option] Set the datacenter from where the data is dual shipped
|
|
@@ -244,14 +249,6 @@ export interface InitConfiguration {
|
|
|
244
249
|
*/
|
|
245
250
|
datacenter?: string
|
|
246
251
|
|
|
247
|
-
/**
|
|
248
|
-
* [Internal option] Datadog internal analytics subdomain
|
|
249
|
-
*
|
|
250
|
-
* @internal
|
|
251
|
-
*/
|
|
252
|
-
// TODO next major: remove this option and replace usages by proxyFn
|
|
253
|
-
internalAnalyticsSubdomain?: string
|
|
254
|
-
|
|
255
252
|
/**
|
|
256
253
|
* [Internal option] The percentage of telemetry configuration sent. A value between 0 and 100.
|
|
257
254
|
*
|
|
@@ -288,10 +285,6 @@ export interface InitConfiguration {
|
|
|
288
285
|
* @internal
|
|
289
286
|
*/
|
|
290
287
|
variant?: string | undefined
|
|
291
|
-
|
|
292
|
-
apiVersion: string
|
|
293
|
-
organizationIdentifier: string
|
|
294
|
-
insecureHTTP: boolean | undefined
|
|
295
288
|
}
|
|
296
289
|
|
|
297
290
|
// This type is only used to build the core configuration. Logs and RUM SDKs are using a proper type
|
|
@@ -302,20 +295,30 @@ type GenericBeforeSendCallback = (event: any, context?: any) => unknown
|
|
|
302
295
|
* path: /api/vX/product
|
|
303
296
|
* parameters: xxx=yyy&zzz=aaa
|
|
304
297
|
*/
|
|
305
|
-
export type ProxyFn = (options: { path: string; parameters: string }) => string
|
|
298
|
+
export type ProxyFn = (options: { path: string; parameters: string; subdomain?: string }) => string
|
|
306
299
|
|
|
307
300
|
/**
|
|
308
301
|
* @internal
|
|
309
302
|
*/
|
|
310
|
-
export interface
|
|
303
|
+
export interface ReplicaInitConfiguration {
|
|
311
304
|
applicationId?: string
|
|
312
305
|
clientToken: string
|
|
313
306
|
}
|
|
314
307
|
|
|
315
|
-
export
|
|
316
|
-
|
|
308
|
+
export type SdkSource = 'browser' | 'flutter' | 'unity'
|
|
309
|
+
|
|
310
|
+
export interface Configuration {
|
|
311
|
+
clientToken: string
|
|
312
|
+
datacenter: string | undefined
|
|
313
|
+
proxy: string | ProxyFn | undefined
|
|
314
|
+
site: Site
|
|
315
|
+
apiVersion: string
|
|
316
|
+
organizationIdentifier: string
|
|
317
|
+
insecureHTTP: boolean | undefined
|
|
318
|
+
source: SdkSource
|
|
317
319
|
beforeSend: GenericBeforeSendCallback | undefined
|
|
318
|
-
|
|
320
|
+
cookieOptions: CookieOptions | undefined
|
|
321
|
+
sessionPersistence: SessionPersistence | SessionPersistence[] | undefined
|
|
319
322
|
sessionSampleRate: number
|
|
320
323
|
telemetrySampleRate: number
|
|
321
324
|
telemetryConfigurationSampleRate: number
|
|
@@ -324,19 +327,14 @@ export interface Configuration extends TransportConfiguration {
|
|
|
324
327
|
version?: string | undefined
|
|
325
328
|
env?: string | undefined
|
|
326
329
|
silentMultipleInit: boolean
|
|
327
|
-
allowUntrustedEvents: boolean
|
|
328
330
|
trackingConsent: TrackingConsent
|
|
329
331
|
storeContextsAcrossPages: boolean
|
|
330
332
|
trackAnonymousUser?: boolean
|
|
331
|
-
betaEncodeCookieOptions: boolean
|
|
332
333
|
|
|
333
334
|
// internal
|
|
334
335
|
sdkVersion: string | undefined
|
|
335
|
-
source: 'browser' | 'flutter' | 'unity'
|
|
336
336
|
variant: string | undefined
|
|
337
|
-
|
|
338
|
-
organizationIdentifier: string
|
|
339
|
-
insecureHTTP: boolean | undefined
|
|
337
|
+
replica: ReplicaInitConfiguration | undefined
|
|
340
338
|
}
|
|
341
339
|
|
|
342
340
|
function isString(tag: unknown, tagName: string): tag is string | undefined | null {
|
|
@@ -347,15 +345,6 @@ function isString(tag: unknown, tagName: string): tag is string | undefined | nu
|
|
|
347
345
|
return true
|
|
348
346
|
}
|
|
349
347
|
|
|
350
|
-
function isDatadogSite(site: unknown) {
|
|
351
|
-
return true;
|
|
352
|
-
// if (site && typeof site === 'string' && !/(datadog|ddog|datad0g|dd0g)/.test(site)) {
|
|
353
|
-
// display.error(`Site should be a valid Datadog site. ${MORE_DETAILS} ${DOCS_ORIGIN}/getting_started/site/.`)
|
|
354
|
-
// return false
|
|
355
|
-
// }
|
|
356
|
-
// return true
|
|
357
|
-
}
|
|
358
|
-
|
|
359
348
|
export function isSampleRate(sampleRate: unknown, name: string) {
|
|
360
349
|
if (sampleRate !== undefined && !isPercentage(sampleRate)) {
|
|
361
350
|
display.error(`${name} Sample Rate should be a number between 0 and 100`)
|
|
@@ -368,7 +357,7 @@ export function validateAndBuildConfiguration(
|
|
|
368
357
|
initConfiguration: InitConfiguration,
|
|
369
358
|
errorStack?: string
|
|
370
359
|
): Configuration | undefined {
|
|
371
|
-
if (!initConfiguration
|
|
360
|
+
if (!initConfiguration?.clientToken) {
|
|
372
361
|
display.error('Client Token is not configured, we will not send any data.')
|
|
373
362
|
return
|
|
374
363
|
}
|
|
@@ -382,7 +371,6 @@ export function validateAndBuildConfiguration(
|
|
|
382
371
|
}
|
|
383
372
|
|
|
384
373
|
if (
|
|
385
|
-
!isDatadogSite(initConfiguration.site) ||
|
|
386
374
|
!isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||
|
|
387
375
|
!isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||
|
|
388
376
|
!isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||
|
|
@@ -404,9 +392,17 @@ export function validateAndBuildConfiguration(
|
|
|
404
392
|
}
|
|
405
393
|
|
|
406
394
|
return {
|
|
395
|
+
clientToken: initConfiguration.clientToken,
|
|
396
|
+
proxy: initConfiguration.proxy,
|
|
397
|
+
site: initConfiguration.site || INTAKE_SITE_US1,
|
|
398
|
+
apiVersion: initConfiguration.apiVersion ?? 'v1',
|
|
399
|
+
organizationIdentifier: initConfiguration.organizationIdentifier ?? 'default',
|
|
400
|
+
insecureHTTP: initConfiguration.insecureHTTP,
|
|
401
|
+
source: validateSource(initConfiguration.source),
|
|
407
402
|
beforeSend:
|
|
408
403
|
initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),
|
|
409
|
-
|
|
404
|
+
cookieOptions: buildCookieOptions(initConfiguration),
|
|
405
|
+
sessionPersistence: initConfiguration.sessionPersistence,
|
|
410
406
|
sessionSampleRate: initConfiguration.sessionSampleRate ?? 100,
|
|
411
407
|
telemetrySampleRate: initConfiguration.telemetrySampleRate ?? 20,
|
|
412
408
|
telemetryConfigurationSampleRate: initConfiguration.telemetryConfigurationSampleRate ?? 5,
|
|
@@ -416,24 +412,36 @@ export function validateAndBuildConfiguration(
|
|
|
416
412
|
version: initConfiguration.version ?? undefined,
|
|
417
413
|
datacenter: initConfiguration.datacenter ?? undefined,
|
|
418
414
|
silentMultipleInit: !!initConfiguration.silentMultipleInit,
|
|
419
|
-
allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,
|
|
420
415
|
trackingConsent: initConfiguration.trackingConsent ?? TrackingConsent.GRANTED,
|
|
421
416
|
trackAnonymousUser: initConfiguration.trackAnonymousUser ?? true,
|
|
422
417
|
storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,
|
|
423
|
-
betaEncodeCookieOptions: !!initConfiguration.betaEncodeCookieOptions,
|
|
424
418
|
|
|
425
419
|
/**
|
|
426
420
|
* The source of the SDK, used for support plugins purposes.
|
|
427
421
|
*/
|
|
428
422
|
variant: initConfiguration.variant,
|
|
429
423
|
sdkVersion: initConfiguration.sdkVersion,
|
|
424
|
+
replica: initConfiguration.replica,
|
|
425
|
+
}
|
|
426
|
+
}
|
|
430
427
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
insecureHTTP: initConfiguration.insecureHTTP,
|
|
428
|
+
export function buildCookieOptions(initConfiguration: InitConfiguration): CookieOptions | undefined {
|
|
429
|
+
const cookieOptions: CookieOptions = {}
|
|
434
430
|
|
|
435
|
-
|
|
431
|
+
cookieOptions.secure =
|
|
432
|
+
!!initConfiguration.useSecureSessionCookie || !!initConfiguration.usePartitionedCrossSiteSessionCookie
|
|
433
|
+
cookieOptions.crossSite = !!initConfiguration.usePartitionedCrossSiteSessionCookie
|
|
434
|
+
cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie
|
|
435
|
+
|
|
436
|
+
if (initConfiguration.trackSessionAcrossSubdomains) {
|
|
437
|
+
const currentSite = getCurrentSite()
|
|
438
|
+
if (!currentSite) {
|
|
439
|
+
return
|
|
440
|
+
}
|
|
441
|
+
cookieOptions.domain = currentSite
|
|
436
442
|
}
|
|
443
|
+
|
|
444
|
+
return cookieOptions
|
|
437
445
|
}
|
|
438
446
|
|
|
439
447
|
export function serializeConfiguration(initConfiguration: InitConfiguration) {
|
|
@@ -449,15 +457,22 @@ export function serializeConfiguration(initConfiguration: InitConfiguration) {
|
|
|
449
457
|
silent_multiple_init: initConfiguration.silentMultipleInit,
|
|
450
458
|
track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,
|
|
451
459
|
track_anonymous_user: initConfiguration.trackAnonymousUser,
|
|
452
|
-
session_persistence: initConfiguration.sessionPersistence
|
|
453
|
-
|
|
460
|
+
session_persistence: Array.isArray(initConfiguration.sessionPersistence)
|
|
461
|
+
? initConfiguration.sessionPersistence[0]
|
|
462
|
+
: initConfiguration.sessionPersistence,
|
|
454
463
|
store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,
|
|
455
464
|
allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,
|
|
456
465
|
tracking_consent: initConfiguration.trackingConsent,
|
|
457
466
|
use_allowed_tracking_origins: Array.isArray(initConfiguration.allowedTrackingOrigins),
|
|
458
|
-
beta_encode_cookie_options: initConfiguration.betaEncodeCookieOptions,
|
|
459
467
|
source: initConfiguration.source,
|
|
460
468
|
sdk_version: initConfiguration.sdkVersion,
|
|
461
469
|
variant: initConfiguration.variant,
|
|
462
470
|
} satisfies RawTelemetryConfiguration
|
|
463
471
|
}
|
|
472
|
+
|
|
473
|
+
function validateSource(source: string | undefined): SdkSource {
|
|
474
|
+
if (source === 'flutter' || source === 'unity') {
|
|
475
|
+
return source
|
|
476
|
+
}
|
|
477
|
+
return 'browser'
|
|
478
|
+
}
|
|
@@ -1,88 +1,122 @@
|
|
|
1
|
+
import { timeStampNow } from '@openobserve/js-core/time'
|
|
1
2
|
import type { Payload } from '../../transport'
|
|
2
|
-
import { timeStampNow } from '../../tools/utils/timeUtils'
|
|
3
3
|
import { normalizeUrl } from '../../tools/utils/urlPolyfill'
|
|
4
4
|
import { generateUUID } from '../../tools/utils/stringUtils'
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
5
|
+
import type { Site } from '../intakeSites'
|
|
6
|
+
import { INTAKE_SITE_US1 } from '../intakeSites'
|
|
7
|
+
import type { Configuration, ProxyFn } from './configuration'
|
|
7
8
|
|
|
8
9
|
// replaced at build time
|
|
9
10
|
declare const __BUILD_ENV__SDK_VERSION__: string
|
|
10
11
|
|
|
11
|
-
export type TrackType = 'logs' | 'rum' | 'replay' | 'profile' | 'exposures'
|
|
12
|
+
export type TrackType = 'logs' | 'rum' | 'replay' | 'profile' | 'exposures' | 'flagevaluation' | 'debugger'
|
|
12
13
|
export type ApiType =
|
|
13
|
-
| 'fetch-keepalive'
|
|
14
14
|
| 'fetch'
|
|
15
15
|
| 'beacon'
|
|
16
16
|
// 'manual' reflects that the request have been sent manually, outside of the SDK (ex: via curl or
|
|
17
17
|
// a Node.js script).
|
|
18
18
|
| 'manual'
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Source values supported by the transport layer for the `o2source` URL parameter.
|
|
22
|
+
*
|
|
23
|
+
* `'dd_debugger'` is internal to the Live Debugger SDK and is not part of
|
|
24
|
+
* `InitConfiguration.source`. It is passed directly to `createEndpointBuilder`
|
|
25
|
+
* by the debugger transport.
|
|
26
|
+
*/
|
|
27
|
+
export type TransportSource = 'browser' | 'flutter' | 'unity' | 'dd_debugger'
|
|
28
|
+
|
|
29
|
+
interface EndpointBuilderConfiguration {
|
|
30
|
+
clientToken: string
|
|
31
|
+
proxy?: string | ProxyFn
|
|
32
|
+
site?: Site
|
|
33
|
+
source?: TransportSource
|
|
34
|
+
apiVersion?: string
|
|
35
|
+
organizationIdentifier?: string
|
|
36
|
+
insecureHTTP?: boolean
|
|
37
|
+
}
|
|
38
|
+
|
|
20
39
|
export type EndpointBuilder = ReturnType<typeof createEndpointBuilder>
|
|
21
40
|
|
|
22
41
|
export function createEndpointBuilder(
|
|
23
|
-
|
|
42
|
+
configuration: EndpointBuilderConfiguration,
|
|
24
43
|
trackType: TrackType,
|
|
25
44
|
extraParameters?: string[]
|
|
26
45
|
) {
|
|
27
|
-
const buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, trackType)
|
|
28
|
-
|
|
29
46
|
return {
|
|
30
47
|
build(api: ApiType, payload: Payload) {
|
|
31
|
-
|
|
32
|
-
|
|
48
|
+
return buildEndpointUrl({
|
|
49
|
+
proxy: configuration.proxy,
|
|
50
|
+
site: configuration.site,
|
|
51
|
+
insecureHTTP: configuration.insecureHTTP,
|
|
52
|
+
path: `/rum/${configuration.apiVersion ?? 'v1'}/${configuration.organizationIdentifier ?? 'default'}/${trackType}`,
|
|
53
|
+
parameters: buildEndpointParameters(configuration, trackType, api, payload, extraParameters),
|
|
54
|
+
})
|
|
33
55
|
},
|
|
34
56
|
trackType,
|
|
35
57
|
}
|
|
36
58
|
}
|
|
37
59
|
|
|
38
60
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
61
|
+
* Build the endpoint for the replica (dual shipping) site, if a replica is configured.
|
|
62
|
+
*
|
|
63
|
+
* The replica always targets the US1 site but keeps the `proxy` and `source` of the main
|
|
64
|
+
* configuration. The RUM track additionally carries the replica `application.id`.
|
|
42
65
|
*/
|
|
43
|
-
function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
): (parameters: string) => string {
|
|
47
|
-
// const path = `/api/v2/${trackType}`
|
|
48
|
-
const { proxy, apiVersion, organizationIdentifier, insecureHTTP } = initConfiguration
|
|
49
|
-
|
|
50
|
-
const path = `/rum/${apiVersion}/${organizationIdentifier}/${trackType}`
|
|
51
|
-
if (typeof proxy === 'string') {
|
|
52
|
-
const normalizedProxyUrl = normalizeUrl(proxy)
|
|
53
|
-
return (parameters) => `${normalizedProxyUrl}?o2forward=${encodeURIComponent(`${path}?${parameters}`)}`
|
|
66
|
+
export function createReplicaEndpointBuilder({ replica, proxy, source }: Configuration, trackType: TrackType) {
|
|
67
|
+
if (!replica) {
|
|
68
|
+
return
|
|
54
69
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
70
|
+
return createEndpointBuilder(
|
|
71
|
+
{
|
|
72
|
+
clientToken: replica.clientToken,
|
|
73
|
+
proxy,
|
|
74
|
+
source,
|
|
75
|
+
site: INTAKE_SITE_US1,
|
|
76
|
+
},
|
|
77
|
+
trackType,
|
|
78
|
+
trackType === 'rum' ? [`application.id=${replica.applicationId}`] : undefined
|
|
79
|
+
)
|
|
61
80
|
}
|
|
62
81
|
|
|
63
|
-
export
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
export interface BuildEndpointUrlOptions {
|
|
83
|
+
proxy?: string | ProxyFn
|
|
84
|
+
site: Site | undefined
|
|
85
|
+
subdomain?: string
|
|
86
|
+
path: string
|
|
87
|
+
parameters?: string
|
|
88
|
+
insecureHTTP?: boolean
|
|
89
|
+
}
|
|
70
90
|
|
|
71
|
-
|
|
72
|
-
|
|
91
|
+
export function buildEndpointUrl({
|
|
92
|
+
proxy,
|
|
93
|
+
site = INTAKE_SITE_US1,
|
|
94
|
+
path,
|
|
95
|
+
parameters = '',
|
|
96
|
+
subdomain,
|
|
97
|
+
insecureHTTP,
|
|
98
|
+
}: BuildEndpointUrlOptions): string {
|
|
99
|
+
let pathAndParameters = path
|
|
100
|
+
if (parameters) {
|
|
101
|
+
pathAndParameters += `?${parameters}`
|
|
73
102
|
}
|
|
74
103
|
|
|
75
|
-
if (
|
|
76
|
-
|
|
104
|
+
if (typeof proxy === 'string') {
|
|
105
|
+
let url = `${normalizeUrl(proxy)}?o2forward=${encodeURIComponent(pathAndParameters)}`
|
|
106
|
+
if (subdomain) {
|
|
107
|
+
url += `&o2forwardSubdomain=${subdomain}`
|
|
108
|
+
}
|
|
109
|
+
return url
|
|
77
110
|
}
|
|
78
111
|
|
|
79
|
-
if (
|
|
80
|
-
return
|
|
112
|
+
if (typeof proxy === 'function') {
|
|
113
|
+
return proxy({ path, parameters, subdomain })
|
|
81
114
|
}
|
|
82
115
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
116
|
+
// OpenObserve: the configured `site` is used verbatim as the intake host, without the
|
|
117
|
+
// Datadog `browser-intake-` domain construction or subdomain prefixes.
|
|
118
|
+
const protocol = insecureHTTP ? 'http' : 'https'
|
|
119
|
+
return `${protocol}://${site}${pathAndParameters}`
|
|
86
120
|
}
|
|
87
121
|
|
|
88
122
|
/**
|
|
@@ -90,7 +124,7 @@ export function buildEndpointHost(
|
|
|
90
124
|
* request, as they change randomly.
|
|
91
125
|
*/
|
|
92
126
|
function buildEndpointParameters(
|
|
93
|
-
{ clientToken,
|
|
127
|
+
{ clientToken, source = 'browser' }: EndpointBuilderConfiguration,
|
|
94
128
|
trackType: TrackType,
|
|
95
129
|
api: ApiType,
|
|
96
130
|
{ retry, encoding }: Payload,
|
|
@@ -116,9 +150,5 @@ function buildEndpointParameters(
|
|
|
116
150
|
}
|
|
117
151
|
}
|
|
118
152
|
|
|
119
|
-
if (internalAnalyticsSubdomain) {
|
|
120
|
-
parameters.reverse()
|
|
121
|
-
}
|
|
122
|
-
|
|
123
153
|
return parameters.join('&')
|
|
124
|
-
}
|
|
154
|
+
}
|
|
@@ -5,7 +5,7 @@ export {
|
|
|
5
5
|
isSampleRate,
|
|
6
6
|
validateAndBuildConfiguration,
|
|
7
7
|
serializeConfiguration,
|
|
8
|
+
buildCookieOptions,
|
|
8
9
|
} from './configuration'
|
|
9
10
|
export type { EndpointBuilder, TrackType } from './endpointBuilder'
|
|
10
|
-
export { createEndpointBuilder,
|
|
11
|
-
export { computeTransportConfiguration, isIntakeUrl } from './transportConfiguration'
|
|
11
|
+
export { createEndpointBuilder, createReplicaEndpointBuilder, buildEndpointUrl } from './endpointBuilder'
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
+
import type { EffectiveType, NetworkInterface } from '../../browser/browser.types'
|
|
1
2
|
import { globalObject } from '../../tools/globalObject'
|
|
2
3
|
|
|
3
|
-
export type NetworkInterface = 'bluetooth' | 'cellular' | 'ethernet' | 'none' | 'wifi' | 'wimax' | 'other' | 'unknown'
|
|
4
|
-
export type EffectiveType = 'slow-2g' | '2g' | '3g' | '4g'
|
|
5
|
-
|
|
6
|
-
interface BrowserNavigator extends Navigator {
|
|
7
|
-
connection?: NetworkInformation
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface NetworkInformation {
|
|
11
|
-
type?: NetworkInterface
|
|
12
|
-
effectiveType?: EffectiveType
|
|
13
|
-
saveData: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
4
|
export interface Connectivity {
|
|
17
5
|
status: 'connected' | 'not_connected'
|
|
18
6
|
interfaces?: NetworkInterface[]
|
|
@@ -21,11 +9,11 @@ export interface Connectivity {
|
|
|
21
9
|
}
|
|
22
10
|
|
|
23
11
|
export function getConnectivity(): Connectivity {
|
|
24
|
-
const navigator = globalObject.navigator
|
|
12
|
+
const navigator = globalObject.navigator
|
|
25
13
|
|
|
26
14
|
return {
|
|
27
15
|
status: navigator.onLine ? 'connected' : 'not_connected',
|
|
28
|
-
interfaces: navigator.connection
|
|
16
|
+
interfaces: navigator.connection?.type ? [navigator.connection.type] : undefined,
|
|
29
17
|
effective_type: navigator.connection?.effectiveType,
|
|
30
18
|
}
|
|
31
19
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { clocksNow } from '@openobserve/js-core/time'
|
|
2
|
+
import { ConsoleApiName, globalConsole } from '@openobserve/js-core/util'
|
|
1
3
|
import { isError, computeRawError } from '../error/error'
|
|
2
|
-
import {
|
|
3
|
-
import { ConsoleApiName, globalConsole } from '../../tools/display'
|
|
4
|
+
import { Observable, mergeObservables } from '../../tools/observable'
|
|
4
5
|
import { callMonitored } from '../../tools/monitor'
|
|
5
6
|
import { sanitize } from '../../tools/serialisation/sanitize'
|
|
6
7
|
import { jsonStringify } from '../../tools/serialisation/jsonStringify'
|
|
@@ -8,7 +9,6 @@ import type { RawError } from '../error/error.types'
|
|
|
8
9
|
import { ErrorHandling, ErrorSource, NonErrorPrefix } from '../error/error.types'
|
|
9
10
|
import { computeStackTrace } from '../../tools/stackTrace/computeStackTrace'
|
|
10
11
|
import { createHandlingStack, formatErrorMessage } from '../../tools/stackTrace/handlingStack'
|
|
11
|
-
import { clocksNow } from '../../tools/utils/timeUtils'
|
|
12
12
|
|
|
13
13
|
export type ConsoleLog = NonErrorConsoleLog | ErrorConsoleLog
|
|
14
14
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { deepClone } from '
|
|
1
|
+
import { deepClone } from '@openobserve/js-core/util'
|
|
2
2
|
import { sanitize } from '../../tools/serialisation/sanitize'
|
|
3
3
|
import type { Context } from '../../tools/serialisation/context'
|
|
4
4
|
import { Observable } from '../../tools/observable'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { getType } from '@openobserve/js-core/util'
|
|
1
2
|
import type { Context } from '../../tools/serialisation/context'
|
|
2
3
|
import { display } from '../../tools/display'
|
|
3
|
-
import { getType } from '../../tools/utils/typeUtils'
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Simple check to ensure an object is a valid context
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { RawTelemetryUsage, RawTelemetryUsageFeature } from '../telemetry'
|
|
2
2
|
import { addTelemetryUsage } from '../telemetry'
|
|
3
3
|
import { monitor } from '../../tools/monitor'
|
|
4
|
-
import type {
|
|
4
|
+
import type { BufferedObservable } from '../../tools/observable'
|
|
5
5
|
import type { ContextManager } from './contextManager'
|
|
6
6
|
import type { ContextManagerMethod, CustomerContextKey } from './contextConstants'
|
|
7
7
|
|
|
@@ -22,10 +22,10 @@ export function defineContextMethod<MethodName extends ContextManagerMethod, Key
|
|
|
22
22
|
export function bufferContextCalls<Key extends string, StartResult extends Record<Key, ContextManager>>(
|
|
23
23
|
preStartContextManager: ContextManager,
|
|
24
24
|
name: Key,
|
|
25
|
-
bufferApiCalls:
|
|
25
|
+
bufferApiCalls: BufferedObservable<(startResult: StartResult) => void>
|
|
26
26
|
) {
|
|
27
27
|
preStartContextManager.changeObservable.subscribe(() => {
|
|
28
28
|
const context = preStartContextManager.getContext()
|
|
29
|
-
bufferApiCalls.
|
|
29
|
+
bufferApiCalls.notify((startResult) => startResult[name].setContext(context))
|
|
30
30
|
})
|
|
31
31
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
+
import { combine } from '@openobserve/js-core/util'
|
|
1
2
|
import { addEventListener, DOM_EVENT } from '../../browser/addEventListener'
|
|
2
3
|
import type { Context } from '../../tools/serialisation/context'
|
|
3
|
-
import
|
|
4
|
-
import { combine } from '../../tools/mergeInto'
|
|
5
|
-
import { isEmptyObject } from '../../tools/utils/objectUtils'
|
|
4
|
+
import { isEmptyObject, tryJsonParse } from '../../tools/utils/objectUtils'
|
|
6
5
|
import type { ContextManager } from './contextManager'
|
|
7
6
|
import type { CustomerDataType } from './contextConstants'
|
|
8
7
|
|
|
@@ -11,15 +10,19 @@ const CONTEXT_STORE_KEY_PREFIX = '_oo_c'
|
|
|
11
10
|
const storageListeners: Array<{ stop: () => void }> = []
|
|
12
11
|
|
|
13
12
|
export function storeContextManager(
|
|
14
|
-
configuration: Configuration,
|
|
15
13
|
contextManager: ContextManager,
|
|
16
14
|
productKey: string,
|
|
17
15
|
customerDataType: CustomerDataType
|
|
18
16
|
) {
|
|
17
|
+
// window and localStorage are not available in Web Workers or Node.js environments
|
|
18
|
+
if (typeof window === 'undefined' || typeof localStorage === 'undefined') {
|
|
19
|
+
return
|
|
20
|
+
}
|
|
21
|
+
|
|
19
22
|
const storageKey = buildStorageKey(productKey, customerDataType)
|
|
20
23
|
|
|
21
24
|
storageListeners.push(
|
|
22
|
-
addEventListener(
|
|
25
|
+
addEventListener(window, DOM_EVENT.STORAGE, ({ key }) => {
|
|
23
26
|
if (storageKey === key) {
|
|
24
27
|
synchronizeWithStorage()
|
|
25
28
|
}
|
|
@@ -42,7 +45,7 @@ export function storeContextManager(
|
|
|
42
45
|
|
|
43
46
|
function getFromStorage() {
|
|
44
47
|
const rawContext = localStorage.getItem(storageKey)
|
|
45
|
-
return rawContext ? (
|
|
48
|
+
return rawContext ? (tryJsonParse<Context>(rawContext) ?? {}) : {}
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
|