@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,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ACTION_CONTEXT_TIME_OUT_DELAY = void 0;
|
|
7
|
+
exports.finalizeClicks = finalizeClicks;
|
|
8
|
+
exports.trackClickActions = trackClickActions;
|
|
9
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
10
|
+
var _trackEventCounts = require("../../trackEventCounts");
|
|
11
|
+
var _waitPageActivityEnd2 = require("../../waitPageActivityEnd");
|
|
12
|
+
var _clickChain = require("./clickChain");
|
|
13
|
+
var _getActionNameFromElement = require("./getActionNameFromElement");
|
|
14
|
+
var _getSelectorsFromElement = require("./getSelectorsFromElement");
|
|
15
|
+
var _listenActionEvents2 = require("./listenActionEvents");
|
|
16
|
+
var _computeFrustration2 = require("./computeFrustration");
|
|
17
|
+
var _interactionSelectorCache = require("./interactionSelectorCache");
|
|
18
|
+
// import { getSelectorsFromElement } from './getSelectorsFromElement'
|
|
19
|
+
|
|
20
|
+
// Maximum duration for click actions
|
|
21
|
+
var ACTION_CONTEXT_TIME_OUT_DELAY = exports.ACTION_CONTEXT_TIME_OUT_DELAY = 5 * _browserCore.ONE_MINUTE; // arbitrary
|
|
22
|
+
|
|
23
|
+
function trackClickActions(lifeCycle, domMutationObservable, configuration) {
|
|
24
|
+
var history = new _browserCore.createValueHistory({
|
|
25
|
+
expireDelay: ACTION_CONTEXT_TIME_OUT_DELAY
|
|
26
|
+
});
|
|
27
|
+
var stopObservable = new _browserCore.Observable();
|
|
28
|
+
var currentClickChain;
|
|
29
|
+
lifeCycle.subscribe(_browserCore.LifeCycleEventType.SESSION_RENEWED, function () {
|
|
30
|
+
history.reset();
|
|
31
|
+
});
|
|
32
|
+
lifeCycle.subscribe(_browserCore.LifeCycleEventType.VIEW_ENDED, stopClickChain);
|
|
33
|
+
var _listenActionEvents = (0, _listenActionEvents2.listenActionEvents)({
|
|
34
|
+
onPointerDown: function onPointerDown(pointerDownEvent) {
|
|
35
|
+
return processPointerDown(configuration, lifeCycle, domMutationObservable, pointerDownEvent);
|
|
36
|
+
},
|
|
37
|
+
onPointerUp: function onPointerUp(data, startEvent, getUserActivity) {
|
|
38
|
+
startClickAction(configuration, lifeCycle, domMutationObservable, history, stopObservable, appendClickToClickChain, data.clickActionBase, startEvent, getUserActivity, data.hadActivityOnPointerDown);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
var stopActionEventsListener = _listenActionEvents.stop;
|
|
42
|
+
var actionContexts = {
|
|
43
|
+
findActionId: function findActionId(startTime) {
|
|
44
|
+
var allIds = history.findAll(startTime);
|
|
45
|
+
if (allIds && allIds.length) {
|
|
46
|
+
return allIds[allIds.length - 1];
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
},
|
|
50
|
+
findAllActionId: function findAllActionId(startTime) {
|
|
51
|
+
return history.findAll(startTime);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
stop: function stop() {
|
|
56
|
+
stopClickChain();
|
|
57
|
+
stopObservable.notify();
|
|
58
|
+
stopActionEventsListener();
|
|
59
|
+
},
|
|
60
|
+
actionContexts: actionContexts
|
|
61
|
+
};
|
|
62
|
+
function stopClickChain() {
|
|
63
|
+
if (currentClickChain) {
|
|
64
|
+
currentClickChain.stop();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function appendClickToClickChain(click) {
|
|
68
|
+
if (!currentClickChain || !currentClickChain.tryAppend(click)) {
|
|
69
|
+
var rageClick = click.clone();
|
|
70
|
+
currentClickChain = (0, _clickChain.createClickChain)(click, function (clicks) {
|
|
71
|
+
finalizeClicks(clicks, rageClick);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function processPointerDown(configuration, lifeCycle, domMutationObservable, pointerDownEvent) {
|
|
77
|
+
var clickActionBase = computeClickActionBase(pointerDownEvent, configuration.actionNameAttribute);
|
|
78
|
+
var _hadActivityOnPointerDown = false;
|
|
79
|
+
(0, _waitPageActivityEnd2.waitPageActivityEnd)(lifeCycle, domMutationObservable, configuration, function (pageActivityEndEvent) {
|
|
80
|
+
_hadActivityOnPointerDown = pageActivityEndEvent.hadActivity;
|
|
81
|
+
}, _waitPageActivityEnd2.PAGE_ACTIVITY_VALIDATION_DELAY);
|
|
82
|
+
return {
|
|
83
|
+
clickActionBase: clickActionBase,
|
|
84
|
+
hadActivityOnPointerDown: function hadActivityOnPointerDown() {
|
|
85
|
+
return _hadActivityOnPointerDown;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function startClickAction(configuration, lifeCycle, domMutationObservable, history, stopObservable, appendClickToClickChain, clickActionBase, startEvent, getUserActivity, hadActivityOnPointerDown) {
|
|
90
|
+
var click = newClick(lifeCycle, history, getUserActivity, clickActionBase, startEvent);
|
|
91
|
+
appendClickToClickChain(click);
|
|
92
|
+
var selector = clickActionBase && clickActionBase.target && clickActionBase.target.selector;
|
|
93
|
+
if (selector) {
|
|
94
|
+
(0, _interactionSelectorCache.updateInteractionSelector)(startEvent.timeStamp, selector);
|
|
95
|
+
}
|
|
96
|
+
var _waitPageActivityEnd = (0, _waitPageActivityEnd2.waitPageActivityEnd)(lifeCycle, domMutationObservable, configuration, function (pageActivityEndEvent) {
|
|
97
|
+
if (pageActivityEndEvent.hadActivity && pageActivityEndEvent.end < click.startClocks.timeStamp) {
|
|
98
|
+
// If the clock is looking weird, just discard the click
|
|
99
|
+
click.discard();
|
|
100
|
+
} else {
|
|
101
|
+
if (pageActivityEndEvent.hadActivity) {
|
|
102
|
+
click.stop(pageActivityEndEvent.end);
|
|
103
|
+
} else if (hadActivityOnPointerDown()) {
|
|
104
|
+
click.stop(
|
|
105
|
+
// using the click start as activity end, so the click will have some activity but its
|
|
106
|
+
// duration will be 0 (as the activity started before the click start)
|
|
107
|
+
click.startClocks.timeStamp);
|
|
108
|
+
} else {
|
|
109
|
+
click.stop();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}, _interactionSelectorCache.CLICK_ACTION_MAX_DURATION);
|
|
113
|
+
var stopWaitPageActivityEnd = _waitPageActivityEnd.stop;
|
|
114
|
+
var viewEndedSubscription = lifeCycle.subscribe(_browserCore.LifeCycleEventType.VIEW_ENDED, function (data) {
|
|
115
|
+
click.stop(data.endClocks.timeStamp);
|
|
116
|
+
});
|
|
117
|
+
var stopSubscription = stopObservable.subscribe(function () {
|
|
118
|
+
click.stop();
|
|
119
|
+
});
|
|
120
|
+
click.stopObservable.subscribe(function () {
|
|
121
|
+
viewEndedSubscription.unsubscribe();
|
|
122
|
+
stopWaitPageActivityEnd();
|
|
123
|
+
stopSubscription.unsubscribe();
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
function computeClickActionBase(event, actionNameAttribute) {
|
|
127
|
+
var rect = event.target.getBoundingClientRect();
|
|
128
|
+
var selector = (0, _getSelectorsFromElement.getSelectorFromElement)(event.target, actionNameAttribute);
|
|
129
|
+
if (selector) {
|
|
130
|
+
(0, _interactionSelectorCache.updateInteractionSelector)(event.timeStamp, selector);
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
type: _browserCore.ActionType.CLICK,
|
|
134
|
+
target: {
|
|
135
|
+
width: Math.round(rect.width),
|
|
136
|
+
height: Math.round(rect.height),
|
|
137
|
+
selector: selector
|
|
138
|
+
},
|
|
139
|
+
position: {
|
|
140
|
+
x: Math.round(event.clientX - rect.left),
|
|
141
|
+
y: Math.round(event.clientY - rect.top)
|
|
142
|
+
},
|
|
143
|
+
name: (0, _getActionNameFromElement.getActionNameFromElement)(event.target, actionNameAttribute)
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
var ClickStatus = {
|
|
147
|
+
// Initial state, the click is still ongoing.
|
|
148
|
+
ONGOING: 0,
|
|
149
|
+
// The click is no more ongoing but still needs to be validated or discarded.
|
|
150
|
+
STOPPED: 1,
|
|
151
|
+
// Final state, the click has been stopped and validated or discarded.
|
|
152
|
+
FINALIZED: 2
|
|
153
|
+
};
|
|
154
|
+
function newClick(lifeCycle, history, getUserActivity, clickActionBase, startEvent) {
|
|
155
|
+
var id = (0, _browserCore.UUID)();
|
|
156
|
+
var startClocks = (0, _browserCore.clocksNow)();
|
|
157
|
+
var historyEntry = history.add(id, startClocks.relative);
|
|
158
|
+
var eventCountsSubscription = (0, _trackEventCounts.trackEventCounts)({
|
|
159
|
+
lifeCycle: lifeCycle,
|
|
160
|
+
isChildEvent: function isChildEvent(event) {
|
|
161
|
+
return event.action !== undefined && ((0, _browserCore.isArray)(event.action.ids) ? (0, _browserCore.includes)(event.action.ids, id) : event.action.ids === id);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
var status = ClickStatus.ONGOING;
|
|
165
|
+
var activityEndTime;
|
|
166
|
+
var frustrationTypes = [];
|
|
167
|
+
var stopObservable = new _browserCore.Observable();
|
|
168
|
+
function stop(newActivityEndTime) {
|
|
169
|
+
if (status !== ClickStatus.ONGOING) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
activityEndTime = newActivityEndTime;
|
|
173
|
+
status = ClickStatus.STOPPED;
|
|
174
|
+
if (activityEndTime) {
|
|
175
|
+
historyEntry.close((0, _browserCore.getRelativeTime)(activityEndTime));
|
|
176
|
+
} else {
|
|
177
|
+
historyEntry.remove();
|
|
178
|
+
}
|
|
179
|
+
eventCountsSubscription.stop();
|
|
180
|
+
stopObservable.notify();
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
event: startEvent,
|
|
184
|
+
stop: stop,
|
|
185
|
+
stopObservable: stopObservable,
|
|
186
|
+
hasError: function hasError() {
|
|
187
|
+
return eventCountsSubscription.eventCounts.errorCount > 0;
|
|
188
|
+
},
|
|
189
|
+
hasPageActivity: function hasPageActivity() {
|
|
190
|
+
return activityEndTime !== undefined;
|
|
191
|
+
},
|
|
192
|
+
getUserActivity: getUserActivity,
|
|
193
|
+
addFrustration: function addFrustration(frustrationType) {
|
|
194
|
+
frustrationTypes.push(frustrationType);
|
|
195
|
+
},
|
|
196
|
+
startClocks: startClocks,
|
|
197
|
+
isStopped: function isStopped() {
|
|
198
|
+
return status === ClickStatus.STOPPED || status === ClickStatus.FINALIZED;
|
|
199
|
+
},
|
|
200
|
+
clone: function clone() {
|
|
201
|
+
return newClick(lifeCycle, history, getUserActivity, clickActionBase, startEvent);
|
|
202
|
+
},
|
|
203
|
+
validate: function validate(domEvents) {
|
|
204
|
+
stop();
|
|
205
|
+
if (status !== ClickStatus.STOPPED) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
var _eventCountsSubscription = eventCountsSubscription.eventCounts;
|
|
209
|
+
var resourceCount = _eventCountsSubscription.resourceCount;
|
|
210
|
+
var errorCount = _eventCountsSubscription.errorCount;
|
|
211
|
+
var longTaskCount = _eventCountsSubscription.longTaskCount;
|
|
212
|
+
var clickAction = (0, _browserCore.assign)({
|
|
213
|
+
type: _browserCore.ActionType.CLICK,
|
|
214
|
+
duration: activityEndTime && (0, _browserCore.elapsed)(startClocks.timeStamp, activityEndTime),
|
|
215
|
+
startClocks: startClocks,
|
|
216
|
+
id: id,
|
|
217
|
+
frustrationTypes: frustrationTypes,
|
|
218
|
+
counts: {
|
|
219
|
+
resourceCount: resourceCount,
|
|
220
|
+
errorCount: errorCount,
|
|
221
|
+
longTaskCount: longTaskCount
|
|
222
|
+
},
|
|
223
|
+
events: (0, _browserCore.isNullUndefinedDefaultValue)(domEvents, [startEvent]),
|
|
224
|
+
event: startEvent
|
|
225
|
+
}, clickActionBase);
|
|
226
|
+
lifeCycle.notify(_browserCore.LifeCycleEventType.AUTO_ACTION_COMPLETED, clickAction);
|
|
227
|
+
status = ClickStatus.FINALIZED;
|
|
228
|
+
},
|
|
229
|
+
discard: function discard() {
|
|
230
|
+
stop();
|
|
231
|
+
status = ClickStatus.FINALIZED;
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
function finalizeClicks(clicks, rageClick) {
|
|
236
|
+
var _computeFrustration = (0, _computeFrustration2.computeFrustration)(clicks, rageClick);
|
|
237
|
+
var isRage = _computeFrustration.isRage;
|
|
238
|
+
if (isRage) {
|
|
239
|
+
(0, _browserCore.each)(clicks, function (click) {
|
|
240
|
+
click.discard();
|
|
241
|
+
});
|
|
242
|
+
rageClick.stop((0, _browserCore.timeStampNow)());
|
|
243
|
+
rageClick.validate((0, _browserCore.map)(clicks, function (click) {
|
|
244
|
+
return click.event;
|
|
245
|
+
}));
|
|
246
|
+
} else {
|
|
247
|
+
rageClick.discard();
|
|
248
|
+
(0, _browserCore.each)(clicks, function (click) {
|
|
249
|
+
click.validate();
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=trackClickActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackClickActions.js","names":["_browserCore","require","_trackEventCounts","_waitPageActivityEnd2","_clickChain","_getActionNameFromElement","_getSelectorsFromElement","_listenActionEvents2","_computeFrustration2","_interactionSelectorCache","ACTION_CONTEXT_TIME_OUT_DELAY","exports","ONE_MINUTE","trackClickActions","lifeCycle","domMutationObservable","configuration","history","createValueHistory","expireDelay","stopObservable","Observable","currentClickChain","subscribe","LifeCycleEventType","SESSION_RENEWED","reset","VIEW_ENDED","stopClickChain","_listenActionEvents","listenActionEvents","onPointerDown","pointerDownEvent","processPointerDown","onPointerUp","data","startEvent","getUserActivity","startClickAction","appendClickToClickChain","clickActionBase","hadActivityOnPointerDown","stopActionEventsListener","stop","actionContexts","findActionId","startTime","allIds","findAll","length","undefined","findAllActionId","notify","click","tryAppend","rageClick","clone","createClickChain","clicks","finalizeClicks","computeClickActionBase","actionNameAttribute","waitPageActivityEnd","pageActivityEndEvent","hadActivity","PAGE_ACTIVITY_VALIDATION_DELAY","newClick","selector","target","updateInteractionSelector","timeStamp","_waitPageActivityEnd","end","startClocks","discard","CLICK_ACTION_MAX_DURATION","stopWaitPageActivityEnd","viewEndedSubscription","endClocks","stopSubscription","unsubscribe","event","rect","getBoundingClientRect","getSelectorFromElement","type","ActionType","CLICK","width","Math","round","height","position","x","clientX","left","y","clientY","top","name","getActionNameFromElement","ClickStatus","ONGOING","STOPPED","FINALIZED","id","UUID","clocksNow","historyEntry","add","relative","eventCountsSubscription","trackEventCounts","isChildEvent","action","isArray","ids","includes","status","activityEndTime","frustrationTypes","newActivityEndTime","close","getRelativeTime","remove","hasError","eventCounts","errorCount","hasPageActivity","addFrustration","frustrationType","push","isStopped","validate","domEvents","_eventCountsSubscription","resourceCount","longTaskCount","clickAction","assign","duration","elapsed","counts","events","isNullUndefinedDefaultValue","AUTO_ACTION_COMPLETED","_computeFrustration","computeFrustration","isRage","each","timeStampNow","map"],"sources":["../../../../../rum/src/domain/rumEventsCollection/actions/trackClickActions.js"],"sourcesContent":["import {\n timeStampNow,\n Observable,\n assign,\n getRelativeTime,\n ONE_MINUTE,\n createValueHistory,\n UUID,\n clocksNow,\n ONE_SECOND,\n elapsed,\n each,\n map,\n LifeCycleEventType,\n ActionType,\n isNullUndefinedDefaultValue,\n isArray,\n includes\n} from '@cloudcare/browser-core'\nimport { trackEventCounts } from '../../trackEventCounts'\nimport {\n waitPageActivityEnd,\n PAGE_ACTIVITY_VALIDATION_DELAY\n} from '../../waitPageActivityEnd'\nimport { createClickChain } from './clickChain'\nimport { getActionNameFromElement } from './getActionNameFromElement'\nimport { getSelectorFromElement } from './getSelectorsFromElement'\n// import { getSelectorsFromElement } from './getSelectorsFromElement'\nimport { listenActionEvents } from './listenActionEvents'\nimport { computeFrustration } from './computeFrustration'\nimport {\n CLICK_ACTION_MAX_DURATION,\n updateInteractionSelector\n} from './interactionSelectorCache'\n// Maximum duration for click actions\nexport var ACTION_CONTEXT_TIME_OUT_DELAY = 5 * ONE_MINUTE // arbitrary\n\nexport function trackClickActions(\n lifeCycle,\n domMutationObservable,\n configuration\n) {\n var history = new createValueHistory({\n expireDelay: ACTION_CONTEXT_TIME_OUT_DELAY\n })\n var stopObservable = new Observable()\n var currentClickChain\n\n lifeCycle.subscribe(LifeCycleEventType.SESSION_RENEWED, function () {\n history.reset()\n })\n lifeCycle.subscribe(LifeCycleEventType.VIEW_ENDED, stopClickChain)\n var _listenActionEvents = listenActionEvents({\n onPointerDown: function (pointerDownEvent) {\n return processPointerDown(\n configuration,\n lifeCycle,\n domMutationObservable,\n pointerDownEvent\n )\n },\n onPointerUp: function (data, startEvent, getUserActivity) {\n startClickAction(\n configuration,\n lifeCycle,\n domMutationObservable,\n history,\n stopObservable,\n appendClickToClickChain,\n data.clickActionBase,\n startEvent,\n getUserActivity,\n data.hadActivityOnPointerDown\n )\n }\n })\n var stopActionEventsListener = _listenActionEvents.stop\n var actionContexts = {\n findActionId: function (startTime) {\n const allIds = history.findAll(startTime)\n if (allIds && allIds.length) {\n return allIds[allIds.length - 1]\n }\n return undefined\n },\n findAllActionId: function (startTime) {\n return history.findAll(startTime)\n }\n }\n\n return {\n stop: function () {\n stopClickChain()\n stopObservable.notify()\n stopActionEventsListener()\n },\n actionContexts: actionContexts\n }\n\n function stopClickChain() {\n if (currentClickChain) {\n currentClickChain.stop()\n }\n }\n function appendClickToClickChain(click) {\n if (!currentClickChain || !currentClickChain.tryAppend(click)) {\n var rageClick = click.clone()\n currentClickChain = createClickChain(click, function (clicks) {\n finalizeClicks(clicks, rageClick)\n })\n }\n }\n}\nfunction processPointerDown(\n configuration,\n lifeCycle,\n domMutationObservable,\n pointerDownEvent\n) {\n var clickActionBase = computeClickActionBase(\n pointerDownEvent,\n configuration.actionNameAttribute\n )\n\n var hadActivityOnPointerDown = false\n\n waitPageActivityEnd(\n lifeCycle,\n domMutationObservable,\n configuration,\n function (pageActivityEndEvent) {\n hadActivityOnPointerDown = pageActivityEndEvent.hadActivity\n },\n PAGE_ACTIVITY_VALIDATION_DELAY\n )\n\n return {\n clickActionBase: clickActionBase,\n hadActivityOnPointerDown: function () {\n return hadActivityOnPointerDown\n }\n }\n}\nfunction startClickAction(\n configuration,\n lifeCycle,\n domMutationObservable,\n history,\n stopObservable,\n appendClickToClickChain,\n clickActionBase,\n startEvent,\n getUserActivity,\n hadActivityOnPointerDown\n) {\n var click = newClick(\n lifeCycle,\n history,\n getUserActivity,\n clickActionBase,\n startEvent\n )\n appendClickToClickChain(click)\n var selector =\n clickActionBase && clickActionBase.target && clickActionBase.target.selector\n if (selector) {\n updateInteractionSelector(startEvent.timeStamp, selector)\n }\n var _waitPageActivityEnd = waitPageActivityEnd(\n lifeCycle,\n domMutationObservable,\n configuration,\n function (pageActivityEndEvent) {\n if (\n pageActivityEndEvent.hadActivity &&\n pageActivityEndEvent.end < click.startClocks.timeStamp\n ) {\n // If the clock is looking weird, just discard the click\n click.discard()\n } else {\n if (pageActivityEndEvent.hadActivity) {\n click.stop(pageActivityEndEvent.end)\n } else if (hadActivityOnPointerDown()) {\n click.stop(\n // using the click start as activity end, so the click will have some activity but its\n // duration will be 0 (as the activity started before the click start)\n click.startClocks.timeStamp\n )\n } else {\n click.stop()\n }\n }\n },\n CLICK_ACTION_MAX_DURATION\n )\n var stopWaitPageActivityEnd = _waitPageActivityEnd.stop\n var viewEndedSubscription = lifeCycle.subscribe(\n LifeCycleEventType.VIEW_ENDED,\n function (data) {\n click.stop(data.endClocks.timeStamp)\n }\n )\n\n var stopSubscription = stopObservable.subscribe(function () {\n click.stop()\n })\n\n click.stopObservable.subscribe(function () {\n viewEndedSubscription.unsubscribe()\n stopWaitPageActivityEnd()\n stopSubscription.unsubscribe()\n })\n}\n\nfunction computeClickActionBase(event, actionNameAttribute) {\n var rect = event.target.getBoundingClientRect()\n var selector = getSelectorFromElement(event.target, actionNameAttribute)\n if (selector) {\n updateInteractionSelector(event.timeStamp, selector)\n }\n return {\n type: ActionType.CLICK,\n target: {\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n selector: selector\n },\n position: {\n x: Math.round(event.clientX - rect.left),\n y: Math.round(event.clientY - rect.top)\n },\n name: getActionNameFromElement(event.target, actionNameAttribute)\n }\n}\n\nvar ClickStatus = {\n // Initial state, the click is still ongoing.\n ONGOING: 0,\n // The click is no more ongoing but still needs to be validated or discarded.\n STOPPED: 1,\n // Final state, the click has been stopped and validated or discarded.\n FINALIZED: 2\n}\n\nfunction newClick(\n lifeCycle,\n history,\n getUserActivity,\n clickActionBase,\n startEvent\n) {\n var id = UUID()\n var startClocks = clocksNow()\n var historyEntry = history.add(id, startClocks.relative)\n var eventCountsSubscription = trackEventCounts({\n lifeCycle: lifeCycle,\n isChildEvent: function (event) {\n return (\n event.action !== undefined &&\n (isArray(event.action.ids)\n ? includes(event.action.ids, id)\n : event.action.ids === id)\n )\n }\n })\n var status = ClickStatus.ONGOING\n var activityEndTime\n var frustrationTypes = []\n var stopObservable = new Observable()\n\n function stop(newActivityEndTime) {\n if (status !== ClickStatus.ONGOING) {\n return\n }\n activityEndTime = newActivityEndTime\n status = ClickStatus.STOPPED\n if (activityEndTime) {\n historyEntry.close(getRelativeTime(activityEndTime))\n } else {\n historyEntry.remove()\n }\n eventCountsSubscription.stop()\n stopObservable.notify()\n }\n\n return {\n event: startEvent,\n stop: stop,\n stopObservable: stopObservable,\n hasError: function () {\n return eventCountsSubscription.eventCounts.errorCount > 0\n },\n hasPageActivity: function () {\n return activityEndTime !== undefined\n },\n getUserActivity: getUserActivity,\n addFrustration: function (frustrationType) {\n frustrationTypes.push(frustrationType)\n },\n startClocks: startClocks,\n isStopped: function () {\n return status === ClickStatus.STOPPED || status === ClickStatus.FINALIZED\n },\n\n clone: function () {\n return newClick(\n lifeCycle,\n history,\n getUserActivity,\n clickActionBase,\n startEvent\n )\n },\n\n validate: function (domEvents) {\n stop()\n if (status !== ClickStatus.STOPPED) {\n return\n }\n var _eventCountsSubscription = eventCountsSubscription.eventCounts\n var resourceCount = _eventCountsSubscription.resourceCount\n var errorCount = _eventCountsSubscription.errorCount\n var longTaskCount = _eventCountsSubscription.longTaskCount\n var clickAction = assign(\n {\n type: ActionType.CLICK,\n duration:\n activityEndTime && elapsed(startClocks.timeStamp, activityEndTime),\n startClocks: startClocks,\n id: id,\n frustrationTypes: frustrationTypes,\n counts: {\n resourceCount: resourceCount,\n errorCount: errorCount,\n longTaskCount: longTaskCount\n },\n events: isNullUndefinedDefaultValue(domEvents, [startEvent]),\n event: startEvent\n },\n clickActionBase\n )\n lifeCycle.notify(LifeCycleEventType.AUTO_ACTION_COMPLETED, clickAction)\n status = ClickStatus.FINALIZED\n },\n\n discard: function () {\n stop()\n status = ClickStatus.FINALIZED\n }\n }\n}\n\nexport function finalizeClicks(clicks, rageClick) {\n var _computeFrustration = computeFrustration(clicks, rageClick)\n var isRage = _computeFrustration.isRage\n if (isRage) {\n each(clicks, function (click) {\n click.discard()\n })\n rageClick.stop(timeStampNow())\n rageClick.validate(\n map(clicks, function (click) {\n return click.event\n })\n )\n } else {\n rageClick.discard()\n each(clicks, function (click) {\n click.validate()\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.doStartErrorCollection = doStartErrorCollection;
|
|
7
|
+
exports.startErrorCollection = startErrorCollection;
|
|
8
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
9
|
+
var _trackConsoleError = require("./trackConsoleError");
|
|
10
|
+
var _trackReportError = require("./trackReportError");
|
|
11
|
+
var _pageStateHistory = require("../../contexts/pageStateHistory");
|
|
12
|
+
function startErrorCollection(lifeCycle, configuration, sessionManager, pageStateHistory) {
|
|
13
|
+
var errorObservable = new _browserCore.Observable();
|
|
14
|
+
(0, _trackConsoleError.trackConsoleError)(errorObservable);
|
|
15
|
+
(0, _browserCore.trackRuntimeError)(errorObservable);
|
|
16
|
+
(0, _trackReportError.trackReportError)(configuration, errorObservable);
|
|
17
|
+
var session = sessionManager.findTrackedSession();
|
|
18
|
+
var hasError = session && session.isErrorSession && session.sessionHasError;
|
|
19
|
+
if (session && session.isErrorSession) {
|
|
20
|
+
lifeCycle.subscribe(_browserCore.LifeCycleEventType.SESSION_RENEWED, function () {
|
|
21
|
+
hasError = false;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
errorObservable.subscribe(function (error) {
|
|
25
|
+
if (session && session.isErrorSession && !hasError) {
|
|
26
|
+
sessionManager.setErrorForSession();
|
|
27
|
+
hasError = true;
|
|
28
|
+
}
|
|
29
|
+
lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_ERROR_COLLECTED, {
|
|
30
|
+
error: error
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
return doStartErrorCollection(lifeCycle, pageStateHistory);
|
|
34
|
+
}
|
|
35
|
+
function doStartErrorCollection(lifeCycle, pageStateHistory) {
|
|
36
|
+
lifeCycle.subscribe(_browserCore.LifeCycleEventType.RAW_ERROR_COLLECTED, function (error) {
|
|
37
|
+
lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, (0, _browserCore.assign)({
|
|
38
|
+
customerContext: error.customerContext,
|
|
39
|
+
savedCommonContext: error.savedCommonContext
|
|
40
|
+
}, processError(error.error, pageStateHistory)));
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
addError: function addError(providedError, savedCommonContext) {
|
|
44
|
+
var error = providedError.error;
|
|
45
|
+
var stackTrace = error instanceof Error ? (0, _browserCore.computeStackTrace)(error) : undefined;
|
|
46
|
+
var rawError = (0, _browserCore.computeRawError)({
|
|
47
|
+
stackTrace: stackTrace,
|
|
48
|
+
originalError: error,
|
|
49
|
+
handlingStack: providedError.handlingStack,
|
|
50
|
+
startClocks: providedError.startClocks,
|
|
51
|
+
nonErrorPrefix: _browserCore.NonErrorPrefix.PROVIDED,
|
|
52
|
+
source: _browserCore.ErrorSource.CUSTOM,
|
|
53
|
+
handling: _browserCore.ErrorHandling.HANDLED
|
|
54
|
+
});
|
|
55
|
+
lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_ERROR_COLLECTED, {
|
|
56
|
+
customerContext: providedError.context,
|
|
57
|
+
savedCommonContext: savedCommonContext,
|
|
58
|
+
error: rawError
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function processError(error, pageStateHistory) {
|
|
64
|
+
var rawRumEvent = {
|
|
65
|
+
date: error.startClocks.timeStamp,
|
|
66
|
+
error: {
|
|
67
|
+
id: (0, _browserCore.UUID)(),
|
|
68
|
+
message: error.message,
|
|
69
|
+
source: error.source,
|
|
70
|
+
stack: error.stack,
|
|
71
|
+
handling_stack: error.handlingStack,
|
|
72
|
+
type: error.type,
|
|
73
|
+
handling: error.handling,
|
|
74
|
+
causes: error.causes,
|
|
75
|
+
source_type: 'browser'
|
|
76
|
+
},
|
|
77
|
+
type: _browserCore.RumEventType.ERROR,
|
|
78
|
+
view: {
|
|
79
|
+
in_foreground: pageStateHistory.wasInPageStateAt(_pageStateHistory.PageState.ACTIVE, error.startClocks.relative)
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
return {
|
|
83
|
+
rawRumEvent: rawRumEvent,
|
|
84
|
+
startTime: error.startClocks.relative,
|
|
85
|
+
domainContext: {
|
|
86
|
+
error: error.originalError
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=errorCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorCollection.js","names":["_browserCore","require","_trackConsoleError","_trackReportError","_pageStateHistory","startErrorCollection","lifeCycle","configuration","sessionManager","pageStateHistory","errorObservable","Observable","trackConsoleError","trackRuntimeError","trackReportError","session","findTrackedSession","hasError","isErrorSession","sessionHasError","subscribe","LifeCycleEventType","SESSION_RENEWED","error","setErrorForSession","notify","RAW_ERROR_COLLECTED","doStartErrorCollection","RAW_RUM_EVENT_COLLECTED","assign","customerContext","savedCommonContext","processError","addError","providedError","stackTrace","Error","computeStackTrace","undefined","rawError","computeRawError","originalError","handlingStack","startClocks","nonErrorPrefix","NonErrorPrefix","PROVIDED","source","ErrorSource","CUSTOM","handling","ErrorHandling","HANDLED","context","rawRumEvent","date","timeStamp","id","UUID","message","stack","handling_stack","type","causes","source_type","RumEventType","ERROR","view","in_foreground","wasInPageStateAt","PageState","ACTIVE","relative","startTime","domainContext"],"sources":["../../../../../rum/src/domain/rumEventsCollection/error/errorCollection.js"],"sourcesContent":["import {\n assign,\n computeStackTrace,\n computeRawError,\n ErrorSource,\n UUID,\n ErrorHandling,\n Observable,\n trackRuntimeError,\n RumEventType,\n LifeCycleEventType,\n NonErrorPrefix\n} from '@cloudcare/browser-core'\nimport { trackConsoleError } from './trackConsoleError'\nimport { trackReportError } from './trackReportError'\nimport { PageState } from '../../contexts/pageStateHistory'\n\nexport function startErrorCollection(\n lifeCycle,\n configuration,\n sessionManager,\n pageStateHistory\n) {\n var errorObservable = new Observable()\n\n trackConsoleError(errorObservable)\n trackRuntimeError(errorObservable)\n trackReportError(configuration, errorObservable)\n var session = sessionManager.findTrackedSession()\n let hasError = session && session.isErrorSession && session.sessionHasError\n if (session && session.isErrorSession) {\n lifeCycle.subscribe(LifeCycleEventType.SESSION_RENEWED, function () {\n hasError = false\n })\n }\n\n errorObservable.subscribe(function (error) {\n if (session && session.isErrorSession && !hasError) {\n sessionManager.setErrorForSession()\n hasError = true\n }\n lifeCycle.notify(LifeCycleEventType.RAW_ERROR_COLLECTED, { error: error })\n })\n\n return doStartErrorCollection(lifeCycle, pageStateHistory)\n}\n\nexport function doStartErrorCollection(lifeCycle, pageStateHistory) {\n lifeCycle.subscribe(LifeCycleEventType.RAW_ERROR_COLLECTED, function (error) {\n lifeCycle.notify(\n LifeCycleEventType.RAW_RUM_EVENT_COLLECTED,\n assign(\n {\n customerContext: error.customerContext,\n savedCommonContext: error.savedCommonContext\n },\n processError(error.error, pageStateHistory)\n )\n )\n })\n\n return {\n addError: function (providedError, savedCommonContext) {\n var error = providedError.error\n var stackTrace =\n error instanceof Error ? computeStackTrace(error) : undefined\n var rawError = computeRawError({\n stackTrace,\n originalError: error,\n handlingStack: providedError.handlingStack,\n startClocks: providedError.startClocks,\n nonErrorPrefix: NonErrorPrefix.PROVIDED,\n source: ErrorSource.CUSTOM,\n handling: ErrorHandling.HANDLED\n })\n lifeCycle.notify(LifeCycleEventType.RAW_ERROR_COLLECTED, {\n customerContext: providedError.context,\n savedCommonContext: savedCommonContext,\n error: rawError\n })\n }\n }\n}\n\nfunction processError(error, pageStateHistory) {\n var rawRumEvent = {\n date: error.startClocks.timeStamp,\n error: {\n id: UUID(),\n message: error.message,\n source: error.source,\n stack: error.stack,\n handling_stack: error.handlingStack,\n type: error.type,\n handling: error.handling,\n causes: error.causes,\n source_type: 'browser'\n },\n type: RumEventType.ERROR,\n view: {\n in_foreground: pageStateHistory.wasInPageStateAt(\n PageState.ACTIVE,\n error.startClocks.relative\n )\n }\n }\n\n return {\n rawRumEvent: rawRumEvent,\n startTime: error.startClocks.relative,\n domainContext: {\n error: error.originalError\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAaA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAEO,SAASI,oBAAoBA,CAClCC,SAAS,EACTC,aAAa,EACbC,cAAc,EACdC,gBAAgB,EAChB;EACA,IAAIC,eAAe,GAAG,IAAIC,uBAAU,CAAC,CAAC;EAEtC,IAAAC,oCAAiB,EAACF,eAAe,CAAC;EAClC,IAAAG,8BAAiB,EAACH,eAAe,CAAC;EAClC,IAAAI,kCAAgB,EAACP,aAAa,EAAEG,eAAe,CAAC;EAChD,IAAIK,OAAO,GAAGP,cAAc,CAACQ,kBAAkB,CAAC,CAAC;EACjD,IAAIC,QAAQ,GAAGF,OAAO,IAAIA,OAAO,CAACG,cAAc,IAAIH,OAAO,CAACI,eAAe;EAC3E,IAAIJ,OAAO,IAAIA,OAAO,CAACG,cAAc,EAAE;IACrCZ,SAAS,CAACc,SAAS,CAACC,+BAAkB,CAACC,eAAe,EAAE,YAAY;MAClEL,QAAQ,GAAG,KAAK;IAClB,CAAC,CAAC;EACJ;EAEAP,eAAe,CAACU,SAAS,CAAC,UAAUG,KAAK,EAAE;IACzC,IAAIR,OAAO,IAAIA,OAAO,CAACG,cAAc,IAAI,CAACD,QAAQ,EAAE;MAClDT,cAAc,CAACgB,kBAAkB,CAAC,CAAC;MACnCP,QAAQ,GAAG,IAAI;IACjB;IACAX,SAAS,CAACmB,MAAM,CAACJ,+BAAkB,CAACK,mBAAmB,EAAE;MAAEH,KAAK,EAAEA;IAAM,CAAC,CAAC;EAC5E,CAAC,CAAC;EAEF,OAAOI,sBAAsB,CAACrB,SAAS,EAAEG,gBAAgB,CAAC;AAC5D;AAEO,SAASkB,sBAAsBA,CAACrB,SAAS,EAAEG,gBAAgB,EAAE;EAClEH,SAAS,CAACc,SAAS,CAACC,+BAAkB,CAACK,mBAAmB,EAAE,UAAUH,KAAK,EAAE;IAC3EjB,SAAS,CAACmB,MAAM,CACdJ,+BAAkB,CAACO,uBAAuB,EAC1C,IAAAC,mBAAM,EACJ;MACEC,eAAe,EAAEP,KAAK,CAACO,eAAe;MACtCC,kBAAkB,EAAER,KAAK,CAACQ;IAC5B,CAAC,EACDC,YAAY,CAACT,KAAK,CAACA,KAAK,EAAEd,gBAAgB,CAC5C,CACF,CAAC;EACH,CAAC,CAAC;EAEF,OAAO;IACLwB,QAAQ,EAAE,SAAVA,QAAQA,CAAYC,aAAa,EAAEH,kBAAkB,EAAE;MACrD,IAAIR,KAAK,GAAGW,aAAa,CAACX,KAAK;MAC/B,IAAIY,UAAU,GACZZ,KAAK,YAAYa,KAAK,GAAG,IAAAC,8BAAiB,EAACd,KAAK,CAAC,GAAGe,SAAS;MAC/D,IAAIC,QAAQ,GAAG,IAAAC,4BAAe,EAAC;QAC7BL,UAAU,EAAVA,UAAU;QACVM,aAAa,EAAElB,KAAK;QACpBmB,aAAa,EAAER,aAAa,CAACQ,aAAa;QAC1CC,WAAW,EAAET,aAAa,CAACS,WAAW;QACtCC,cAAc,EAAEC,2BAAc,CAACC,QAAQ;QACvCC,MAAM,EAAEC,wBAAW,CAACC,MAAM;QAC1BC,QAAQ,EAAEC,0BAAa,CAACC;MAC1B,CAAC,CAAC;MACF9C,SAAS,CAACmB,MAAM,CAACJ,+BAAkB,CAACK,mBAAmB,EAAE;QACvDI,eAAe,EAAEI,aAAa,CAACmB,OAAO;QACtCtB,kBAAkB,EAAEA,kBAAkB;QACtCR,KAAK,EAAEgB;MACT,CAAC,CAAC;IACJ;EACF,CAAC;AACH;AAEA,SAASP,YAAYA,CAACT,KAAK,EAAEd,gBAAgB,EAAE;EAC7C,IAAI6C,WAAW,GAAG;IAChBC,IAAI,EAAEhC,KAAK,CAACoB,WAAW,CAACa,SAAS;IACjCjC,KAAK,EAAE;MACLkC,EAAE,EAAE,IAAAC,iBAAI,EAAC,CAAC;MACVC,OAAO,EAAEpC,KAAK,CAACoC,OAAO;MACtBZ,MAAM,EAAExB,KAAK,CAACwB,MAAM;MACpBa,KAAK,EAAErC,KAAK,CAACqC,KAAK;MAClBC,cAAc,EAAEtC,KAAK,CAACmB,aAAa;MACnCoB,IAAI,EAAEvC,KAAK,CAACuC,IAAI;MAChBZ,QAAQ,EAAE3B,KAAK,CAAC2B,QAAQ;MACxBa,MAAM,EAAExC,KAAK,CAACwC,MAAM;MACpBC,WAAW,EAAE;IACf,CAAC;IACDF,IAAI,EAAEG,yBAAY,CAACC,KAAK;IACxBC,IAAI,EAAE;MACJC,aAAa,EAAE3D,gBAAgB,CAAC4D,gBAAgB,CAC9CC,2BAAS,CAACC,MAAM,EAChBhD,KAAK,CAACoB,WAAW,CAAC6B,QACpB;IACF;EACF,CAAC;EAED,OAAO;IACLlB,WAAW,EAAEA,WAAW;IACxBmB,SAAS,EAAElD,KAAK,CAACoB,WAAW,CAAC6B,QAAQ;IACrCE,aAAa,EAAE;MACbnD,KAAK,EAAEA,KAAK,CAACkB;IACf;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.trackConsoleError = trackConsoleError;
|
|
7
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
8
|
+
function trackConsoleError(errorObservable) {
|
|
9
|
+
var subscription = (0, _browserCore.initConsoleObservable)([_browserCore.ConsoleApiName.error]).subscribe(function (consoleLog) {
|
|
10
|
+
errorObservable.notify(consoleLog.error);
|
|
11
|
+
});
|
|
12
|
+
return {
|
|
13
|
+
stop: function stop() {
|
|
14
|
+
subscription.unsubscribe();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=trackConsoleError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackConsoleError.js","names":["_browserCore","require","trackConsoleError","errorObservable","subscription","initConsoleObservable","ConsoleApiName","error","subscribe","consoleLog","notify","stop","unsubscribe"],"sources":["../../../../../rum/src/domain/rumEventsCollection/error/trackConsoleError.js"],"sourcesContent":["import { initConsoleObservable, ConsoleApiName } from '@cloudcare/browser-core'\n\nexport function trackConsoleError(errorObservable) {\n var subscription = initConsoleObservable([ConsoleApiName.error]).subscribe(\n function (consoleLog) {\n errorObservable.notify(consoleLog.error)\n }\n )\n\n return {\n stop: function () {\n subscription.unsubscribe()\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,SAASC,iBAAiBA,CAACC,eAAe,EAAE;EACjD,IAAIC,YAAY,GAAG,IAAAC,kCAAqB,EAAC,CAACC,2BAAc,CAACC,KAAK,CAAC,CAAC,CAACC,SAAS,CACxE,UAAUC,UAAU,EAAE;IACpBN,eAAe,CAACO,MAAM,CAACD,UAAU,CAACF,KAAK,CAAC;EAC1C,CACF,CAAC;EAED,OAAO;IACLI,IAAI,EAAE,SAANA,IAAIA,CAAA,EAAc;MAChBP,YAAY,CAACQ,WAAW,CAAC,CAAC;IAC5B;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.trackReportError = trackReportError;
|
|
7
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
8
|
+
function trackReportError(configuration, errorObservable) {
|
|
9
|
+
var subscription = (0, _browserCore.initReportObservable)(configuration, [_browserCore.RawReportType.cspViolation, _browserCore.RawReportType.intervention]).subscribe(function (reportError) {
|
|
10
|
+
errorObservable.notify({
|
|
11
|
+
startClocks: (0, _browserCore.clocksNow)(),
|
|
12
|
+
message: reportError.message,
|
|
13
|
+
stack: reportError.stack,
|
|
14
|
+
type: reportError.type,
|
|
15
|
+
source: _browserCore.ErrorSource.REPORT,
|
|
16
|
+
handling: _browserCore.ErrorHandling.UNHANDLED
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
return {
|
|
20
|
+
stop: function stop() {
|
|
21
|
+
subscription.unsubscribe();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=trackReportError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackReportError.js","names":["_browserCore","require","trackReportError","configuration","errorObservable","subscription","initReportObservable","RawReportType","cspViolation","intervention","subscribe","reportError","notify","startClocks","clocksNow","message","stack","type","source","ErrorSource","REPORT","handling","ErrorHandling","UNHANDLED","stop","unsubscribe"],"sources":["../../../../../rum/src/domain/rumEventsCollection/error/trackReportError.js"],"sourcesContent":["import {\n clocksNow,\n ErrorHandling,\n ErrorSource,\n initReportObservable,\n RawReportType\n} from '@cloudcare/browser-core'\n\nexport function trackReportError(configuration, errorObservable) {\n var subscription = initReportObservable(configuration, [\n RawReportType.cspViolation,\n RawReportType.intervention\n ]).subscribe(function (reportError) {\n errorObservable.notify({\n startClocks: clocksNow(),\n message: reportError.message,\n stack: reportError.stack,\n type: reportError.type,\n source: ErrorSource.REPORT,\n handling: ErrorHandling.UNHANDLED\n })\n })\n\n return {\n stop: function () {\n subscription.unsubscribe()\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQO,SAASC,gBAAgBA,CAACC,aAAa,EAAEC,eAAe,EAAE;EAC/D,IAAIC,YAAY,GAAG,IAAAC,iCAAoB,EAACH,aAAa,EAAE,CACrDI,0BAAa,CAACC,YAAY,EAC1BD,0BAAa,CAACE,YAAY,CAC3B,CAAC,CAACC,SAAS,CAAC,UAAUC,WAAW,EAAE;IAClCP,eAAe,CAACQ,MAAM,CAAC;MACrBC,WAAW,EAAE,IAAAC,sBAAS,EAAC,CAAC;MACxBC,OAAO,EAAEJ,WAAW,CAACI,OAAO;MAC5BC,KAAK,EAAEL,WAAW,CAACK,KAAK;MACxBC,IAAI,EAAEN,WAAW,CAACM,IAAI;MACtBC,MAAM,EAAEC,wBAAW,CAACC,MAAM;MAC1BC,QAAQ,EAAEC,0BAAa,CAACC;IAC1B,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLC,IAAI,EAAE,SAANA,IAAIA,CAAA,EAAc;MAChBnB,YAAY,CAACoB,WAAW,CAAC,CAAC;IAC5B;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.startLongAnimationFrameCollection = startLongAnimationFrameCollection;
|
|
7
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
8
|
+
var _performanceObservable = require("../../performanceObservable");
|
|
9
|
+
function startLongAnimationFrameCollection(lifeCycle, configuration) {
|
|
10
|
+
var performanceResourceSubscription = (0, _performanceObservable.createPerformanceObservable)(configuration, {
|
|
11
|
+
type: _performanceObservable.RumPerformanceEntryType.LONG_ANIMATION_FRAME,
|
|
12
|
+
buffered: true
|
|
13
|
+
}).subscribe(function (entries) {
|
|
14
|
+
for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
|
|
15
|
+
var entry = entries_1[_i];
|
|
16
|
+
var startClocks = (0, _browserCore.relativeToClocks)(entry.startTime);
|
|
17
|
+
var rawRumEvent = {
|
|
18
|
+
date: startClocks.timeStamp,
|
|
19
|
+
longTask: {
|
|
20
|
+
id: (0, _browserCore.UUID)(),
|
|
21
|
+
entryType: _browserCore.RumLongTaskEntryType.LONG_ANIMATION_FRAME,
|
|
22
|
+
duration: (0, _browserCore.toServerDuration)(entry.duration),
|
|
23
|
+
blockingDuration: (0, _browserCore.toServerDuration)(entry.blockingDuration),
|
|
24
|
+
firstUiEventTimestamp: (0, _browserCore.toServerDuration)(entry.firstUIEventTimestamp),
|
|
25
|
+
renderStart: (0, _browserCore.toServerDuration)(entry.renderStart),
|
|
26
|
+
styleAndLayoutStart: (0, _browserCore.toServerDuration)(entry.styleAndLayoutStart),
|
|
27
|
+
startTime: (0, _browserCore.toServerDuration)(entry.startTime),
|
|
28
|
+
scripts: entry.scripts.map(function (script) {
|
|
29
|
+
return {
|
|
30
|
+
duration: (0, _browserCore.toServerDuration)(script.duration),
|
|
31
|
+
pause_duration: (0, _browserCore.toServerDuration)(script.pauseDuration),
|
|
32
|
+
forced_style_and_layout_duration: (0, _browserCore.toServerDuration)(script.forcedStyleAndLayoutDuration),
|
|
33
|
+
start_time: (0, _browserCore.toServerDuration)(script.startTime),
|
|
34
|
+
execution_start: (0, _browserCore.toServerDuration)(script.executionStart),
|
|
35
|
+
source_url: script.sourceURL,
|
|
36
|
+
source_function_name: script.sourceFunctionName,
|
|
37
|
+
source_char_position: script.sourceCharPosition,
|
|
38
|
+
invoker: script.invoker,
|
|
39
|
+
invoker_type: script.invokerType,
|
|
40
|
+
window_attribution: script.windowAttribution
|
|
41
|
+
};
|
|
42
|
+
})
|
|
43
|
+
},
|
|
44
|
+
type: _browserCore.RumEventType.LONG_TASK
|
|
45
|
+
};
|
|
46
|
+
lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, {
|
|
47
|
+
rawRumEvent: rawRumEvent,
|
|
48
|
+
startTime: startClocks.relative,
|
|
49
|
+
domainContext: {
|
|
50
|
+
performanceEntry: entry
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
stop: function stop() {
|
|
57
|
+
performanceResourceSubscription.unsubscribe();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=longAnimationFrameCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"longAnimationFrameCollection.js","names":["_browserCore","require","_performanceObservable","startLongAnimationFrameCollection","lifeCycle","configuration","performanceResourceSubscription","createPerformanceObservable","type","RumPerformanceEntryType","LONG_ANIMATION_FRAME","buffered","subscribe","entries","_i","entries_1","length","entry","startClocks","relativeToClocks","startTime","rawRumEvent","date","timeStamp","longTask","id","UUID","entryType","RumLongTaskEntryType","duration","toServerDuration","blockingDuration","firstUiEventTimestamp","firstUIEventTimestamp","renderStart","styleAndLayoutStart","scripts","map","script","pause_duration","pauseDuration","forced_style_and_layout_duration","forcedStyleAndLayoutDuration","start_time","execution_start","executionStart","source_url","sourceURL","source_function_name","sourceFunctionName","source_char_position","sourceCharPosition","invoker","invoker_type","invokerType","window_attribution","windowAttribution","RumEventType","LONG_TASK","notify","LifeCycleEventType","RAW_RUM_EVENT_COLLECTED","relative","domainContext","performanceEntry","stop","unsubscribe"],"sources":["../../../../../rum/src/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js"],"sourcesContent":["import {\n toServerDuration,\n relativeToClocks,\n UUID,\n LifeCycleEventType,\n RumLongTaskEntryType,\n RumEventType\n} from '@cloudcare/browser-core'\nimport {\n createPerformanceObservable,\n RumPerformanceEntryType\n} from '../../performanceObservable'\n\nexport function startLongAnimationFrameCollection(lifeCycle, configuration) {\n const performanceResourceSubscription = createPerformanceObservable(\n configuration,\n {\n type: RumPerformanceEntryType.LONG_ANIMATION_FRAME,\n buffered: true\n }\n ).subscribe((entries) => {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i]\n const startClocks = relativeToClocks(entry.startTime)\n const rawRumEvent = {\n date: startClocks.timeStamp,\n longTask: {\n id: UUID(),\n entryType: RumLongTaskEntryType.LONG_ANIMATION_FRAME,\n duration: toServerDuration(entry.duration),\n blockingDuration: toServerDuration(entry.blockingDuration),\n firstUiEventTimestamp: toServerDuration(entry.firstUIEventTimestamp),\n renderStart: toServerDuration(entry.renderStart),\n styleAndLayoutStart: toServerDuration(entry.styleAndLayoutStart),\n startTime: toServerDuration(entry.startTime),\n scripts: entry.scripts.map(function (script) {\n return {\n duration: toServerDuration(script.duration),\n pause_duration: toServerDuration(script.pauseDuration),\n forced_style_and_layout_duration: toServerDuration(\n script.forcedStyleAndLayoutDuration\n ),\n start_time: toServerDuration(script.startTime),\n execution_start: toServerDuration(script.executionStart),\n source_url: script.sourceURL,\n source_function_name: script.sourceFunctionName,\n source_char_position: script.sourceCharPosition,\n invoker: script.invoker,\n invoker_type: script.invokerType,\n window_attribution: script.windowAttribution\n }\n })\n },\n type: RumEventType.LONG_TASK\n }\n\n lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, {\n rawRumEvent,\n startTime: startClocks.relative,\n domainContext: { performanceEntry: entry }\n })\n }\n })\n\n return {\n stop: function () {\n performanceResourceSubscription.unsubscribe()\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQA,IAAAC,sBAAA,GAAAD,OAAA;AAKO,SAASE,iCAAiCA,CAACC,SAAS,EAAEC,aAAa,EAAE;EAC1E,IAAMC,+BAA+B,GAAG,IAAAC,kDAA2B,EACjEF,aAAa,EACb;IACEG,IAAI,EAAEC,8CAAuB,CAACC,oBAAoB;IAClDC,QAAQ,EAAE;EACZ,CACF,CAAC,CAACC,SAAS,CAAC,UAACC,OAAO,EAAK;IACvB,KAAK,IAAIC,EAAE,GAAG,CAAC,EAAEC,SAAS,GAAGF,OAAO,EAAEC,EAAE,GAAGC,SAAS,CAACC,MAAM,EAAEF,EAAE,EAAE,EAAE;MACjE,IAAIG,KAAK,GAAGF,SAAS,CAACD,EAAE,CAAC;MACzB,IAAMI,WAAW,GAAG,IAAAC,6BAAgB,EAACF,KAAK,CAACG,SAAS,CAAC;MACrD,IAAMC,WAAW,GAAG;QAClBC,IAAI,EAAEJ,WAAW,CAACK,SAAS;QAC3BC,QAAQ,EAAE;UACRC,EAAE,EAAE,IAAAC,iBAAI,EAAC,CAAC;UACVC,SAAS,EAAEC,iCAAoB,CAAClB,oBAAoB;UACpDmB,QAAQ,EAAE,IAAAC,6BAAgB,EAACb,KAAK,CAACY,QAAQ,CAAC;UAC1CE,gBAAgB,EAAE,IAAAD,6BAAgB,EAACb,KAAK,CAACc,gBAAgB,CAAC;UAC1DC,qBAAqB,EAAE,IAAAF,6BAAgB,EAACb,KAAK,CAACgB,qBAAqB,CAAC;UACpEC,WAAW,EAAE,IAAAJ,6BAAgB,EAACb,KAAK,CAACiB,WAAW,CAAC;UAChDC,mBAAmB,EAAE,IAAAL,6BAAgB,EAACb,KAAK,CAACkB,mBAAmB,CAAC;UAChEf,SAAS,EAAE,IAAAU,6BAAgB,EAACb,KAAK,CAACG,SAAS,CAAC;UAC5CgB,OAAO,EAAEnB,KAAK,CAACmB,OAAO,CAACC,GAAG,CAAC,UAAUC,MAAM,EAAE;YAC3C,OAAO;cACLT,QAAQ,EAAE,IAAAC,6BAAgB,EAACQ,MAAM,CAACT,QAAQ,CAAC;cAC3CU,cAAc,EAAE,IAAAT,6BAAgB,EAACQ,MAAM,CAACE,aAAa,CAAC;cACtDC,gCAAgC,EAAE,IAAAX,6BAAgB,EAChDQ,MAAM,CAACI,4BACT,CAAC;cACDC,UAAU,EAAE,IAAAb,6BAAgB,EAACQ,MAAM,CAAClB,SAAS,CAAC;cAC9CwB,eAAe,EAAE,IAAAd,6BAAgB,EAACQ,MAAM,CAACO,cAAc,CAAC;cACxDC,UAAU,EAAER,MAAM,CAACS,SAAS;cAC5BC,oBAAoB,EAAEV,MAAM,CAACW,kBAAkB;cAC/CC,oBAAoB,EAAEZ,MAAM,CAACa,kBAAkB;cAC/CC,OAAO,EAAEd,MAAM,CAACc,OAAO;cACvBC,YAAY,EAAEf,MAAM,CAACgB,WAAW;cAChCC,kBAAkB,EAAEjB,MAAM,CAACkB;YAC7B,CAAC;UACH,CAAC;QACH,CAAC;QACDhD,IAAI,EAAEiD,yBAAY,CAACC;MACrB,CAAC;MAEDtD,SAAS,CAACuD,MAAM,CAACC,+BAAkB,CAACC,uBAAuB,EAAE;QAC3DxC,WAAW,EAAXA,WAAW;QACXD,SAAS,EAAEF,WAAW,CAAC4C,QAAQ;QAC/BC,aAAa,EAAE;UAAEC,gBAAgB,EAAE/C;QAAM;MAC3C,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEF,OAAO;IACLgD,IAAI,EAAE,SAANA,IAAIA,CAAA,EAAc;MAChB3D,+BAA+B,CAAC4D,WAAW,CAAC,CAAC;IAC/C;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.startLongTaskCollection = startLongTaskCollection;
|
|
7
|
+
var _browserCore = require("@cloudcare/browser-core");
|
|
8
|
+
var _performanceObservable = require("../../performanceObservable");
|
|
9
|
+
function startLongTaskCollection(lifeCycle, configuration) {
|
|
10
|
+
var performanceLongTaskSubscription = (0, _performanceObservable.createPerformanceObservable)(configuration, {
|
|
11
|
+
type: _performanceObservable.RumPerformanceEntryType.LONG_TASK,
|
|
12
|
+
buffered: true
|
|
13
|
+
}).subscribe(function (entries) {
|
|
14
|
+
for (var i = 0; i < entries.length; i++) {
|
|
15
|
+
var entry = entries[i];
|
|
16
|
+
if (entry.entryType !== _performanceObservable.RumPerformanceEntryType.LONG_TASK) {
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
var startClocks = (0, _browserCore.relativeToClocks)(entry.startTime);
|
|
20
|
+
var rawRumEvent = {
|
|
21
|
+
date: startClocks.timeStamp,
|
|
22
|
+
longTask: {
|
|
23
|
+
id: (0, _browserCore.UUID)(),
|
|
24
|
+
entryType: _browserCore.RumLongTaskEntryType.LONG_TASK,
|
|
25
|
+
duration: (0, _browserCore.toServerDuration)(entry.duration)
|
|
26
|
+
},
|
|
27
|
+
type: _browserCore.RumEventType.LONG_TASK
|
|
28
|
+
};
|
|
29
|
+
lifeCycle.notify(_browserCore.LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, {
|
|
30
|
+
rawRumEvent: rawRumEvent,
|
|
31
|
+
startTime: startClocks.relative,
|
|
32
|
+
domainContext: {
|
|
33
|
+
performanceEntry: entry
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return {
|
|
39
|
+
stop: function stop() {
|
|
40
|
+
performanceLongTaskSubscription.unsubscribe();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=longTaskCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"longTaskCollection.js","names":["_browserCore","require","_performanceObservable","startLongTaskCollection","lifeCycle","configuration","performanceLongTaskSubscription","createPerformanceObservable","type","RumPerformanceEntryType","LONG_TASK","buffered","subscribe","entries","i","length","entry","entryType","startClocks","relativeToClocks","startTime","rawRumEvent","date","timeStamp","longTask","id","UUID","RumLongTaskEntryType","duration","toServerDuration","RumEventType","notify","LifeCycleEventType","RAW_RUM_EVENT_COLLECTED","relative","domainContext","performanceEntry","stop","unsubscribe"],"sources":["../../../../../rum/src/domain/rumEventsCollection/longTask/longTaskCollection.js"],"sourcesContent":["import {\n toServerDuration,\n relativeToClocks,\n RumEventType,\n LifeCycleEventType,\n UUID,\n RumLongTaskEntryType\n} from '@cloudcare/browser-core'\nimport {\n RumPerformanceEntryType,\n createPerformanceObservable\n} from '../../performanceObservable'\nexport function startLongTaskCollection(lifeCycle, configuration) {\n var performanceLongTaskSubscription = createPerformanceObservable(\n configuration,\n {\n type: RumPerformanceEntryType.LONG_TASK,\n buffered: true\n }\n ).subscribe(function (entries) {\n for (var i = 0; i < entries.length; i++) {\n var entry = entries[i]\n if (entry.entryType !== RumPerformanceEntryType.LONG_TASK) {\n break\n }\n\n var startClocks = relativeToClocks(entry.startTime)\n var rawRumEvent = {\n date: startClocks.timeStamp,\n longTask: {\n id: UUID(),\n entryType: RumLongTaskEntryType.LONG_TASK,\n duration: toServerDuration(entry.duration)\n },\n type: RumEventType.LONG_TASK\n }\n lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, {\n rawRumEvent: rawRumEvent,\n startTime: startClocks.relative,\n domainContext: { performanceEntry: entry }\n })\n }\n })\n return {\n stop: function () {\n performanceLongTaskSubscription.unsubscribe()\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQA,IAAAC,sBAAA,GAAAD,OAAA;AAIO,SAASE,uBAAuBA,CAACC,SAAS,EAAEC,aAAa,EAAE;EAChE,IAAIC,+BAA+B,GAAG,IAAAC,kDAA2B,EAC/DF,aAAa,EACb;IACEG,IAAI,EAAEC,8CAAuB,CAACC,SAAS;IACvCC,QAAQ,EAAE;EACZ,CACF,CAAC,CAACC,SAAS,CAAC,UAAUC,OAAO,EAAE;IAC7B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,OAAO,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;MACvC,IAAIE,KAAK,GAAGH,OAAO,CAACC,CAAC,CAAC;MACtB,IAAIE,KAAK,CAACC,SAAS,KAAKR,8CAAuB,CAACC,SAAS,EAAE;QACzD;MACF;MAEA,IAAIQ,WAAW,GAAG,IAAAC,6BAAgB,EAACH,KAAK,CAACI,SAAS,CAAC;MACnD,IAAIC,WAAW,GAAG;QAChBC,IAAI,EAAEJ,WAAW,CAACK,SAAS;QAC3BC,QAAQ,EAAE;UACRC,EAAE,EAAE,IAAAC,iBAAI,EAAC,CAAC;UACVT,SAAS,EAAEU,iCAAoB,CAACjB,SAAS;UACzCkB,QAAQ,EAAE,IAAAC,6BAAgB,EAACb,KAAK,CAACY,QAAQ;QAC3C,CAAC;QACDpB,IAAI,EAAEsB,yBAAY,CAACpB;MACrB,CAAC;MACDN,SAAS,CAAC2B,MAAM,CAACC,+BAAkB,CAACC,uBAAuB,EAAE;QAC3DZ,WAAW,EAAEA,WAAW;QACxBD,SAAS,EAAEF,WAAW,CAACgB,QAAQ;QAC/BC,aAAa,EAAE;UAAEC,gBAAgB,EAAEpB;QAAM;MAC3C,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EACF,OAAO;IACLqB,IAAI,EAAE,SAANA,IAAIA,CAAA,EAAc;MAChB/B,+BAA+B,CAACgC,WAAW,CAAC,CAAC;IAC/C;EACF,CAAC;AACH","ignoreList":[]}
|