@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
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { globalObject } from '../../../tools/globalObject'
|
|
2
|
+
import { Observable } from '../../../tools/observable'
|
|
3
|
+
import { shallowClone } from '../../../tools/utils/objectUtils'
|
|
4
|
+
import { SessionPersistence } from '../sessionConstants'
|
|
5
|
+
import type { SessionState } from '../sessionState'
|
|
6
|
+
import type { SessionStateOperation, SessionStoreStrategy, SessionStoreStrategyType } from './sessionStoreStrategy'
|
|
7
|
+
|
|
8
|
+
export const MEMORY_SESSION_STORE_KEY = '_DD_SESSION'
|
|
9
|
+
|
|
10
|
+
export interface MemorySession {
|
|
11
|
+
state?: SessionState
|
|
12
|
+
onChange?: (state: SessionState) => void
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface GlobalObjectWithSession {
|
|
16
|
+
[MEMORY_SESSION_STORE_KEY]?: MemorySession
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function selectMemorySessionStoreStrategy(): SessionStoreStrategyType {
|
|
20
|
+
return { type: SessionPersistence.MEMORY }
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function initMemorySessionStoreStrategy(): SessionStoreStrategy {
|
|
24
|
+
const globalObjectWithSession = globalObject as GlobalObjectWithSession
|
|
25
|
+
|
|
26
|
+
// Share the observable across SDK instances (RUM + Logs)
|
|
27
|
+
if (!globalObjectWithSession[MEMORY_SESSION_STORE_KEY]) {
|
|
28
|
+
globalObjectWithSession[MEMORY_SESSION_STORE_KEY] = {}
|
|
29
|
+
}
|
|
30
|
+
const memorySession = globalObjectWithSession[MEMORY_SESSION_STORE_KEY]
|
|
31
|
+
|
|
32
|
+
const sessionObservable = new Observable<SessionState>()
|
|
33
|
+
|
|
34
|
+
// Wire the local observable to the shared onChange callback so that
|
|
35
|
+
// multiple SDK instances (RUM + Logs) can observe each other's changes.
|
|
36
|
+
const previousOnChange = memorySession.onChange
|
|
37
|
+
memorySession.onChange = (state: SessionState) => {
|
|
38
|
+
previousOnChange?.(state)
|
|
39
|
+
sessionObservable.notify(state)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
async setSessionState(
|
|
44
|
+
fn: (sessionState: SessionState) => SessionState,
|
|
45
|
+
_operation: SessionStateOperation
|
|
46
|
+
): Promise<void> {
|
|
47
|
+
const currentState = memorySession.state ?? {}
|
|
48
|
+
const newState = shallowClone(fn(currentState))
|
|
49
|
+
memorySession.state = newState
|
|
50
|
+
await Promise.resolve()
|
|
51
|
+
memorySession.onChange?.(newState)
|
|
52
|
+
},
|
|
53
|
+
sessionObservable,
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
import type { CookieOptions } from '../../../browser/cookie'
|
|
2
2
|
import type { SessionPersistence } from '../sessionConstants'
|
|
3
3
|
import type { SessionState } from '../sessionState'
|
|
4
|
+
import type { Observable } from '../../../tools/observable'
|
|
4
5
|
|
|
5
|
-
export const SESSION_STORE_KEY = '
|
|
6
|
+
export const SESSION_STORE_KEY = '_oo_s_v2'
|
|
7
|
+
export const LEGACY_SESSION_STORE_KEY = '_oo_s'
|
|
8
|
+
|
|
9
|
+
export const enum CookieApi {
|
|
10
|
+
DOCUMENT_COOKIE,
|
|
11
|
+
COOKIE_STORE,
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface CookieSessionStoreStrategyType {
|
|
15
|
+
type: typeof SessionPersistence.COOKIE
|
|
16
|
+
cookieOptions: CookieOptions
|
|
17
|
+
cookieApi: CookieApi
|
|
18
|
+
}
|
|
6
19
|
|
|
7
20
|
export type SessionStoreStrategyType =
|
|
8
|
-
|
|
|
21
|
+
| CookieSessionStoreStrategyType
|
|
9
22
|
| { type: typeof SessionPersistence.LOCAL_STORAGE }
|
|
23
|
+
| { type: typeof SessionPersistence.MEMORY }
|
|
24
|
+
|
|
25
|
+
export type SessionStateOperation =
|
|
26
|
+
| 'initialize'
|
|
27
|
+
| 'expandOrRenewOnActivity'
|
|
28
|
+
| 'expandOrRenewOnConsent'
|
|
29
|
+
| 'expandOnVisibility'
|
|
30
|
+
| 'initializeOnResume'
|
|
31
|
+
| 'expireOnTimeout'
|
|
32
|
+
| 'expire'
|
|
33
|
+
| 'updateState'
|
|
10
34
|
|
|
11
35
|
export interface SessionStoreStrategy {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
retrieveSession: () => SessionState
|
|
15
|
-
expireSession: (previousSessionState: SessionState) => void
|
|
36
|
+
setSessionState(fn: (sessionState: SessionState) => SessionState, operation: SessionStateOperation): Promise<void>
|
|
37
|
+
sessionObservable: Observable<SessionState>
|
|
16
38
|
}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import { getInitCookie } from '../../browser/cookie'
|
|
2
2
|
import { globalObject, isWorkerEnvironment } from '../../tools/globalObject'
|
|
3
|
+
import { tryJsonParse } from '../../tools/utils/objectUtils'
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
5
|
+
const cookieNamePrefix = 'openobserve-synthetics-'
|
|
6
|
+
export const SYNTHETICS_TEST_ID_COOKIE_NAME = `${cookieNamePrefix}public-id`
|
|
7
|
+
export const SYNTHETICS_RESULT_ID_COOKIE_NAME = `${cookieNamePrefix}result-id`
|
|
8
|
+
export const SYNTHETICS_INJECTS_RUM_COOKIE_NAME = `${cookieNamePrefix}injects-rum`
|
|
9
|
+
export const SYNTHETICS_CONTEXT_COOKIE_NAME = `${cookieNamePrefix}rum-context`
|
|
7
10
|
|
|
8
|
-
export interface BrowserWindow
|
|
11
|
+
export interface BrowserWindow {
|
|
9
12
|
_OO_SYNTHETICS_PUBLIC_ID?: unknown
|
|
10
13
|
_OO_SYNTHETICS_RESULT_ID?: unknown
|
|
11
14
|
_OO_SYNTHETICS_INJECTS_RUM?: unknown
|
|
15
|
+
_OO_SYNTHETICS_RUM_CONTEXT?: unknown
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface SyntheticsContext {
|
|
19
|
+
test_id: string
|
|
20
|
+
result_id: string
|
|
21
|
+
[key: string]: unknown
|
|
12
22
|
}
|
|
13
23
|
|
|
14
24
|
export function willSyntheticsInjectRum(): boolean {
|
|
@@ -22,17 +32,38 @@ export function willSyntheticsInjectRum(): boolean {
|
|
|
22
32
|
)
|
|
23
33
|
}
|
|
24
34
|
|
|
25
|
-
export function
|
|
26
|
-
const
|
|
27
|
-
return
|
|
35
|
+
export function getSyntheticsContext(): SyntheticsContext | undefined {
|
|
36
|
+
const raw = getRawSyntheticsContext()
|
|
37
|
+
return isValidSyntheticsContext(raw) ? raw : undefined
|
|
28
38
|
}
|
|
29
39
|
|
|
30
|
-
export function
|
|
31
|
-
|
|
32
|
-
(window as BrowserWindow)._OO_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME)
|
|
33
|
-
return typeof value === 'string' ? value : undefined
|
|
40
|
+
export function isSyntheticsTest(): boolean {
|
|
41
|
+
return Boolean(getSyntheticsContext())
|
|
34
42
|
}
|
|
35
43
|
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
function getRawSyntheticsContext(): unknown {
|
|
45
|
+
const rawGlobal = (globalObject as BrowserWindow)._OO_SYNTHETICS_RUM_CONTEXT
|
|
46
|
+
if (rawGlobal) {
|
|
47
|
+
return rawGlobal
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const rawCookie = getInitCookie(SYNTHETICS_CONTEXT_COOKIE_NAME)
|
|
51
|
+
if (rawCookie) {
|
|
52
|
+
return tryJsonParse(decodeURIComponent(rawCookie))
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
test_id: (window as BrowserWindow)._OO_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME),
|
|
57
|
+
result_id:
|
|
58
|
+
(window as BrowserWindow)._OO_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME),
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function isValidSyntheticsContext(value: unknown): value is SyntheticsContext {
|
|
63
|
+
return (
|
|
64
|
+
typeof value === 'object' &&
|
|
65
|
+
value !== null &&
|
|
66
|
+
typeof (value as Record<string, unknown>).test_id === 'string' &&
|
|
67
|
+
typeof (value as Record<string, unknown>).result_id === 'string'
|
|
68
|
+
)
|
|
38
69
|
}
|
package/src/domain/tags.ts
CHANGED
|
@@ -52,25 +52,9 @@ export function sanitizeTag(tag: string) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
function hasForbiddenCharacters(rawValue: string) {
|
|
55
|
-
// Unicode property escapes is not supported in all browsers, so we use a try/catch.
|
|
56
|
-
// Todo: Remove the try/catch when dropping support for Chrome 63 and Firefox 67
|
|
57
|
-
// see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#browser_compatibility
|
|
58
|
-
if (!supportUnicodePropertyEscapes()) {
|
|
59
|
-
return false
|
|
60
|
-
}
|
|
61
|
-
|
|
62
55
|
// We use the Unicode property escapes to match any character that is a letter including other languages like Chinese, Japanese, etc.
|
|
63
56
|
// p{Ll} matches a lowercase letter.
|
|
64
57
|
// p{Lo} matches a letter that is neither uppercase nor lowercase (ex: Japanese characters).
|
|
65
58
|
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#unicode_property_escapes_vs._character_classes
|
|
66
59
|
return new RegExp('[^\\p{Ll}\\p{Lo}0-9_:./-]', 'u').test(rawValue)
|
|
67
60
|
}
|
|
68
|
-
|
|
69
|
-
export function supportUnicodePropertyEscapes() {
|
|
70
|
-
try {
|
|
71
|
-
new RegExp('[\\p{Ll}]', 'u')
|
|
72
|
-
return true
|
|
73
|
-
} catch {
|
|
74
|
-
return false
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
+
import { clocksNow } from '@openobserve/js-core/time'
|
|
2
|
+
import { getDebugMode, combine } from '@openobserve/js-core/util'
|
|
3
|
+
import type { Hook } from '@openobserve/js-core/assembly'
|
|
4
|
+
import type { RecursivePartial } from '@openobserve/js-core/util'
|
|
5
|
+
import { DISCARDED } from '@openobserve/js-core/assembly'
|
|
1
6
|
import type { Context } from '../../tools/serialisation/context'
|
|
2
|
-
import { ConsoleApiName } from '../../tools/display'
|
|
3
7
|
import { NO_ERROR_STACK_PRESENT_MESSAGE, isError } from '../error/error'
|
|
4
8
|
import { toStackTraceString } from '../../tools/stackTrace/handlingStack'
|
|
5
9
|
import { getExperimentalFeatures } from '../../tools/experimentalFeatures'
|
|
10
|
+
import { createEndpointBuilder, createReplicaEndpointBuilder } from '../configuration'
|
|
6
11
|
import type { Configuration } from '../configuration'
|
|
7
12
|
import { buildTags } from '../tags'
|
|
8
|
-
import { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../intakeSites'
|
|
13
|
+
import { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED, INTAKE_SITE_US2_FED } from '../intakeSites'
|
|
9
14
|
import { BufferedObservable, Observable } from '../../tools/observable'
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
15
|
+
import { startMonitorErrorCollection } from '../../tools/monitor'
|
|
16
|
+
import { display } from '../../tools/display'
|
|
12
17
|
import { sendToExtension } from '../../tools/sendToExtension'
|
|
13
18
|
import { performDraw } from '../../tools/utils/numberUtils'
|
|
14
19
|
import { jsonStringify } from '../../tools/serialisation/jsonStringify'
|
|
15
|
-
import { combine } from '../../tools/mergeInto'
|
|
16
|
-
import type { RawError } from '../error/error.types'
|
|
17
20
|
import { NonErrorPrefix } from '../error/error.types'
|
|
18
21
|
import type { StackTrace } from '../../tools/stackTrace/computeStackTrace'
|
|
19
22
|
import { computeStackTrace } from '../../tools/stackTrace/computeStackTrace'
|
|
@@ -25,12 +28,10 @@ import {
|
|
|
25
28
|
getEventBridge,
|
|
26
29
|
createBatch,
|
|
27
30
|
} from '../../transport'
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import { DeflateEncoderStreamId } from '../deflate'
|
|
31
|
-
import type { AbstractHooks, RecursivePartial } from '../../tools/abstractHooks'
|
|
32
|
-
import { HookNames, DISCARDED } from '../../tools/abstractHooks'
|
|
31
|
+
import { createIdentityEncoder } from '../../tools/encoder'
|
|
32
|
+
import { createPageMayExitObservable } from '../../browser/pageMayExitObservable'
|
|
33
33
|
import { globalObject, isWorkerEnvironment } from '../../tools/globalObject'
|
|
34
|
+
import { noop } from '../../tools/utils/functionUtils'
|
|
34
35
|
import type { TelemetryEvent } from './telemetryEvent.types'
|
|
35
36
|
import type {
|
|
36
37
|
RawTelemetryConfiguration,
|
|
@@ -45,6 +46,10 @@ declare const __BUILD_ENV__SDK_VERSION__: string
|
|
|
45
46
|
declare const __BUILD_ENV__SDK_SETUP__: string
|
|
46
47
|
|
|
47
48
|
const ALLOWED_FRAME_URLS = [
|
|
49
|
+
'https://www.datadoghq-browser-agent.com',
|
|
50
|
+
'https://www.datad0g-browser-agent.com',
|
|
51
|
+
'https://d3uc069fcn7uxw.cloudfront.net',
|
|
52
|
+
'https://d20xtzwzcl0ceb.cloudfront.net',
|
|
48
53
|
'http://localhost',
|
|
49
54
|
'<anonymous>',
|
|
50
55
|
]
|
|
@@ -66,11 +71,12 @@ export const enum TelemetryMetrics {
|
|
|
66
71
|
RECORDER_INIT_METRICS_TELEMETRY_NAME = 'Recorder init metrics',
|
|
67
72
|
SEGMENT_METRICS_TELEMETRY_NAME = 'Segment network request metrics',
|
|
68
73
|
INITIAL_VIEW_METRICS_TELEMETRY_NAME = 'Initial view metrics',
|
|
74
|
+
SESSION_MANAGER_INIT_METRICS_TELEMETRY_NAME = 'Session manager init metrics',
|
|
69
75
|
}
|
|
70
76
|
|
|
71
77
|
const METRIC_SAMPLE_RATE = 1
|
|
72
78
|
|
|
73
|
-
const TELEMETRY_EXCLUDED_SITES: string[] = [INTAKE_SITE_US1_FED]
|
|
79
|
+
const TELEMETRY_EXCLUDED_SITES: string[] = [INTAKE_SITE_US1_FED, INTAKE_SITE_US2_FED]
|
|
74
80
|
const MAX_TELEMETRY_EVENTS_PER_PAGE = 15
|
|
75
81
|
|
|
76
82
|
let telemetryObservable: BufferedObservable<{ rawEvent: RawTelemetryEvent; metricName?: string }> | undefined
|
|
@@ -85,17 +91,11 @@ export function getTelemetryObservable() {
|
|
|
85
91
|
export function startTelemetry(
|
|
86
92
|
telemetryService: TelemetryService,
|
|
87
93
|
configuration: Configuration,
|
|
88
|
-
|
|
89
|
-
reportError: (error: RawError) => void,
|
|
90
|
-
pageMayExitObservable: Observable<PageMayExitEvent>,
|
|
91
|
-
createEncoder: (streamId: DeflateEncoderStreamId) => Encoder
|
|
94
|
+
hook: Hook<any, any>
|
|
92
95
|
): Telemetry {
|
|
93
96
|
const observable = new Observable<TelemetryEvent & Context>()
|
|
94
|
-
|
|
95
|
-
const { stop } = startTelemetryTransport(configuration,
|
|
96
|
-
|
|
97
|
-
const { enabled, metricsEnabled } = startTelemetryCollection(telemetryService, configuration, hooks, observable)
|
|
98
|
-
|
|
97
|
+
const { enabled, metricsEnabled } = startTelemetryCollection(telemetryService, configuration, hook, observable)
|
|
98
|
+
const { stop } = startTelemetryTransport(configuration, observable)
|
|
99
99
|
return {
|
|
100
100
|
stop,
|
|
101
101
|
enabled,
|
|
@@ -106,7 +106,7 @@ export function startTelemetry(
|
|
|
106
106
|
export function startTelemetryCollection(
|
|
107
107
|
telemetryService: TelemetryService,
|
|
108
108
|
configuration: Configuration,
|
|
109
|
-
|
|
109
|
+
hook: Hook<any, any>,
|
|
110
110
|
observable: Observable<TelemetryEvent & Context>,
|
|
111
111
|
metricSampleRate = METRIC_SAMPLE_RATE,
|
|
112
112
|
maxTelemetryEventsPerPage = MAX_TELEMETRY_EVENTS_PER_PAGE
|
|
@@ -146,7 +146,7 @@ export function startTelemetryCollection(
|
|
|
146
146
|
return
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
-
const defaultTelemetryEventAttributes =
|
|
149
|
+
const defaultTelemetryEventAttributes = hook.trigger({
|
|
150
150
|
startTime: clocksNow().relative,
|
|
151
151
|
})
|
|
152
152
|
|
|
@@ -202,11 +202,8 @@ export function startTelemetryCollection(
|
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
function startTelemetryTransport(
|
|
205
|
+
export function startTelemetryTransport(
|
|
206
206
|
configuration: Configuration,
|
|
207
|
-
reportError: (error: RawError) => void,
|
|
208
|
-
pageMayExitObservable: Observable<PageMayExitEvent>,
|
|
209
|
-
createEncoder: (streamId: DeflateEncoderStreamId) => Encoder,
|
|
210
207
|
telemetryObservable: Observable<TelemetryEvent & Context>
|
|
211
208
|
) {
|
|
212
209
|
const cleanupTasks: Array<() => void> = []
|
|
@@ -215,15 +212,20 @@ function startTelemetryTransport(
|
|
|
215
212
|
const telemetrySubscription = telemetryObservable.subscribe((event) => bridge.send('internal_telemetry', event))
|
|
216
213
|
cleanupTasks.push(telemetrySubscription.unsubscribe)
|
|
217
214
|
} else {
|
|
218
|
-
const endpoints = [configuration
|
|
219
|
-
|
|
220
|
-
|
|
215
|
+
const endpoints = [createEndpointBuilder(configuration, 'rum')]
|
|
216
|
+
const replicaEndpoint = createReplicaEndpointBuilder(configuration, 'rum')
|
|
217
|
+
if (replicaEndpoint && isTelemetryReplicationAllowed(configuration)) {
|
|
218
|
+
endpoints.push(replicaEndpoint)
|
|
221
219
|
}
|
|
222
220
|
const telemetryBatch = createBatch({
|
|
223
|
-
encoder:
|
|
224
|
-
request: createHttpRequest(
|
|
221
|
+
encoder: createIdentityEncoder(),
|
|
222
|
+
request: createHttpRequest(
|
|
223
|
+
endpoints,
|
|
224
|
+
// Ignore transport errors for telemetry
|
|
225
|
+
noop
|
|
226
|
+
),
|
|
225
227
|
flushController: createFlushController({
|
|
226
|
-
pageMayExitObservable,
|
|
228
|
+
pageMayExitObservable: createPageMayExitObservable(),
|
|
227
229
|
|
|
228
230
|
// We don't use an actual session expire observable here, to make telemetry collection
|
|
229
231
|
// independent of the session. This allows to start and send telemetry events earlier.
|
|
@@ -260,7 +262,9 @@ function isTelemetryReplicationAllowed(configuration: Configuration) {
|
|
|
260
262
|
}
|
|
261
263
|
|
|
262
264
|
export function addTelemetryDebug(message: string, context?: Context) {
|
|
263
|
-
|
|
265
|
+
if (getDebugMode()) {
|
|
266
|
+
display.debug('[Telemetry]', message, context)
|
|
267
|
+
}
|
|
264
268
|
getTelemetryObservable().notify({
|
|
265
269
|
rawEvent: {
|
|
266
270
|
type: TelemetryType.LOG,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
1
|
/**
|
|
3
2
|
* DO NOT MODIFY IT BY HAND. Run `yarn json-schemas:sync` instead.
|
|
4
3
|
*/
|
|
@@ -188,7 +187,7 @@ export type TelemetryConfigurationEvent = CommonTelemetryProperties & {
|
|
|
188
187
|
/**
|
|
189
188
|
* Configure the storage strategy for persisting sessions
|
|
190
189
|
*/
|
|
191
|
-
session_persistence?: 'local-storage' | 'cookie'
|
|
190
|
+
session_persistence?: 'local-storage' | 'cookie' | 'memory'
|
|
192
191
|
/**
|
|
193
192
|
* Whether contexts are stored in local storage
|
|
194
193
|
*/
|
|
@@ -224,7 +223,7 @@ export type TelemetryConfigurationEvent = CommonTelemetryProperties & {
|
|
|
224
223
|
/**
|
|
225
224
|
* A list of selected tracing propagators
|
|
226
225
|
*/
|
|
227
|
-
selected_tracing_propagators?: ('
|
|
226
|
+
selected_tracing_propagators?: ('datadog' | 'openobserve' | 'b3' | 'b3multi' | 'tracecontext')[]
|
|
228
227
|
/**
|
|
229
228
|
* Session replay default privacy level
|
|
230
229
|
*/
|
|
@@ -297,10 +296,10 @@ export type TelemetryConfigurationEvent = CommonTelemetryProperties & {
|
|
|
297
296
|
* View tracking strategy
|
|
298
297
|
*/
|
|
299
298
|
view_tracking_strategy?:
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
299
|
+
| 'ActivityViewTrackingStrategy'
|
|
300
|
+
| 'FragmentViewTrackingStrategy'
|
|
301
|
+
| 'MixedViewTrackingStrategy'
|
|
302
|
+
| 'NavigationViewTrackingStrategy'
|
|
304
303
|
/**
|
|
305
304
|
* Whether SwiftUI view instrumentation is enabled
|
|
306
305
|
*/
|
|
@@ -389,6 +388,10 @@ export type TelemetryConfigurationEvent = CommonTelemetryProperties & {
|
|
|
389
388
|
* The version of Unity used in a Unity application
|
|
390
389
|
*/
|
|
391
390
|
unity_version?: string
|
|
391
|
+
/**
|
|
392
|
+
* The version of MAUI used in a .NET MAUI application
|
|
393
|
+
*/
|
|
394
|
+
maui_version?: string
|
|
392
395
|
/**
|
|
393
396
|
* The threshold used for iOS App Hangs monitoring (in milliseconds)
|
|
394
397
|
*/
|
|
@@ -448,7 +451,7 @@ export type TelemetryConfigurationEvent = CommonTelemetryProperties & {
|
|
|
448
451
|
*/
|
|
449
452
|
sdk_version?: string
|
|
450
453
|
/**
|
|
451
|
-
* The source of the SDK, e.g., 'browser', 'ios', 'android', 'flutter', 'react-native', 'unity', 'kotlin-multiplatform'.
|
|
454
|
+
* The source of the SDK, e.g., 'browser', 'ios', 'android', 'flutter', 'react-native', 'unity', 'kotlin-multiplatform', 'maui'.
|
|
452
455
|
*/
|
|
453
456
|
source?: string
|
|
454
457
|
/**
|
|
@@ -471,6 +474,10 @@ export type TelemetryConfigurationEvent = CommonTelemetryProperties & {
|
|
|
471
474
|
* Whether trace baggage is propagated to child spans
|
|
472
475
|
*/
|
|
473
476
|
propagate_trace_baggage?: boolean
|
|
477
|
+
/**
|
|
478
|
+
* How the SDK tracks resource request/response headers
|
|
479
|
+
*/
|
|
480
|
+
track_resource_headers?: 'default_headers' | 'custom'
|
|
474
481
|
/**
|
|
475
482
|
* Whether the beta encode cookie options is enabled
|
|
476
483
|
*/
|
|
@@ -528,6 +535,8 @@ export type TelemetryCommonFeaturesUsage =
|
|
|
528
535
|
| ClearAccount
|
|
529
536
|
| AddFeatureFlagEvaluation
|
|
530
537
|
| AddOperationStepVital
|
|
538
|
+
| GraphQLRequest
|
|
539
|
+
| AddViewLoadingTime
|
|
531
540
|
/**
|
|
532
541
|
* Schema of browser specific features usage
|
|
533
542
|
*/
|
|
@@ -536,10 +545,15 @@ export type TelemetryBrowserFeaturesUsage =
|
|
|
536
545
|
| StartDurationVital
|
|
537
546
|
| StopDurationVital
|
|
538
547
|
| AddDurationVital
|
|
548
|
+
| StartAction
|
|
549
|
+
| StopAction
|
|
550
|
+
| StartResource
|
|
551
|
+
| StopResource
|
|
552
|
+
| SourceCodeContext
|
|
539
553
|
/**
|
|
540
554
|
* Schema of mobile specific features usage
|
|
541
555
|
*/
|
|
542
|
-
export type TelemetryMobileFeaturesUsage =
|
|
556
|
+
export type TelemetryMobileFeaturesUsage = TrackWebView | AndroidNetworkInstrumentation
|
|
543
557
|
|
|
544
558
|
/**
|
|
545
559
|
* Schema of common properties of Telemetry events
|
|
@@ -570,7 +584,17 @@ export interface CommonTelemetryProperties {
|
|
|
570
584
|
/**
|
|
571
585
|
* The source of this event
|
|
572
586
|
*/
|
|
573
|
-
readonly source:
|
|
587
|
+
readonly source:
|
|
588
|
+
| 'android'
|
|
589
|
+
| 'ios'
|
|
590
|
+
| 'browser'
|
|
591
|
+
| 'flutter'
|
|
592
|
+
| 'react-native'
|
|
593
|
+
| 'unity'
|
|
594
|
+
| 'kotlin-multiplatform'
|
|
595
|
+
| 'electron'
|
|
596
|
+
| 'rum-cpp'
|
|
597
|
+
| 'maui'
|
|
574
598
|
/**
|
|
575
599
|
* The version of the SDK generating the telemetry event
|
|
576
600
|
*/
|
|
@@ -612,7 +636,7 @@ export interface CommonTelemetryProperties {
|
|
|
612
636
|
/**
|
|
613
637
|
* UUID of the action
|
|
614
638
|
*/
|
|
615
|
-
id: string
|
|
639
|
+
readonly id: string | string[]
|
|
616
640
|
[k: string]: unknown
|
|
617
641
|
}
|
|
618
642
|
/**
|
|
@@ -640,6 +664,18 @@ export interface CommonTelemetryProperties {
|
|
|
640
664
|
* Model of the device
|
|
641
665
|
*/
|
|
642
666
|
model?: string
|
|
667
|
+
/**
|
|
668
|
+
* Number of logical CPU cores available for scheduling on the device at runtime, as reported by the operating system.
|
|
669
|
+
*/
|
|
670
|
+
readonly logical_cpu_count?: number
|
|
671
|
+
/**
|
|
672
|
+
* Total RAM in megabytes
|
|
673
|
+
*/
|
|
674
|
+
readonly total_ram?: number
|
|
675
|
+
/**
|
|
676
|
+
* Whether the device is considered a low RAM device (Android)
|
|
677
|
+
*/
|
|
678
|
+
readonly is_low_ram?: boolean
|
|
643
679
|
[k: string]: unknown
|
|
644
680
|
}
|
|
645
681
|
/**
|
|
@@ -854,6 +890,32 @@ export interface AddOperationStepVital {
|
|
|
854
890
|
action_type: 'start' | 'succeed' | 'fail'
|
|
855
891
|
[k: string]: unknown
|
|
856
892
|
}
|
|
893
|
+
export interface GraphQLRequest {
|
|
894
|
+
/**
|
|
895
|
+
* GraphQL request detected
|
|
896
|
+
*/
|
|
897
|
+
feature: 'graphql-request'
|
|
898
|
+
[k: string]: unknown
|
|
899
|
+
}
|
|
900
|
+
export interface AddViewLoadingTime {
|
|
901
|
+
/**
|
|
902
|
+
* addViewLoadingTime API
|
|
903
|
+
*/
|
|
904
|
+
feature: 'addViewLoadingTime'
|
|
905
|
+
/**
|
|
906
|
+
* Whether the view is not available
|
|
907
|
+
*/
|
|
908
|
+
no_view?: boolean
|
|
909
|
+
/**
|
|
910
|
+
* Whether the available view is not active
|
|
911
|
+
*/
|
|
912
|
+
no_active_view?: boolean
|
|
913
|
+
/**
|
|
914
|
+
* Whether this call overwrote a previously set loading time
|
|
915
|
+
*/
|
|
916
|
+
overwritten?: boolean
|
|
917
|
+
[k: string]: unknown
|
|
918
|
+
}
|
|
857
919
|
export interface StartSessionReplayRecording {
|
|
858
920
|
/**
|
|
859
921
|
* startSessionReplayRecording API
|
|
@@ -886,22 +948,56 @@ export interface AddDurationVital {
|
|
|
886
948
|
feature: 'add-duration-vital'
|
|
887
949
|
[k: string]: unknown
|
|
888
950
|
}
|
|
889
|
-
export interface
|
|
951
|
+
export interface StartAction {
|
|
890
952
|
/**
|
|
891
|
-
*
|
|
953
|
+
* startAction API
|
|
892
954
|
*/
|
|
893
|
-
feature: '
|
|
955
|
+
feature: 'start-action'
|
|
956
|
+
[k: string]: unknown
|
|
957
|
+
}
|
|
958
|
+
export interface StopAction {
|
|
894
959
|
/**
|
|
895
|
-
*
|
|
960
|
+
* stopAction API
|
|
896
961
|
*/
|
|
897
|
-
|
|
962
|
+
feature: 'stop-action'
|
|
963
|
+
[k: string]: unknown
|
|
964
|
+
}
|
|
965
|
+
export interface StartResource {
|
|
898
966
|
/**
|
|
899
|
-
*
|
|
967
|
+
* startResource API
|
|
968
|
+
*/
|
|
969
|
+
feature: 'start-resource'
|
|
970
|
+
[k: string]: unknown
|
|
971
|
+
}
|
|
972
|
+
export interface StopResource {
|
|
973
|
+
/**
|
|
974
|
+
* stopResource API
|
|
975
|
+
*/
|
|
976
|
+
feature: 'stop-resource'
|
|
977
|
+
[k: string]: unknown
|
|
978
|
+
}
|
|
979
|
+
export interface SourceCodeContext {
|
|
980
|
+
/**
|
|
981
|
+
* DD_SOURCE_CODE_CONTEXT global for microfrontends
|
|
982
|
+
*/
|
|
983
|
+
feature: 'source-code-context'
|
|
984
|
+
[k: string]: unknown
|
|
985
|
+
}
|
|
986
|
+
export interface TrackWebView {
|
|
987
|
+
/**
|
|
988
|
+
* trackWebView API
|
|
989
|
+
*/
|
|
990
|
+
feature: 'trackWebView'
|
|
991
|
+
[k: string]: unknown
|
|
992
|
+
}
|
|
993
|
+
export interface AndroidNetworkInstrumentation {
|
|
994
|
+
/**
|
|
995
|
+
* Android network instrumentation
|
|
900
996
|
*/
|
|
901
|
-
|
|
997
|
+
feature: 'androidNetworkInstrumentation'
|
|
902
998
|
/**
|
|
903
|
-
*
|
|
999
|
+
* The network instrumentation API used
|
|
904
1000
|
*/
|
|
905
|
-
|
|
1001
|
+
type: 'CRONET' | 'OKHTTP' | 'LEGACY_OKHTTP'
|
|
906
1002
|
[k: string]: unknown
|
|
907
1003
|
}
|
|
@@ -11,24 +11,39 @@ export interface TrackingConsentState {
|
|
|
11
11
|
update: (trackingConsent: TrackingConsent) => void
|
|
12
12
|
isGranted: () => boolean
|
|
13
13
|
observable: Observable<void>
|
|
14
|
+
onGrantedOnce: (callback: () => void) => void
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
export function createTrackingConsentState(currentConsent?: TrackingConsent): TrackingConsentState {
|
|
17
18
|
const observable = new Observable<void>()
|
|
18
19
|
|
|
20
|
+
function isGranted() {
|
|
21
|
+
return currentConsent === TrackingConsent.GRANTED
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
return {
|
|
20
25
|
tryToInit(trackingConsent: TrackingConsent) {
|
|
21
26
|
if (!currentConsent) {
|
|
22
27
|
currentConsent = trackingConsent
|
|
23
28
|
}
|
|
24
29
|
},
|
|
30
|
+
onGrantedOnce(fn) {
|
|
31
|
+
if (isGranted()) {
|
|
32
|
+
fn()
|
|
33
|
+
} else {
|
|
34
|
+
const subscription = observable.subscribe(() => {
|
|
35
|
+
if (isGranted()) {
|
|
36
|
+
fn()
|
|
37
|
+
subscription.unsubscribe()
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
},
|
|
25
42
|
update(trackingConsent: TrackingConsent) {
|
|
26
43
|
currentConsent = trackingConsent
|
|
27
44
|
observable.notify()
|
|
28
45
|
},
|
|
29
|
-
isGranted
|
|
30
|
-
return currentConsent === TrackingConsent.GRANTED
|
|
31
|
-
},
|
|
46
|
+
isGranted,
|
|
32
47
|
observable,
|
|
33
48
|
}
|
|
34
49
|
}
|