@cloudcare/browser-rum-slim 3.3.3
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/LICENSE +21 -0
- package/README.md +15 -0
- package/bundle/dataflux-rum-slim.js +1 -0
- package/cjs/boot/buildEnv.js +11 -0
- package/cjs/boot/buildEnv.js.map +1 -0
- package/cjs/boot/perStartRum.js +227 -0
- package/cjs/boot/perStartRum.js.map +1 -0
- package/cjs/boot/rum.js +180 -0
- package/cjs/boot/rum.js.map +1 -0
- package/cjs/boot/rum.slim.entry.js +13 -0
- package/cjs/boot/rum.slim.entry.js.map +1 -0
- package/cjs/boot/rumEntryFactory.js +15 -0
- package/cjs/boot/rumEntryFactory.js.map +1 -0
- package/cjs/boot/rumPublicApi.js +285 -0
- package/cjs/boot/rumPublicApi.js.map +1 -0
- package/cjs/boot/rumRecorderApiStub.js +19 -0
- package/cjs/boot/rumRecorderApiStub.js.map +1 -0
- package/cjs/boot/rumSlimConfiguration.js +16 -0
- package/cjs/boot/rumSlimConfiguration.js.map +1 -0
- package/cjs/constants.js +41 -0
- package/cjs/constants.js.map +1 -0
- package/cjs/domain/assembly.js +172 -0
- package/cjs/domain/assembly.js.map +1 -0
- package/cjs/domain/configuration.js +272 -0
- package/cjs/domain/configuration.js.map +1 -0
- package/cjs/domain/contexts/commonContext.js +14 -0
- package/cjs/domain/contexts/commonContext.js.map +1 -0
- package/cjs/domain/contexts/displayContext.js +22 -0
- package/cjs/domain/contexts/displayContext.js.map +1 -0
- package/cjs/domain/contexts/foregroundContexts.js +111 -0
- package/cjs/domain/contexts/foregroundContexts.js.map +1 -0
- package/cjs/domain/contexts/internalContext.js +47 -0
- package/cjs/domain/contexts/internalContext.js.map +1 -0
- package/cjs/domain/contexts/pageStateHistory.js +111 -0
- package/cjs/domain/contexts/pageStateHistory.js.map +1 -0
- package/cjs/domain/contexts/urlContexts.js +73 -0
- package/cjs/domain/contexts/urlContexts.js.map +1 -0
- package/cjs/domain/contexts/viewContexts.js +51 -0
- package/cjs/domain/contexts/viewContexts.js.map +1 -0
- package/cjs/domain/domMutationObservable.js +69 -0
- package/cjs/domain/domMutationObservable.js.map +1 -0
- package/cjs/domain/encoderStreamId.js +11 -0
- package/cjs/domain/encoderStreamId.js.map +1 -0
- package/cjs/domain/firstInputPolyfill.js +83 -0
- package/cjs/domain/firstInputPolyfill.js.map +1 -0
- package/cjs/domain/initViewportObservable.js +44 -0
- package/cjs/domain/initViewportObservable.js.map +1 -0
- package/cjs/domain/locationChangeObservable.js +57 -0
- package/cjs/domain/locationChangeObservable.js.map +1 -0
- package/cjs/domain/performanceObservable.js +124 -0
- package/cjs/domain/performanceObservable.js.map +1 -0
- package/cjs/domain/performanceUtils.js +47 -0
- package/cjs/domain/performanceUtils.js.map +1 -0
- package/cjs/domain/requestCollection.js +127 -0
- package/cjs/domain/requestCollection.js.map +1 -0
- package/cjs/domain/rumEventsCollection/actions/actionCollection.js +89 -0
- package/cjs/domain/rumEventsCollection/actions/actionCollection.js.map +1 -0
- package/cjs/domain/rumEventsCollection/actions/clickChain.js +69 -0
- package/cjs/domain/rumEventsCollection/actions/clickChain.js.map +1 -0
- package/cjs/domain/rumEventsCollection/actions/computeFrustration.js +75 -0
- package/cjs/domain/rumEventsCollection/actions/computeFrustration.js.map +1 -0
- package/cjs/domain/rumEventsCollection/actions/getActionNameFromElement.js +232 -0
- package/cjs/domain/rumEventsCollection/actions/getActionNameFromElement.js.map +1 -0
- package/cjs/domain/rumEventsCollection/actions/getSelectorsFromElement.js +220 -0
- package/cjs/domain/rumEventsCollection/actions/getSelectorsFromElement.js.map +1 -0
- package/cjs/domain/rumEventsCollection/actions/interactionSelectorCache.js +28 -0
- package/cjs/domain/rumEventsCollection/actions/interactionSelectorCache.js.map +1 -0
- package/cjs/domain/rumEventsCollection/actions/listenActionEvents.js +73 -0
- package/cjs/domain/rumEventsCollection/actions/listenActionEvents.js.map +1 -0
- package/cjs/domain/rumEventsCollection/actions/trackClickActions.js +253 -0
- package/cjs/domain/rumEventsCollection/actions/trackClickActions.js.map +1 -0
- package/cjs/domain/rumEventsCollection/error/errorCollection.js +90 -0
- package/cjs/domain/rumEventsCollection/error/errorCollection.js.map +1 -0
- package/cjs/domain/rumEventsCollection/error/trackConsoleError.js +18 -0
- package/cjs/domain/rumEventsCollection/error/trackConsoleError.js.map +1 -0
- package/cjs/domain/rumEventsCollection/error/trackReportError.js +25 -0
- package/cjs/domain/rumEventsCollection/error/trackReportError.js.map +1 -0
- package/cjs/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js +61 -0
- package/cjs/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js.map +1 -0
- package/cjs/domain/rumEventsCollection/longTask/longTaskCollection.js +44 -0
- package/cjs/domain/rumEventsCollection/longTask/longTaskCollection.js.map +1 -0
- package/cjs/domain/rumEventsCollection/resource/matchRequestResourceEntry.js +74 -0
- package/cjs/domain/rumEventsCollection/resource/matchRequestResourceEntry.js.map +1 -0
- package/cjs/domain/rumEventsCollection/resource/resourceCollection.js +239 -0
- package/cjs/domain/rumEventsCollection/resource/resourceCollection.js.map +1 -0
- package/cjs/domain/rumEventsCollection/resource/resourceTrackerManager.js +237 -0
- package/cjs/domain/rumEventsCollection/resource/resourceTrackerManager.js.map +1 -0
- package/cjs/domain/rumEventsCollection/resource/resourceUtils.js +240 -0
- package/cjs/domain/rumEventsCollection/resource/resourceUtils.js.map +1 -0
- package/cjs/domain/rumEventsCollection/resource/retrieveInitialDocumentResourceTiming.js +25 -0
- package/cjs/domain/rumEventsCollection/resource/retrieveInitialDocumentResourceTiming.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/interactionCountPolyfill.js +54 -0
- package/cjs/domain/rumEventsCollection/view/interactionCountPolyfill.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackCommonViewMetrics.js +48 -0
- package/cjs/domain/rumEventsCollection/view/trackCommonViewMetrics.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackCumulativeLayoutShift.js +125 -0
- package/cjs/domain/rumEventsCollection/view/trackCumulativeLayoutShift.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackFirstContentfulPaint.js +27 -0
- package/cjs/domain/rumEventsCollection/view/trackFirstContentfulPaint.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackFirstHidden.js +55 -0
- package/cjs/domain/rumEventsCollection/view/trackFirstHidden.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackFirstInput.js +47 -0
- package/cjs/domain/rumEventsCollection/view/trackFirstInput.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackInitialViewTimings.js +51 -0
- package/cjs/domain/rumEventsCollection/view/trackInitialViewTimings.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackInteractionToNextPaint.js +162 -0
- package/cjs/domain/rumEventsCollection/view/trackInteractionToNextPaint.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackLargestContentfulPaint.js +61 -0
- package/cjs/domain/rumEventsCollection/view/trackLargestContentfulPaint.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackLoadingTime.js +51 -0
- package/cjs/domain/rumEventsCollection/view/trackLoadingTime.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackNavigationTimings.js +57 -0
- package/cjs/domain/rumEventsCollection/view/trackNavigationTimings.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackScrollMetrics.js +92 -0
- package/cjs/domain/rumEventsCollection/view/trackScrollMetrics.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackViewEventCounts.js +21 -0
- package/cjs/domain/rumEventsCollection/view/trackViewEventCounts.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/trackViews.js +269 -0
- package/cjs/domain/rumEventsCollection/view/trackViews.js.map +1 -0
- package/cjs/domain/rumEventsCollection/view/viewCollection.js +131 -0
- package/cjs/domain/rumEventsCollection/view/viewCollection.js.map +1 -0
- package/cjs/domain/rumSessionManager.js +187 -0
- package/cjs/domain/rumSessionManager.js.map +1 -0
- package/cjs/domain/tracing/ddtraceTracer.js +46 -0
- package/cjs/domain/tracing/ddtraceTracer.js.map +1 -0
- package/cjs/domain/tracing/getDocumentTraceId.js +80 -0
- package/cjs/domain/tracing/getDocumentTraceId.js.map +1 -0
- package/cjs/domain/tracing/jaegerTracer.js +48 -0
- package/cjs/domain/tracing/jaegerTracer.js.map +1 -0
- package/cjs/domain/tracing/sampler.js +69 -0
- package/cjs/domain/tracing/sampler.js.map +1 -0
- package/cjs/domain/tracing/skywalkingTracer.js +96 -0
- package/cjs/domain/tracing/skywalkingTracer.js.map +1 -0
- package/cjs/domain/tracing/traceIdentifier.js +66 -0
- package/cjs/domain/tracing/traceIdentifier.js.map +1 -0
- package/cjs/domain/tracing/tracer.js +133 -0
- package/cjs/domain/tracing/tracer.js.map +1 -0
- package/cjs/domain/tracing/w3cTraceParentTracer.js +74 -0
- package/cjs/domain/tracing/w3cTraceParentTracer.js.map +1 -0
- package/cjs/domain/tracing/zipkinMultiTracer.js +48 -0
- package/cjs/domain/tracing/zipkinMultiTracer.js.map +1 -0
- package/cjs/domain/tracing/zipkinSingleTracer.js +47 -0
- package/cjs/domain/tracing/zipkinSingleTracer.js.map +1 -0
- package/cjs/domain/trackEventCounts.js +55 -0
- package/cjs/domain/trackEventCounts.js.map +1 -0
- package/cjs/domain/usr/index.js +44 -0
- package/cjs/domain/usr/index.js.map +1 -0
- package/cjs/domain/waitPageActivityEnd.js +151 -0
- package/cjs/domain/waitPageActivityEnd.js.map +1 -0
- package/cjs/index.js +13 -0
- package/cjs/index.js.map +1 -0
- package/cjs/transport/startRumBatch.js +26 -0
- package/cjs/transport/startRumBatch.js.map +1 -0
- package/cjs/transport/startRumEventBridge.js +15 -0
- package/cjs/transport/startRumEventBridge.js.map +1 -0
- package/esm/boot/buildEnv.js +5 -0
- package/esm/boot/buildEnv.js.map +1 -0
- package/esm/boot/perStartRum.js +221 -0
- package/esm/boot/perStartRum.js.map +1 -0
- package/esm/boot/rum.js +173 -0
- package/esm/boot/rum.js.map +1 -0
- package/esm/boot/rum.slim.entry.js +7 -0
- package/esm/boot/rum.slim.entry.js.map +1 -0
- package/esm/boot/rumEntryFactory.js +9 -0
- package/esm/boot/rumEntryFactory.js.map +1 -0
- package/esm/boot/rumPublicApi.js +279 -0
- package/esm/boot/rumPublicApi.js.map +1 -0
- package/esm/boot/rumRecorderApiStub.js +13 -0
- package/esm/boot/rumRecorderApiStub.js.map +1 -0
- package/esm/boot/rumSlimConfiguration.js +10 -0
- package/esm/boot/rumSlimConfiguration.js.map +1 -0
- package/esm/constants.js +35 -0
- package/esm/constants.js.map +1 -0
- package/esm/domain/assembly.js +166 -0
- package/esm/domain/assembly.js.map +1 -0
- package/esm/domain/configuration.js +266 -0
- package/esm/domain/configuration.js.map +1 -0
- package/esm/domain/contexts/commonContext.js +8 -0
- package/esm/domain/contexts/commonContext.js.map +1 -0
- package/esm/domain/contexts/displayContext.js +16 -0
- package/esm/domain/contexts/displayContext.js.map +1 -0
- package/esm/domain/contexts/foregroundContexts.js +103 -0
- package/esm/domain/contexts/foregroundContexts.js.map +1 -0
- package/esm/domain/contexts/internalContext.js +41 -0
- package/esm/domain/contexts/internalContext.js.map +1 -0
- package/esm/domain/contexts/pageStateHistory.js +104 -0
- package/esm/domain/contexts/pageStateHistory.js.map +1 -0
- package/esm/domain/contexts/urlContexts.js +67 -0
- package/esm/domain/contexts/urlContexts.js.map +1 -0
- package/esm/domain/contexts/viewContexts.js +44 -0
- package/esm/domain/contexts/viewContexts.js.map +1 -0
- package/esm/domain/domMutationObservable.js +62 -0
- package/esm/domain/domMutationObservable.js.map +1 -0
- package/esm/domain/encoderStreamId.js +5 -0
- package/esm/domain/encoderStreamId.js.map +1 -0
- package/esm/domain/firstInputPolyfill.js +77 -0
- package/esm/domain/firstInputPolyfill.js.map +1 -0
- package/esm/domain/initViewportObservable.js +36 -0
- package/esm/domain/initViewportObservable.js.map +1 -0
- package/esm/domain/locationChangeObservable.js +51 -0
- package/esm/domain/locationChangeObservable.js.map +1 -0
- package/esm/domain/performanceObservable.js +116 -0
- package/esm/domain/performanceObservable.js.map +1 -0
- package/esm/domain/performanceUtils.js +40 -0
- package/esm/domain/performanceUtils.js.map +1 -0
- package/esm/domain/requestCollection.js +119 -0
- package/esm/domain/requestCollection.js.map +1 -0
- package/esm/domain/rumEventsCollection/actions/actionCollection.js +83 -0
- package/esm/domain/rumEventsCollection/actions/actionCollection.js.map +1 -0
- package/esm/domain/rumEventsCollection/actions/clickChain.js +62 -0
- package/esm/domain/rumEventsCollection/actions/clickChain.js.map +1 -0
- package/esm/domain/rumEventsCollection/actions/computeFrustration.js +67 -0
- package/esm/domain/rumEventsCollection/actions/computeFrustration.js.map +1 -0
- package/esm/domain/rumEventsCollection/actions/getActionNameFromElement.js +225 -0
- package/esm/domain/rumEventsCollection/actions/getActionNameFromElement.js.map +1 -0
- package/esm/domain/rumEventsCollection/actions/getSelectorsFromElement.js +212 -0
- package/esm/domain/rumEventsCollection/actions/getSelectorsFromElement.js.map +1 -0
- package/esm/domain/rumEventsCollection/actions/interactionSelectorCache.js +20 -0
- package/esm/domain/rumEventsCollection/actions/interactionSelectorCache.js.map +1 -0
- package/esm/domain/rumEventsCollection/actions/listenActionEvents.js +67 -0
- package/esm/domain/rumEventsCollection/actions/listenActionEvents.js.map +1 -0
- package/esm/domain/rumEventsCollection/actions/trackClickActions.js +244 -0
- package/esm/domain/rumEventsCollection/actions/trackClickActions.js.map +1 -0
- package/esm/domain/rumEventsCollection/error/errorCollection.js +83 -0
- package/esm/domain/rumEventsCollection/error/errorCollection.js.map +1 -0
- package/esm/domain/rumEventsCollection/error/trackConsoleError.js +12 -0
- package/esm/domain/rumEventsCollection/error/trackConsoleError.js.map +1 -0
- package/esm/domain/rumEventsCollection/error/trackReportError.js +19 -0
- package/esm/domain/rumEventsCollection/error/trackReportError.js.map +1 -0
- package/esm/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js +55 -0
- package/esm/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js.map +1 -0
- package/esm/domain/rumEventsCollection/longTask/longTaskCollection.js +38 -0
- package/esm/domain/rumEventsCollection/longTask/longTaskCollection.js.map +1 -0
- package/esm/domain/rumEventsCollection/resource/matchRequestResourceEntry.js +69 -0
- package/esm/domain/rumEventsCollection/resource/matchRequestResourceEntry.js.map +1 -0
- package/esm/domain/rumEventsCollection/resource/resourceCollection.js +233 -0
- package/esm/domain/rumEventsCollection/resource/resourceCollection.js.map +1 -0
- package/esm/domain/rumEventsCollection/resource/resourceTrackerManager.js +231 -0
- package/esm/domain/rumEventsCollection/resource/resourceTrackerManager.js.map +1 -0
- package/esm/domain/rumEventsCollection/resource/resourceUtils.js +218 -0
- package/esm/domain/rumEventsCollection/resource/resourceUtils.js.map +1 -0
- package/esm/domain/rumEventsCollection/resource/retrieveInitialDocumentResourceTiming.js +19 -0
- package/esm/domain/rumEventsCollection/resource/retrieveInitialDocumentResourceTiming.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/interactionCountPolyfill.js +47 -0
- package/esm/domain/rumEventsCollection/view/interactionCountPolyfill.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackCommonViewMetrics.js +42 -0
- package/esm/domain/rumEventsCollection/view/trackCommonViewMetrics.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackCumulativeLayoutShift.js +117 -0
- package/esm/domain/rumEventsCollection/view/trackCumulativeLayoutShift.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackFirstContentfulPaint.js +20 -0
- package/esm/domain/rumEventsCollection/view/trackFirstContentfulPaint.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackFirstHidden.js +49 -0
- package/esm/domain/rumEventsCollection/view/trackFirstHidden.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackFirstInput.js +41 -0
- package/esm/domain/rumEventsCollection/view/trackFirstInput.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackInitialViewTimings.js +44 -0
- package/esm/domain/rumEventsCollection/view/trackInitialViewTimings.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackInteractionToNextPaint.js +153 -0
- package/esm/domain/rumEventsCollection/view/trackInteractionToNextPaint.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackLargestContentfulPaint.js +54 -0
- package/esm/domain/rumEventsCollection/view/trackLargestContentfulPaint.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackLoadingTime.js +45 -0
- package/esm/domain/rumEventsCollection/view/trackLoadingTime.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackNavigationTimings.js +51 -0
- package/esm/domain/rumEventsCollection/view/trackNavigationTimings.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackScrollMetrics.js +84 -0
- package/esm/domain/rumEventsCollection/view/trackScrollMetrics.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackViewEventCounts.js +15 -0
- package/esm/domain/rumEventsCollection/view/trackViewEventCounts.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/trackViews.js +262 -0
- package/esm/domain/rumEventsCollection/view/trackViews.js.map +1 -0
- package/esm/domain/rumEventsCollection/view/viewCollection.js +125 -0
- package/esm/domain/rumEventsCollection/view/viewCollection.js.map +1 -0
- package/esm/domain/rumSessionManager.js +179 -0
- package/esm/domain/rumSessionManager.js.map +1 -0
- package/esm/domain/tracing/ddtraceTracer.js +40 -0
- package/esm/domain/tracing/ddtraceTracer.js.map +1 -0
- package/esm/domain/tracing/getDocumentTraceId.js +69 -0
- package/esm/domain/tracing/getDocumentTraceId.js.map +1 -0
- package/esm/domain/tracing/jaegerTracer.js +42 -0
- package/esm/domain/tracing/jaegerTracer.js.map +1 -0
- package/esm/domain/tracing/sampler.js +61 -0
- package/esm/domain/tracing/sampler.js.map +1 -0
- package/esm/domain/tracing/skywalkingTracer.js +90 -0
- package/esm/domain/tracing/skywalkingTracer.js.map +1 -0
- package/esm/domain/tracing/traceIdentifier.js +57 -0
- package/esm/domain/tracing/traceIdentifier.js.map +1 -0
- package/esm/domain/tracing/tracer.js +124 -0
- package/esm/domain/tracing/tracer.js.map +1 -0
- package/esm/domain/tracing/w3cTraceParentTracer.js +69 -0
- package/esm/domain/tracing/w3cTraceParentTracer.js.map +1 -0
- package/esm/domain/tracing/zipkinMultiTracer.js +42 -0
- package/esm/domain/tracing/zipkinMultiTracer.js.map +1 -0
- package/esm/domain/tracing/zipkinSingleTracer.js +41 -0
- package/esm/domain/tracing/zipkinSingleTracer.js.map +1 -0
- package/esm/domain/trackEventCounts.js +49 -0
- package/esm/domain/trackEventCounts.js.map +1 -0
- package/esm/domain/usr/index.js +38 -0
- package/esm/domain/usr/index.js.map +1 -0
- package/esm/domain/waitPageActivityEnd.js +142 -0
- package/esm/domain/waitPageActivityEnd.js.map +1 -0
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -0
- package/esm/transport/startRumBatch.js +20 -0
- package/esm/transport/startRumBatch.js.map +1 -0
- package/esm/transport/startRumEventBridge.js +9 -0
- package/esm/transport/startRumEventBridge.js.map +1 -0
- package/package.json +39 -0
- package/types/index.d.ts +134 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PAGE_ACTIVITY_VALIDATION_DELAY = exports.PAGE_ACTIVITY_END_DELAY = void 0;
|
|
7
|
+
exports.createPageActivityObservable = createPageActivityObservable;
|
|
8
|
+
exports.doWaitPageActivityEnd = doWaitPageActivityEnd;
|
|
9
|
+
exports.waitPageActivityEnd = waitPageActivityEnd;
|
|
10
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
11
|
+
var _performanceObservable = require("../domain/performanceObservable");
|
|
12
|
+
// Delay to wait for a page activity to validate the tracking process
|
|
13
|
+
var PAGE_ACTIVITY_VALIDATION_DELAY = exports.PAGE_ACTIVITY_VALIDATION_DELAY = 100;
|
|
14
|
+
// Delay to wait after a page activity to end the tracking process
|
|
15
|
+
var PAGE_ACTIVITY_END_DELAY = exports.PAGE_ACTIVITY_END_DELAY = 100;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Wait for the page activity end
|
|
19
|
+
*
|
|
20
|
+
* Detection lifecycle:
|
|
21
|
+
* ```
|
|
22
|
+
* Wait page activity end
|
|
23
|
+
* .-------------------'--------------------.
|
|
24
|
+
* v v
|
|
25
|
+
* [Wait for a page activity ] [Wait for a maximum duration]
|
|
26
|
+
* [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]
|
|
27
|
+
* / \ |
|
|
28
|
+
* v v |
|
|
29
|
+
* [No page activity] [Page activity] |
|
|
30
|
+
* | |,----------------------. |
|
|
31
|
+
* v v | |
|
|
32
|
+
* (Discard) [Wait for a page activity] | |
|
|
33
|
+
* [ timeout: END_DELAY ] | |
|
|
34
|
+
* / \ | |
|
|
35
|
+
* v v | |
|
|
36
|
+
* [No page activity] [Page activity] | |
|
|
37
|
+
* | | | |
|
|
38
|
+
* | '------------' |
|
|
39
|
+
* '-----------. ,--------------------'
|
|
40
|
+
* v
|
|
41
|
+
* (End)
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the
|
|
45
|
+
* process is still alive after maxDuration, it has been validated.
|
|
46
|
+
*/
|
|
47
|
+
function waitPageActivityEnd(lifeCycle, domMutationObservable, configuration, pageActivityEndCallback, maxDuration) {
|
|
48
|
+
var pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, configuration);
|
|
49
|
+
return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration);
|
|
50
|
+
}
|
|
51
|
+
function doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration) {
|
|
52
|
+
var pageActivityEndTimeoutId;
|
|
53
|
+
var hasCompleted = false;
|
|
54
|
+
var validationTimeoutId = (0, _browserCore.setTimeout)(function () {
|
|
55
|
+
complete({
|
|
56
|
+
hadActivity: false
|
|
57
|
+
});
|
|
58
|
+
}, PAGE_ACTIVITY_VALIDATION_DELAY);
|
|
59
|
+
var maxDurationTimeoutId = maxDuration !== undefined ? (0, _browserCore.setTimeout)(function () {
|
|
60
|
+
return complete({
|
|
61
|
+
hadActivity: true,
|
|
62
|
+
end: (0, _browserCore.timeStampNow)()
|
|
63
|
+
});
|
|
64
|
+
}, maxDuration) : undefined;
|
|
65
|
+
var pageActivitySubscription = pageActivityObservable.subscribe(function (data) {
|
|
66
|
+
var isBusy = data.isBusy;
|
|
67
|
+
(0, _browserCore.clearTimeout)(validationTimeoutId);
|
|
68
|
+
(0, _browserCore.clearTimeout)(pageActivityEndTimeoutId);
|
|
69
|
+
var lastChangeTime = (0, _browserCore.timeStampNow)();
|
|
70
|
+
if (!isBusy) {
|
|
71
|
+
pageActivityEndTimeoutId = (0, _browserCore.setTimeout)(function () {
|
|
72
|
+
complete({
|
|
73
|
+
hadActivity: true,
|
|
74
|
+
end: lastChangeTime
|
|
75
|
+
});
|
|
76
|
+
}, PAGE_ACTIVITY_END_DELAY);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
var stop = function stop() {
|
|
80
|
+
hasCompleted = true;
|
|
81
|
+
(0, _browserCore.clearTimeout)(validationTimeoutId);
|
|
82
|
+
(0, _browserCore.clearTimeout)(pageActivityEndTimeoutId);
|
|
83
|
+
(0, _browserCore.clearTimeout)(maxDurationTimeoutId);
|
|
84
|
+
pageActivitySubscription.unsubscribe();
|
|
85
|
+
};
|
|
86
|
+
function complete(event) {
|
|
87
|
+
if (hasCompleted) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
stop && stop();
|
|
91
|
+
pageActivityEndCallback(event);
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
stop: stop
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function createPageActivityObservable(lifeCycle, domMutationObservable, configuration) {
|
|
98
|
+
return new _browserCore.Observable(function (observable) {
|
|
99
|
+
var subscriptions = [];
|
|
100
|
+
var firstRequestIndex;
|
|
101
|
+
var pendingRequestsCount = 0;
|
|
102
|
+
subscriptions.push(domMutationObservable.subscribe(function () {
|
|
103
|
+
notifyPageActivity();
|
|
104
|
+
}), (0, _performanceObservable.createPerformanceObservable)(configuration, {
|
|
105
|
+
type: _performanceObservable.RumPerformanceEntryType.RESOURCE
|
|
106
|
+
}).subscribe(function (entries) {
|
|
107
|
+
if ((0, _browserCore.some)(entries, function (entry) {
|
|
108
|
+
return !isExcludedUrl(configuration, entry.name);
|
|
109
|
+
})) {
|
|
110
|
+
notifyPageActivity();
|
|
111
|
+
}
|
|
112
|
+
}), lifeCycle.subscribe(_browserCore.LifeCycleEventType.REQUEST_STARTED, function (startEvent) {
|
|
113
|
+
if (isExcludedUrl(configuration, startEvent.url)) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (firstRequestIndex === undefined) {
|
|
117
|
+
firstRequestIndex = startEvent.requestIndex;
|
|
118
|
+
}
|
|
119
|
+
pendingRequestsCount += 1;
|
|
120
|
+
notifyPageActivity();
|
|
121
|
+
}), lifeCycle.subscribe(_browserCore.LifeCycleEventType.REQUEST_COMPLETED, function (request) {
|
|
122
|
+
if (isExcludedUrl(configuration, request.url) || firstRequestIndex === undefined ||
|
|
123
|
+
// If the request started before the tracking start, ignore it
|
|
124
|
+
request.requestIndex < firstRequestIndex) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
pendingRequestsCount -= 1;
|
|
128
|
+
notifyPageActivity();
|
|
129
|
+
}));
|
|
130
|
+
var _trackWindowOpen = trackWindowOpen(notifyPageActivity);
|
|
131
|
+
var stopTrackingWindowOpen = _trackWindowOpen.stop;
|
|
132
|
+
return function () {
|
|
133
|
+
stopTrackingWindowOpen();
|
|
134
|
+
(0, _browserCore.each)(subscriptions, function (s) {
|
|
135
|
+
s.unsubscribe();
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
function notifyPageActivity() {
|
|
139
|
+
observable.notify({
|
|
140
|
+
isBusy: pendingRequestsCount > 0
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
function isExcludedUrl(configuration, requestUrl) {
|
|
146
|
+
return (0, _browserCore.matchList)(configuration.excludedActivityUrls, requestUrl);
|
|
147
|
+
}
|
|
148
|
+
function trackWindowOpen(callback) {
|
|
149
|
+
return (0, _browserCore.instrumentMethod)(window, 'open', callback);
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=waitPageActivityEnd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitPageActivityEnd.js","names":["_browserCore","require","_performanceObservable","PAGE_ACTIVITY_VALIDATION_DELAY","exports","PAGE_ACTIVITY_END_DELAY","waitPageActivityEnd","lifeCycle","domMutationObservable","configuration","pageActivityEndCallback","maxDuration","pageActivityObservable","createPageActivityObservable","doWaitPageActivityEnd","pageActivityEndTimeoutId","hasCompleted","validationTimeoutId","setTimeout","complete","hadActivity","maxDurationTimeoutId","undefined","end","timeStampNow","pageActivitySubscription","subscribe","data","isBusy","clearTimeout","lastChangeTime","stop","unsubscribe","event","Observable","observable","subscriptions","firstRequestIndex","pendingRequestsCount","push","notifyPageActivity","createPerformanceObservable","type","RumPerformanceEntryType","RESOURCE","entries","some","entry","isExcludedUrl","name","LifeCycleEventType","REQUEST_STARTED","startEvent","url","requestIndex","REQUEST_COMPLETED","request","_trackWindowOpen","trackWindowOpen","stopTrackingWindowOpen","each","s","notify","requestUrl","matchList","excludedActivityUrls","callback","instrumentMethod","window"],"sources":["../../../rum/src/domain/waitPageActivityEnd.js"],"sourcesContent":["import {\n Observable,\n each,\n timeStampNow,\n LifeCycleEventType,\n some,\n matchList,\n instrumentMethod,\n setTimeout,\n clearTimeout\n} from '@cloudcare/browser-core'\nimport {\n createPerformanceObservable,\n RumPerformanceEntryType\n} from '../domain/performanceObservable'\n// Delay to wait for a page activity to validate the tracking process\nexport var PAGE_ACTIVITY_VALIDATION_DELAY = 100\n// Delay to wait after a page activity to end the tracking process\nexport var PAGE_ACTIVITY_END_DELAY = 100\n\n/**\n * Wait for the page activity end\n *\n * Detection lifecycle:\n * ```\n * Wait page activity end\n * .-------------------'--------------------.\n * v v\n * [Wait for a page activity ] [Wait for a maximum duration]\n * [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]\n * / \\ |\n * v v |\n * [No page activity] [Page activity] |\n * | |,----------------------. |\n * v v | |\n * (Discard) [Wait for a page activity] | |\n * [ timeout: END_DELAY ] | |\n * / \\ | |\n * v v | |\n * [No page activity] [Page activity] | |\n * | | | |\n * | '------------' |\n * '-----------. ,--------------------'\n * v\n * (End)\n * ```\n *\n * Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the\n * process is still alive after maxDuration, it has been validated.\n */\nexport function waitPageActivityEnd(\n lifeCycle,\n domMutationObservable,\n configuration,\n pageActivityEndCallback,\n maxDuration\n) {\n var pageActivityObservable = createPageActivityObservable(\n lifeCycle,\n domMutationObservable,\n configuration\n )\n return doWaitPageActivityEnd(\n pageActivityObservable,\n pageActivityEndCallback,\n maxDuration\n )\n}\n\nexport function doWaitPageActivityEnd(\n pageActivityObservable,\n pageActivityEndCallback,\n maxDuration\n) {\n var pageActivityEndTimeoutId\n var hasCompleted = false\n var validationTimeoutId = setTimeout(function () {\n complete({ hadActivity: false })\n }, PAGE_ACTIVITY_VALIDATION_DELAY)\n\n var maxDurationTimeoutId =\n maxDuration !== undefined\n ? setTimeout(function () {\n return complete({ hadActivity: true, end: timeStampNow() })\n }, maxDuration)\n : undefined\n\n var pageActivitySubscription = pageActivityObservable.subscribe(function (\n data\n ) {\n var isBusy = data.isBusy\n clearTimeout(validationTimeoutId)\n clearTimeout(pageActivityEndTimeoutId)\n var lastChangeTime = timeStampNow()\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout(function () {\n complete({ hadActivity: true, end: lastChangeTime })\n }, PAGE_ACTIVITY_END_DELAY)\n }\n })\n var stop = function () {\n hasCompleted = true\n clearTimeout(validationTimeoutId)\n clearTimeout(pageActivityEndTimeoutId)\n clearTimeout(maxDurationTimeoutId)\n pageActivitySubscription.unsubscribe()\n }\n function complete(event) {\n if (hasCompleted) {\n return\n }\n stop && stop()\n pageActivityEndCallback(event)\n }\n return { stop: stop }\n}\n\nexport function createPageActivityObservable(\n lifeCycle,\n domMutationObservable,\n configuration\n) {\n return new Observable(function (observable) {\n var subscriptions = []\n var firstRequestIndex\n var pendingRequestsCount = 0\n\n subscriptions.push(\n domMutationObservable.subscribe(() => {\n notifyPageActivity()\n }),\n createPerformanceObservable(configuration, {\n type: RumPerformanceEntryType.RESOURCE\n }).subscribe(function (entries) {\n if (\n some(entries, function (entry) {\n return !isExcludedUrl(configuration, entry.name)\n })\n ) {\n notifyPageActivity()\n }\n }),\n lifeCycle.subscribe(\n LifeCycleEventType.REQUEST_STARTED,\n function (startEvent) {\n if (isExcludedUrl(configuration, startEvent.url)) {\n return\n }\n\n if (firstRequestIndex === undefined) {\n firstRequestIndex = startEvent.requestIndex\n }\n pendingRequestsCount += 1\n notifyPageActivity()\n }\n ),\n lifeCycle.subscribe(\n LifeCycleEventType.REQUEST_COMPLETED,\n function (request) {\n if (\n isExcludedUrl(configuration, request.url) ||\n firstRequestIndex === undefined ||\n // If the request started before the tracking start, ignore it\n request.requestIndex < firstRequestIndex\n ) {\n return\n }\n\n pendingRequestsCount -= 1\n notifyPageActivity()\n }\n )\n )\n\n var _trackWindowOpen = trackWindowOpen(notifyPageActivity)\n var stopTrackingWindowOpen = _trackWindowOpen.stop\n return function () {\n stopTrackingWindowOpen()\n each(subscriptions, function (s) {\n s.unsubscribe()\n })\n }\n\n function notifyPageActivity() {\n observable.notify({ isBusy: pendingRequestsCount > 0 })\n }\n })\n}\n\nfunction isExcludedUrl(configuration, requestUrl) {\n return matchList(configuration.excludedActivityUrls, requestUrl)\n}\n\nfunction trackWindowOpen(callback) {\n return instrumentMethod(window, 'open', callback)\n}\n"],"mappings":"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","ignoreList":[]}
|
package/cjs/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "datafluxRum", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _rumSlim.datafluxRum;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _rumSlim = require("./boot/rum.slim.entry");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_rumSlim","require"],"sources":["../src/index.js"],"sourcesContent":["import { datafluxRum } from '../../rum/src/boot/rum.slim.entry'\n\nexport { datafluxRum }\n\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.startRumBatch = startRumBatch;
|
|
7
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
8
|
+
var _encoderStreamId = require("../domain/encoderStreamId");
|
|
9
|
+
function startRumBatch(configuration, lifeCycle, telemetryEventObservable, reportError, pageExitObservable, sessionExpireObservable, createEncoder) {
|
|
10
|
+
var batch = (0, _browserCore.startBatchWithReplica)(configuration, {
|
|
11
|
+
endpoint: configuration.rumEndpoint,
|
|
12
|
+
encoder: createEncoder(_encoderStreamId.EncoderStreamId.RUM)
|
|
13
|
+
}, reportError, pageExitObservable, sessionExpireObservable);
|
|
14
|
+
lifeCycle.subscribe(_browserCore.LifeCycleEventType.RUM_EVENT_COLLECTED, function (serverRumEvent) {
|
|
15
|
+
if (serverRumEvent.type === _browserCore.RumEventType.VIEW) {
|
|
16
|
+
batch.upsert(serverRumEvent, serverRumEvent.view.id);
|
|
17
|
+
} else {
|
|
18
|
+
batch.add(serverRumEvent);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
telemetryEventObservable.subscribe(function (event) {
|
|
22
|
+
batch.add(event);
|
|
23
|
+
});
|
|
24
|
+
return batch;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=startRumBatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startRumBatch.js","names":["_browserCore","require","_encoderStreamId","startRumBatch","configuration","lifeCycle","telemetryEventObservable","reportError","pageExitObservable","sessionExpireObservable","createEncoder","batch","startBatchWithReplica","endpoint","rumEndpoint","encoder","EncoderStreamId","RUM","subscribe","LifeCycleEventType","RUM_EVENT_COLLECTED","serverRumEvent","type","RumEventType","VIEW","upsert","view","id","add","event"],"sources":["../../../rum/src/transport/startRumBatch.js"],"sourcesContent":["import {\n LifeCycleEventType,\n RumEventType,\n startBatchWithReplica\n} from '@cloudcare/browser-core'\nimport { EncoderStreamId } from '../domain/encoderStreamId'\nexport function startRumBatch(\n configuration,\n lifeCycle,\n telemetryEventObservable,\n reportError,\n pageExitObservable,\n sessionExpireObservable,\n createEncoder\n) {\n const batch = startBatchWithReplica(\n configuration,\n {\n endpoint: configuration.rumEndpoint,\n encoder: createEncoder(EncoderStreamId.RUM)\n },\n reportError,\n pageExitObservable,\n sessionExpireObservable\n )\n lifeCycle.subscribe(\n LifeCycleEventType.RUM_EVENT_COLLECTED,\n function (serverRumEvent) {\n if (serverRumEvent.type === RumEventType.VIEW) {\n batch.upsert(serverRumEvent, serverRumEvent.view.id)\n } else {\n batch.add(serverRumEvent)\n }\n }\n )\n telemetryEventObservable.subscribe(function (event) {\n batch.add(event)\n })\n return batch\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,gBAAA,GAAAD,OAAA;AACO,SAASE,aAAaA,CAC3BC,aAAa,EACbC,SAAS,EACTC,wBAAwB,EACxBC,WAAW,EACXC,kBAAkB,EAClBC,uBAAuB,EACvBC,aAAa,EACb;EACA,IAAMC,KAAK,GAAG,IAAAC,kCAAqB,EACjCR,aAAa,EACb;IACES,QAAQ,EAAET,aAAa,CAACU,WAAW;IACnCC,OAAO,EAAEL,aAAa,CAACM,gCAAe,CAACC,GAAG;EAC5C,CAAC,EACDV,WAAW,EACXC,kBAAkB,EAClBC,uBACF,CAAC;EACDJ,SAAS,CAACa,SAAS,CACjBC,+BAAkB,CAACC,mBAAmB,EACtC,UAAUC,cAAc,EAAE;IACxB,IAAIA,cAAc,CAACC,IAAI,KAAKC,yBAAY,CAACC,IAAI,EAAE;MAC7Cb,KAAK,CAACc,MAAM,CAACJ,cAAc,EAAEA,cAAc,CAACK,IAAI,CAACC,EAAE,CAAC;IACtD,CAAC,MAAM;MACLhB,KAAK,CAACiB,GAAG,CAACP,cAAc,CAAC;IAC3B;EACF,CACF,CAAC;EACDf,wBAAwB,CAACY,SAAS,CAAC,UAAUW,KAAK,EAAE;IAClDlB,KAAK,CAACiB,GAAG,CAACC,KAAK,CAAC;EAClB,CAAC,CAAC;EACF,OAAOlB,KAAK;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.startRumEventBridge = startRumEventBridge;
|
|
7
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
8
|
+
function startRumEventBridge(lifeCycle) {
|
|
9
|
+
var bridge = (0, _browserCore.getEventBridge)();
|
|
10
|
+
lifeCycle.subscribe(_browserCore.LifeCycleEventType.RUM_EVENT_COLLECTED, function (serverRumEvent) {
|
|
11
|
+
var data = (0, _browserCore.processedMessageByDataMap)(serverRumEvent).rowData;
|
|
12
|
+
bridge.send('rum', data);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=startRumEventBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startRumEventBridge.js","names":["_browserCore","require","startRumEventBridge","lifeCycle","bridge","getEventBridge","subscribe","LifeCycleEventType","RUM_EVENT_COLLECTED","serverRumEvent","data","processedMessageByDataMap","rowData","send"],"sources":["../../../rum/src/transport/startRumEventBridge.js"],"sourcesContent":["import {\n getEventBridge,\n LifeCycleEventType,\n processedMessageByDataMap\n} from '@cloudcare/browser-core'\n\nexport function startRumEventBridge(lifeCycle) {\n var bridge = getEventBridge()\n\n lifeCycle.subscribe(\n LifeCycleEventType.RUM_EVENT_COLLECTED,\n function (serverRumEvent) {\n var data = processedMessageByDataMap(serverRumEvent).rowData\n bridge.send('rum', data)\n }\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAMO,SAASC,mBAAmBA,CAACC,SAAS,EAAE;EAC7C,IAAIC,MAAM,GAAG,IAAAC,2BAAc,EAAC,CAAC;EAE7BF,SAAS,CAACG,SAAS,CACjBC,+BAAkB,CAACC,mBAAmB,EACtC,UAAUC,cAAc,EAAE;IACxB,IAAIC,IAAI,GAAG,IAAAC,sCAAyB,EAACF,cAAc,CAAC,CAACG,OAAO;IAC5DR,MAAM,CAACS,IAAI,CAAC,KAAK,EAAEH,IAAI,CAAC;EAC1B,CACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildEnv.js","names":["buildEnv","sdkVersion","__BUILD_ENV__SDK_VERSION__","sdkName"],"sources":["../../../rum/src/boot/buildEnv.js"],"sourcesContent":["export var buildEnv = {\n sdkVersion: __BUILD_ENV__SDK_VERSION__,\n sdkName: 'df_web_rum_sdk'\n}\n"],"mappings":"AAAA,OAAO,IAAIA,QAAQ,GAAG;EACpBC,UAAU,EAAEC,0BAA0B;EACtCC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { createBoundedBuffer, display, canUseEventBridge, displayAlreadyInitializedError, willSyntheticsInjectRum, noop, timeStampNow, clocksNow, assign, addTelemetryConfiguration, initFetchObservable, deepClone, fetchAndApplyRemoteConfiguration, getEventBridge, getType } from '@cloudcare/browser-core';
|
|
2
|
+
import { validateAndBuildRumConfiguration } from '../domain/configuration';
|
|
3
|
+
export function createPreStartStrategy(rumPublicApiOptions, getCommonContext, doStartRum) {
|
|
4
|
+
var ignoreInitIfSyntheticsWillInjectRum = rumPublicApiOptions.ignoreInitIfSyntheticsWillInjectRum;
|
|
5
|
+
var startCompressionWorker = rumPublicApiOptions.startCompressionWorker;
|
|
6
|
+
var overrideInitConfiguration = rumPublicApiOptions.overrideInitConfiguration;
|
|
7
|
+
var bufferApiCalls = createBoundedBuffer();
|
|
8
|
+
var remoteConfigrationCallbacks = createBoundedBuffer();
|
|
9
|
+
var firstStartViewCall;
|
|
10
|
+
var compressionWorker;
|
|
11
|
+
var cachedInitConfiguration;
|
|
12
|
+
var cachedConfiguration;
|
|
13
|
+
var cachedRemoteConfiguration;
|
|
14
|
+
var resourceTrackerManager = rumPublicApiOptions.resourceTrackerManager;
|
|
15
|
+
function tryStartRum() {
|
|
16
|
+
if (!cachedInitConfiguration || !cachedConfiguration) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
var initialViewOptions;
|
|
20
|
+
if (cachedConfiguration.trackViewsManually) {
|
|
21
|
+
if (!firstStartViewCall) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// An initial view is always created when starting RUM.
|
|
25
|
+
// When tracking views automatically, any startView call before RUM start creates an extra
|
|
26
|
+
// view.
|
|
27
|
+
// When tracking views manually, we use the ViewOptions from the first startView call as the
|
|
28
|
+
// initial view options, and we remove the actual startView call so we don't create an extra
|
|
29
|
+
// view.
|
|
30
|
+
bufferApiCalls.remove(firstStartViewCall.callback);
|
|
31
|
+
initialViewOptions = firstStartViewCall.options;
|
|
32
|
+
}
|
|
33
|
+
var startRumResult = doStartRum(cachedConfiguration, compressionWorker, initialViewOptions);
|
|
34
|
+
bufferApiCalls.drain(startRumResult);
|
|
35
|
+
}
|
|
36
|
+
function doInit(initConfiguration, remoteConfiguration) {
|
|
37
|
+
var eventBridgeAvailable = canUseEventBridge();
|
|
38
|
+
if (eventBridgeAvailable) {
|
|
39
|
+
initConfiguration = overrideInitConfigurationForBridge(initConfiguration);
|
|
40
|
+
}
|
|
41
|
+
if (overrideInitConfiguration) {
|
|
42
|
+
initConfiguration = overrideInitConfiguration(initConfiguration);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Update the exposed initConfiguration to reflect the bridge and remote configuration overrides
|
|
46
|
+
cachedInitConfiguration = initConfiguration;
|
|
47
|
+
cachedRemoteConfiguration = remoteConfiguration;
|
|
48
|
+
remoteConfigrationCallbacks.drain(cachedRemoteConfiguration);
|
|
49
|
+
addTelemetryConfiguration(deepClone(initConfiguration));
|
|
50
|
+
if (cachedConfiguration) {
|
|
51
|
+
displayAlreadyInitializedError('DATAFLUX_RUM', initConfiguration);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
var configuration = validateAndBuildRumConfiguration(initConfiguration);
|
|
55
|
+
if (!configuration) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (!eventBridgeAvailable && !configuration.sessionStoreStrategyType) {
|
|
59
|
+
display.warn('No storage available for session. We will not send any data.');
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (configuration.compressIntakeRequests && !configuration.sendContentTypeByJson && !eventBridgeAvailable && startCompressionWorker) {
|
|
63
|
+
compressionWorker = startCompressionWorker(configuration, 'RUM',
|
|
64
|
+
// Worker initialization can fail asynchronously, especially in Firefox where even CSP
|
|
65
|
+
// issues are reported asynchronously. For now, the SDK will continue its execution even if
|
|
66
|
+
// data won't be sent to Datadog. We could improve this behavior in the future.
|
|
67
|
+
noop);
|
|
68
|
+
if (!compressionWorker) {
|
|
69
|
+
// The compression worker starter should have logged an error message explaining the issue
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
cachedConfiguration = configuration;
|
|
74
|
+
// Instrumuent fetch to track network requests
|
|
75
|
+
// This is needed in case the consent is not granted and some cutsomer
|
|
76
|
+
// library (Apollo Client) is storing uninstrumented fetch to be used later
|
|
77
|
+
// The subscrption is needed so that the instrumentation process is completed
|
|
78
|
+
initFetchObservable().subscribe(noop);
|
|
79
|
+
tryStartRum();
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
init: function init(initConfiguration) {
|
|
83
|
+
if (!initConfiguration) {
|
|
84
|
+
display.error('Missing configuration');
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
// Set the experimental feature flags as early as possible, so we can use them in most places
|
|
88
|
+
|
|
89
|
+
// Expose the initial configuration regardless of initialization success.
|
|
90
|
+
cachedInitConfiguration = initConfiguration;
|
|
91
|
+
// If we are in a Synthetics test configured to automatically inject a RUM instance, we want
|
|
92
|
+
// to completely discard the customer application RUM instance by ignoring their init() call.
|
|
93
|
+
// But, we should not ignore the init() call from the Synthetics-injected RUM instance, so the
|
|
94
|
+
// internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.
|
|
95
|
+
if (ignoreInitIfSyntheticsWillInjectRum && willSyntheticsInjectRum()) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (initConfiguration.remoteConfiguration) {
|
|
99
|
+
fetchAndApplyRemoteConfiguration(initConfiguration, doInit);
|
|
100
|
+
} else {
|
|
101
|
+
doInit(initConfiguration);
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
getInitConfiguration: function getInitConfiguration() {
|
|
105
|
+
return cachedInitConfiguration;
|
|
106
|
+
},
|
|
107
|
+
getRemoteConfiguration: function getRemoteConfiguration(callback) {
|
|
108
|
+
if (getType(callback) === 'function') {
|
|
109
|
+
if (cachedRemoteConfiguration) {
|
|
110
|
+
callback(cachedRemoteConfiguration);
|
|
111
|
+
} else {
|
|
112
|
+
remoteConfigrationCallbacks.add(callback);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
getInternalContext: noop,
|
|
117
|
+
stopSession: noop,
|
|
118
|
+
setForcedSession: function setForcedSession() {
|
|
119
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
120
|
+
return startRumResult.setForcedSession();
|
|
121
|
+
});
|
|
122
|
+
},
|
|
123
|
+
addTiming: function addTiming(name, time) {
|
|
124
|
+
if (time === undefined) {
|
|
125
|
+
time = timeStampNow();
|
|
126
|
+
}
|
|
127
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
128
|
+
startRumResult.addTiming(name, time);
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
startView: function startView(options, startClocks) {
|
|
132
|
+
if (startClocks === undefined) {
|
|
133
|
+
startClocks = clocksNow();
|
|
134
|
+
}
|
|
135
|
+
var callback = function callback(startRumResult) {
|
|
136
|
+
startRumResult.startView(options, startClocks);
|
|
137
|
+
};
|
|
138
|
+
bufferApiCalls.add(callback);
|
|
139
|
+
if (!firstStartViewCall) {
|
|
140
|
+
firstStartViewCall = {
|
|
141
|
+
options: options,
|
|
142
|
+
callback: callback
|
|
143
|
+
};
|
|
144
|
+
tryStartRum();
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
setViewName: function setViewName(name) {
|
|
148
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
149
|
+
return startRumResult.setViewName(name);
|
|
150
|
+
});
|
|
151
|
+
},
|
|
152
|
+
setViewContext: function setViewContext(context) {
|
|
153
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
154
|
+
return startRumResult.setViewContext(context);
|
|
155
|
+
});
|
|
156
|
+
},
|
|
157
|
+
setViewContextProperty: function setViewContextProperty(key, value) {
|
|
158
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
159
|
+
return startRumResult.setViewContextProperty(key, value);
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
getViewContext: function getViewContext() {},
|
|
163
|
+
addTypeAction: function addTypeAction(action, type, commonContext) {
|
|
164
|
+
if (commonContext === undefined) {
|
|
165
|
+
commonContext = getCommonContext();
|
|
166
|
+
}
|
|
167
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
168
|
+
startRumResult.addTypeAction(action, type, commonContext);
|
|
169
|
+
});
|
|
170
|
+
},
|
|
171
|
+
addAction: function addAction(action, commonContext) {
|
|
172
|
+
if (commonContext === undefined) {
|
|
173
|
+
commonContext = getCommonContext();
|
|
174
|
+
}
|
|
175
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
176
|
+
startRumResult.addAction(action, commonContext);
|
|
177
|
+
});
|
|
178
|
+
},
|
|
179
|
+
addResource: function addResource(resource, commonContext) {
|
|
180
|
+
if (commonContext === undefined) {
|
|
181
|
+
commonContext = getCommonContext();
|
|
182
|
+
}
|
|
183
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
184
|
+
startRumResult.addResource(resource, commonContext);
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
addError: function addError(providedError, commonContext) {
|
|
188
|
+
if (commonContext === undefined) {
|
|
189
|
+
commonContext = getCommonContext();
|
|
190
|
+
}
|
|
191
|
+
bufferApiCalls.add(function (startRumResult) {
|
|
192
|
+
startRumResult.addError(providedError, commonContext);
|
|
193
|
+
});
|
|
194
|
+
},
|
|
195
|
+
createResourceTrackerId: function createResourceTrackerId() {
|
|
196
|
+
return resourceTrackerManager.createTrackerId();
|
|
197
|
+
},
|
|
198
|
+
setResourceContext: function setResourceContext(trackerId, context) {
|
|
199
|
+
resourceTrackerManager.setResourceContext(trackerId, context);
|
|
200
|
+
},
|
|
201
|
+
appendResourceContext: function appendResourceContext(trackerId, context) {
|
|
202
|
+
resourceTrackerManager.appendResourceContext(trackerId, context);
|
|
203
|
+
},
|
|
204
|
+
finishResource: function finishResource(trackerId) {
|
|
205
|
+
resourceTrackerManager.finishResource(trackerId);
|
|
206
|
+
},
|
|
207
|
+
getResource: function getResource(trackerId) {
|
|
208
|
+
return resourceTrackerManager.getResource(trackerId);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
function overrideInitConfigurationForBridge(initConfiguration) {
|
|
213
|
+
var _initConfiguration$de, _getEventBridge;
|
|
214
|
+
return assign({}, initConfiguration, {
|
|
215
|
+
applicationId: '00000000-aaaa-0000-aaaa-000000000000',
|
|
216
|
+
clientToken: 'empty',
|
|
217
|
+
sessionSampleRate: 100,
|
|
218
|
+
defaultPrivacyLevel: (_initConfiguration$de = initConfiguration.defaultPrivacyLevel) !== null && _initConfiguration$de !== void 0 ? _initConfiguration$de : (_getEventBridge = getEventBridge()) === null || _getEventBridge === void 0 ? void 0 : _getEventBridge.getPrivacyLevel()
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=perStartRum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perStartRum.js","names":["createBoundedBuffer","display","canUseEventBridge","displayAlreadyInitializedError","willSyntheticsInjectRum","noop","timeStampNow","clocksNow","assign","addTelemetryConfiguration","initFetchObservable","deepClone","fetchAndApplyRemoteConfiguration","getEventBridge","getType","validateAndBuildRumConfiguration","createPreStartStrategy","rumPublicApiOptions","getCommonContext","doStartRum","ignoreInitIfSyntheticsWillInjectRum","startCompressionWorker","overrideInitConfiguration","bufferApiCalls","remoteConfigrationCallbacks","firstStartViewCall","compressionWorker","cachedInitConfiguration","cachedConfiguration","cachedRemoteConfiguration","resourceTrackerManager","tryStartRum","initialViewOptions","trackViewsManually","remove","callback","options","startRumResult","drain","doInit","initConfiguration","remoteConfiguration","eventBridgeAvailable","overrideInitConfigurationForBridge","configuration","sessionStoreStrategyType","warn","compressIntakeRequests","sendContentTypeByJson","subscribe","init","error","getInitConfiguration","getRemoteConfiguration","add","getInternalContext","stopSession","setForcedSession","addTiming","name","time","undefined","startView","startClocks","setViewName","setViewContext","context","setViewContextProperty","key","value","getViewContext","addTypeAction","action","type","commonContext","addAction","addResource","resource","addError","providedError","createResourceTrackerId","createTrackerId","setResourceContext","trackerId","appendResourceContext","finishResource","getResource","_initConfiguration$de","_getEventBridge","applicationId","clientToken","sessionSampleRate","defaultPrivacyLevel","getPrivacyLevel"],"sources":["../../../rum/src/boot/perStartRum.js"],"sourcesContent":["import {\n createBoundedBuffer,\n display,\n canUseEventBridge,\n displayAlreadyInitializedError,\n willSyntheticsInjectRum,\n noop,\n timeStampNow,\n clocksNow,\n assign,\n addTelemetryConfiguration,\n initFetchObservable,\n deepClone,\n fetchAndApplyRemoteConfiguration,\n getEventBridge,\n getType\n} from '@cloudcare/browser-core'\nimport { validateAndBuildRumConfiguration } from '../domain/configuration'\n\nexport function createPreStartStrategy(\n rumPublicApiOptions,\n getCommonContext,\n doStartRum\n) {\n var ignoreInitIfSyntheticsWillInjectRum =\n rumPublicApiOptions.ignoreInitIfSyntheticsWillInjectRum\n var startCompressionWorker = rumPublicApiOptions.startCompressionWorker\n var overrideInitConfiguration = rumPublicApiOptions.overrideInitConfiguration\n var bufferApiCalls = createBoundedBuffer()\n var remoteConfigrationCallbacks = createBoundedBuffer()\n var firstStartViewCall\n\n var compressionWorker\n\n var cachedInitConfiguration\n var cachedConfiguration\n var cachedRemoteConfiguration\n var resourceTrackerManager = rumPublicApiOptions.resourceTrackerManager\n function tryStartRum() {\n if (!cachedInitConfiguration || !cachedConfiguration) {\n return\n }\n\n var initialViewOptions\n\n if (cachedConfiguration.trackViewsManually) {\n if (!firstStartViewCall) {\n return\n }\n // An initial view is always created when starting RUM.\n // When tracking views automatically, any startView call before RUM start creates an extra\n // view.\n // When tracking views manually, we use the ViewOptions from the first startView call as the\n // initial view options, and we remove the actual startView call so we don't create an extra\n // view.\n bufferApiCalls.remove(firstStartViewCall.callback)\n initialViewOptions = firstStartViewCall.options\n }\n\n var startRumResult = doStartRum(\n cachedConfiguration,\n compressionWorker,\n initialViewOptions\n )\n\n bufferApiCalls.drain(startRumResult)\n }\n\n function doInit(initConfiguration, remoteConfiguration) {\n var eventBridgeAvailable = canUseEventBridge()\n if (eventBridgeAvailable) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration)\n }\n if (overrideInitConfiguration) {\n initConfiguration = overrideInitConfiguration(initConfiguration)\n }\n\n // Update the exposed initConfiguration to reflect the bridge and remote configuration overrides\n cachedInitConfiguration = initConfiguration\n cachedRemoteConfiguration = remoteConfiguration\n remoteConfigrationCallbacks.drain(cachedRemoteConfiguration)\n addTelemetryConfiguration(deepClone(initConfiguration))\n if (cachedConfiguration) {\n displayAlreadyInitializedError('DATAFLUX_RUM', initConfiguration)\n return\n }\n var configuration = validateAndBuildRumConfiguration(initConfiguration)\n if (!configuration) {\n return\n }\n\n if (!eventBridgeAvailable && !configuration.sessionStoreStrategyType) {\n display.warn(\n 'No storage available for session. We will not send any data.'\n )\n return\n }\n\n if (\n configuration.compressIntakeRequests &&\n !configuration.sendContentTypeByJson &&\n !eventBridgeAvailable &&\n startCompressionWorker\n ) {\n compressionWorker = startCompressionWorker(\n configuration,\n 'RUM',\n // Worker initialization can fail asynchronously, especially in Firefox where even CSP\n // issues are reported asynchronously. For now, the SDK will continue its execution even if\n // data won't be sent to Datadog. We could improve this behavior in the future.\n noop\n )\n if (!compressionWorker) {\n // The compression worker starter should have logged an error message explaining the issue\n return\n }\n }\n\n cachedConfiguration = configuration\n // Instrumuent fetch to track network requests\n // This is needed in case the consent is not granted and some cutsomer\n // library (Apollo Client) is storing uninstrumented fetch to be used later\n // The subscrption is needed so that the instrumentation process is completed\n initFetchObservable().subscribe(noop)\n\n tryStartRum()\n }\n\n return {\n init: function (initConfiguration) {\n if (!initConfiguration) {\n display.error('Missing configuration')\n return\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n\n // Expose the initial configuration regardless of initialization success.\n cachedInitConfiguration = initConfiguration\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want\n // to completely discard the customer application RUM instance by ignoring their init() call.\n // But, we should not ignore the init() call from the Synthetics-injected RUM instance, so the\n // internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.\n if (ignoreInitIfSyntheticsWillInjectRum && willSyntheticsInjectRum()) {\n return\n }\n if (initConfiguration.remoteConfiguration) {\n fetchAndApplyRemoteConfiguration(initConfiguration, doInit)\n } else {\n doInit(initConfiguration)\n }\n },\n\n getInitConfiguration: function () {\n return cachedInitConfiguration\n },\n getRemoteConfiguration: function (callback) {\n if (getType(callback) === 'function') {\n if (cachedRemoteConfiguration) {\n callback(cachedRemoteConfiguration)\n } else {\n remoteConfigrationCallbacks.add(callback)\n }\n }\n },\n getInternalContext: noop,\n\n stopSession: noop,\n setForcedSession: function () {\n bufferApiCalls.add((startRumResult) => startRumResult.setForcedSession())\n },\n addTiming: function (name, time) {\n if (time === undefined) {\n time = timeStampNow()\n }\n bufferApiCalls.add(function (startRumResult) {\n startRumResult.addTiming(name, time)\n })\n },\n\n startView: function (options, startClocks) {\n if (startClocks === undefined) {\n startClocks = clocksNow()\n }\n const callback = function (startRumResult) {\n startRumResult.startView(options, startClocks)\n }\n bufferApiCalls.add(callback)\n\n if (!firstStartViewCall) {\n firstStartViewCall = { options: options, callback: callback }\n tryStartRum()\n }\n },\n setViewName(name) {\n bufferApiCalls.add((startRumResult) => startRumResult.setViewName(name))\n },\n\n setViewContext(context) {\n bufferApiCalls.add((startRumResult) =>\n startRumResult.setViewContext(context)\n )\n },\n\n setViewContextProperty(key, value) {\n bufferApiCalls.add((startRumResult) =>\n startRumResult.setViewContextProperty(key, value)\n )\n },\n\n getViewContext: () => {},\n\n addTypeAction: function (action, type, commonContext) {\n if (commonContext === undefined) {\n commonContext = getCommonContext()\n }\n bufferApiCalls.add(function (startRumResult) {\n startRumResult.addTypeAction(action, type, commonContext)\n })\n },\n addAction: function (action, commonContext) {\n if (commonContext === undefined) {\n commonContext = getCommonContext()\n }\n bufferApiCalls.add(function (startRumResult) {\n startRumResult.addAction(action, commonContext)\n })\n },\n addResource: function (resource, commonContext) {\n if (commonContext === undefined) {\n commonContext = getCommonContext()\n }\n bufferApiCalls.add(function (startRumResult) {\n startRumResult.addResource(resource, commonContext)\n })\n },\n addError: function (providedError, commonContext) {\n if (commonContext === undefined) {\n commonContext = getCommonContext()\n }\n bufferApiCalls.add(function (startRumResult) {\n startRumResult.addError(providedError, commonContext)\n })\n },\n createResourceTrackerId: function () {\n return resourceTrackerManager.createTrackerId()\n },\n setResourceContext: function (trackerId, context) {\n resourceTrackerManager.setResourceContext(trackerId, context)\n },\n appendResourceContext: function (trackerId, context) {\n resourceTrackerManager.appendResourceContext(trackerId, context)\n },\n finishResource: function (trackerId) {\n resourceTrackerManager.finishResource(trackerId)\n },\n getResource: function (trackerId) {\n return resourceTrackerManager.getResource(trackerId)\n }\n }\n}\n\nfunction overrideInitConfigurationForBridge(initConfiguration) {\n return assign({}, initConfiguration, {\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sessionSampleRate: 100,\n defaultPrivacyLevel:\n initConfiguration.defaultPrivacyLevel ??\n getEventBridge()?.getPrivacyLevel()\n })\n}\n"],"mappings":"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","ignoreList":[]}
|