@kubesense/kubesense-browser-rum 1.8.0 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +23 -0
- package/bundle/chunks/kubesenseProfiler-4b8cfd8f889074788478-kubesense-rum.js +1 -0
- package/bundle/chunks/kubesenseRecorder-db948e96649585a2b3e9-kubesense-rum.js +1 -0
- package/bundle/kubesense-rum.js +1 -1
- package/cjs/boot/kubesenseRecorder.d.ts +6 -0
- package/cjs/boot/kubesenseRecorder.js +75 -0
- package/cjs/boot/kubesenseRecorder.js.map +1 -0
- package/cjs/boot/lazyLoadProfiler.d.ts +3 -4
- package/cjs/boot/lazyLoadProfiler.js +18 -50
- package/cjs/boot/lazyLoadProfiler.js.map +1 -1
- package/cjs/boot/lazyLoadRecorder.d.ts +3 -4
- package/cjs/boot/lazyLoadRecorder.js +18 -50
- package/cjs/boot/lazyLoadRecorder.js.map +1 -1
- package/cjs/boot/postStartStrategy.d.ts +4 -4
- package/cjs/boot/postStartStrategy.js +89 -110
- package/cjs/boot/postStartStrategy.js.map +1 -1
- package/cjs/boot/preStartStrategy.js +21 -21
- package/cjs/boot/preStartStrategy.js.map +1 -1
- package/cjs/boot/profilerApi.js +44 -50
- package/cjs/boot/profilerApi.js.map +1 -1
- package/cjs/boot/recorderApi.d.ts +1 -3
- package/cjs/boot/recorderApi.js +41 -71
- package/cjs/boot/recorderApi.js.map +1 -1
- package/cjs/domain/deflate/deflateEncoder.d.ts +1 -2
- package/cjs/domain/deflate/deflateEncoder.js +94 -108
- package/cjs/domain/deflate/deflateEncoder.js.map +1 -1
- package/cjs/domain/deflate/deflateWorker.d.ts +3 -4
- package/cjs/domain/deflate/deflateWorker.js +79 -90
- package/cjs/domain/deflate/deflateWorker.js.map +1 -1
- package/cjs/domain/deflate/index.d.ts +1 -1
- package/cjs/domain/deflate/index.js +5 -10
- package/cjs/domain/getSessionReplayLink.d.ts +3 -2
- package/cjs/domain/getSessionReplayLink.js +17 -31
- package/cjs/domain/getSessionReplayLink.js.map +1 -1
- package/cjs/domain/profiling/actionHistory.d.ts +10 -0
- package/cjs/domain/profiling/actionHistory.js +37 -0
- package/cjs/domain/profiling/actionHistory.js.map +1 -0
- package/cjs/domain/profiling/kubesenseProfiler.d.ts +6 -0
- package/cjs/domain/profiling/kubesenseProfiler.js +243 -0
- package/cjs/domain/profiling/kubesenseProfiler.js.map +1 -0
- package/cjs/domain/profiling/longTaskHistory.d.ts +11 -0
- package/cjs/domain/profiling/longTaskHistory.js +22 -0
- package/cjs/domain/profiling/longTaskHistory.js.map +1 -0
- package/cjs/domain/profiling/profilerDebugIds.d.ts +2 -0
- package/cjs/domain/profiling/profilerDebugIds.js +18 -0
- package/cjs/domain/profiling/profilerDebugIds.js.map +1 -0
- package/cjs/domain/profiling/profilingContext.js +20 -25
- package/cjs/domain/profiling/profilingContext.js.map +1 -1
- package/cjs/domain/profiling/profilingSupported.js +6 -8
- package/cjs/domain/profiling/profilingSupported.js.map +1 -1
- package/cjs/domain/profiling/quotaCheck.d.ts +9 -0
- package/cjs/domain/profiling/quotaCheck.js +66 -0
- package/cjs/domain/profiling/quotaCheck.js.map +1 -0
- package/cjs/domain/profiling/test-utils/mockedTrace.d.ts +1 -1
- package/cjs/domain/profiling/transport/buildProfileEvent.d.ts +38 -0
- package/cjs/domain/profiling/transport/buildProfileEvent.js +91 -0
- package/cjs/domain/profiling/transport/buildProfileEvent.js.map +1 -0
- package/cjs/domain/profiling/transport/formDataEmitter.d.ts +5 -0
- package/cjs/domain/profiling/transport/formDataEmitter.js +17 -0
- package/cjs/domain/profiling/transport/formDataEmitter.js.map +1 -0
- package/cjs/domain/profiling/transport/profilingBridge.d.ts +2 -0
- package/cjs/domain/profiling/transport/profilingBridge.js +12 -0
- package/cjs/domain/profiling/transport/profilingBridge.js.map +1 -0
- package/cjs/domain/profiling/{types/rumProfiler.types.d.ts → types.d.ts} +13 -24
- package/cjs/domain/profiling/utils/getCustomOrDefaultViewName.js +5 -5
- package/cjs/domain/profiling/utils/getCustomOrDefaultViewName.js.map +1 -1
- package/cjs/domain/profiling/utils/getDefaultViewName.js +6 -10
- package/cjs/domain/profiling/utils/getDefaultViewName.js.map +1 -1
- package/cjs/domain/profiling/vitalHistory.d.ts +13 -0
- package/cjs/domain/profiling/vitalHistory.js +56 -0
- package/cjs/domain/profiling/vitalHistory.js.map +1 -0
- package/cjs/domain/record/assembly.d.ts +2 -1
- package/cjs/domain/record/assembly.js +15 -14
- package/cjs/domain/record/assembly.js.map +1 -1
- package/cjs/domain/record/canvas/canvasHash.d.ts +2 -0
- package/cjs/domain/record/canvas/canvasHash.js +33 -0
- package/cjs/domain/record/canvas/canvasHash.js.map +1 -0
- package/cjs/domain/record/canvas/canvasManager.d.ts +42 -0
- package/cjs/domain/record/canvas/canvasManager.js +99 -0
- package/cjs/domain/record/canvas/canvasManager.js.map +1 -0
- package/cjs/domain/record/canvas/canvasSnapshot.d.ts +8 -0
- package/cjs/domain/record/canvas/canvasSnapshot.js +40 -0
- package/cjs/domain/record/canvas/canvasSnapshot.js.map +1 -0
- package/cjs/domain/record/canvas/canvasUtils.d.ts +2 -0
- package/cjs/domain/record/canvas/canvasUtils.js +14 -0
- package/cjs/domain/record/canvas/canvasUtils.js.map +1 -0
- package/cjs/domain/record/elementsScrollPositions.js +17 -20
- package/cjs/domain/record/elementsScrollPositions.js.map +1 -1
- package/cjs/domain/record/encoding/changeDecoder.d.ts +39 -0
- package/cjs/domain/record/encoding/changeDecoder.js +152 -0
- package/cjs/domain/record/encoding/changeDecoder.js.map +1 -0
- package/cjs/domain/record/encoding/changeEncoder.d.ts +39 -0
- package/cjs/domain/record/encoding/changeEncoder.js +146 -0
- package/cjs/domain/record/encoding/changeEncoder.js.map +1 -0
- package/cjs/domain/record/encoding/index.d.ts +10 -0
- package/cjs/domain/record/encoding/itemIds.d.ts +32 -0
- package/cjs/domain/record/encoding/itemIds.js +49 -0
- package/cjs/domain/record/encoding/itemIds.js.map +1 -0
- package/cjs/domain/record/encoding/roles.d.ts +52 -0
- package/cjs/domain/record/encoding/roles.js +66 -0
- package/cjs/domain/record/encoding/roles.js.map +1 -0
- package/cjs/domain/record/encoding/stringIds.d.ts +15 -0
- package/cjs/domain/record/encoding/stringIds.js +47 -0
- package/cjs/domain/record/encoding/stringIds.js.map +1 -0
- package/cjs/domain/record/encoding/stringTable.d.ts +15 -0
- package/cjs/domain/record/encoding/stringTable.js +38 -0
- package/cjs/domain/record/encoding/stringTable.js.map +1 -0
- package/cjs/domain/record/eventsUtils.js +9 -10
- package/cjs/domain/record/eventsUtils.js.map +1 -1
- package/cjs/domain/record/index.d.ts +5 -2
- package/cjs/domain/record/index.js +13 -17
- package/cjs/domain/record/internalApi.d.ts +6 -6
- package/cjs/domain/record/internalApi.js +55 -49
- package/cjs/domain/record/internalApi.js.map +1 -1
- package/cjs/domain/record/mutationBatch.d.ts +1 -0
- package/cjs/domain/record/mutationBatch.js +38 -39
- package/cjs/domain/record/mutationBatch.js.map +1 -1
- package/cjs/domain/record/record.d.ts +7 -1
- package/cjs/domain/record/record.js +76 -87
- package/cjs/domain/record/record.js.map +1 -1
- package/cjs/domain/record/record.types.d.ts +1 -0
- package/cjs/domain/record/recordingScope.d.ts +7 -3
- package/cjs/domain/record/recordingScope.js +25 -11
- package/cjs/domain/record/recordingScope.js.map +1 -1
- package/cjs/domain/record/serialization/index.d.ts +4 -2
- package/cjs/domain/record/serialization/index.js +16 -18
- package/cjs/domain/record/serialization/insertionCursor.d.ts +57 -0
- package/cjs/domain/record/serialization/insertionCursor.js +55 -0
- package/cjs/domain/record/serialization/insertionCursor.js.map +1 -0
- package/cjs/domain/record/serialization/serialization.types.d.ts +0 -6
- package/cjs/domain/record/serialization/serializationStats.js +26 -25
- package/cjs/domain/record/serialization/serializationStats.js.map +1 -1
- package/cjs/domain/record/serialization/serializationTransaction.d.ts +44 -22
- package/cjs/domain/record/serialization/serializationTransaction.js +90 -36
- package/cjs/domain/record/serialization/serializationTransaction.js.map +1 -1
- package/cjs/domain/record/serialization/serializationUtils.d.ts +0 -1
- package/cjs/domain/record/serialization/serializationUtils.js +46 -75
- package/cjs/domain/record/serialization/serializationUtils.js.map +1 -1
- package/cjs/domain/record/serialization/serializeAttribute.js +24 -39
- package/cjs/domain/record/serialization/serializeAttribute.js.map +1 -1
- package/cjs/domain/record/serialization/serializeAttributes.d.ts +2 -2
- package/cjs/domain/record/serialization/serializeAttributes.js +100 -152
- package/cjs/domain/record/serialization/serializeAttributes.js.map +1 -1
- package/cjs/domain/record/serialization/serializeFullSnapshot.d.ts +5 -0
- package/cjs/domain/record/serialization/serializeFullSnapshot.js +14 -0
- package/cjs/domain/record/serialization/serializeFullSnapshot.js.map +1 -0
- package/cjs/domain/record/serialization/serializeMutations.d.ts +5 -0
- package/cjs/domain/record/serialization/serializeMutations.js +152 -0
- package/cjs/domain/record/serialization/serializeMutations.js.map +1 -0
- package/cjs/domain/record/serialization/serializeNode.d.ts +3 -6
- package/cjs/domain/record/serialization/serializeNode.js +116 -144
- package/cjs/domain/record/serialization/serializeNode.js.map +1 -1
- package/cjs/domain/record/shadowRootsController.d.ts +2 -2
- package/cjs/domain/record/shadowRootsController.js +37 -42
- package/cjs/domain/record/shadowRootsController.js.map +1 -1
- package/cjs/domain/record/startFullSnapshots.d.ts +1 -1
- package/cjs/domain/record/startFullSnapshots.js +38 -54
- package/cjs/domain/record/startFullSnapshots.js.map +1 -1
- package/cjs/domain/record/trackers/index.d.ts +2 -1
- package/cjs/domain/record/trackers/index.js +25 -27
- package/cjs/domain/record/trackers/trackCanvasCapture.d.ts +3 -0
- package/cjs/domain/record/trackers/trackCanvasCapture.js +102 -0
- package/cjs/domain/record/trackers/trackCanvasCapture.js.map +1 -0
- package/cjs/domain/record/trackers/trackCanvasContent.d.ts +3 -0
- package/cjs/domain/record/trackers/trackCanvasContent.js +31 -0
- package/cjs/domain/record/trackers/trackCanvasContent.js.map +1 -0
- package/cjs/domain/record/trackers/trackFocus.d.ts +1 -2
- package/cjs/domain/record/trackers/trackFocus.js +15 -13
- package/cjs/domain/record/trackers/trackFocus.js.map +1 -1
- package/cjs/domain/record/trackers/trackInput.d.ts +2 -2
- package/cjs/domain/record/trackers/trackInput.js +129 -102
- package/cjs/domain/record/trackers/trackInput.js.map +1 -1
- package/cjs/domain/record/trackers/trackMediaInteraction.js +22 -26
- package/cjs/domain/record/trackers/trackMediaInteraction.js.map +1 -1
- package/cjs/domain/record/trackers/trackMouseInteraction.js +47 -54
- package/cjs/domain/record/trackers/trackMouseInteraction.js.map +1 -1
- package/cjs/domain/record/trackers/trackMove.js +43 -49
- package/cjs/domain/record/trackers/trackMove.js.map +1 -1
- package/cjs/domain/record/trackers/trackMutation.d.ts +3 -3
- package/cjs/domain/record/trackers/trackMutation.js +42 -267
- package/cjs/domain/record/trackers/trackMutation.js.map +1 -1
- package/cjs/domain/record/trackers/trackScroll.js +36 -44
- package/cjs/domain/record/trackers/trackScroll.js.map +1 -1
- package/cjs/domain/record/trackers/trackStyleSheet.js +75 -84
- package/cjs/domain/record/trackers/trackStyleSheet.js.map +1 -1
- package/cjs/domain/record/trackers/trackViewEnd.js +17 -17
- package/cjs/domain/record/trackers/trackViewEnd.js.map +1 -1
- package/cjs/domain/record/trackers/trackViewportResize.d.ts +2 -3
- package/cjs/domain/record/trackers/trackViewportResize.js +36 -42
- package/cjs/domain/record/trackers/trackViewportResize.js.map +1 -1
- package/cjs/domain/record/viewports.js +32 -50
- package/cjs/domain/record/viewports.js.map +1 -1
- package/cjs/domain/replayStats.d.ts +1 -0
- package/cjs/domain/replayStats.js +36 -44
- package/cjs/domain/replayStats.js.map +1 -1
- package/cjs/domain/scriptLoadingError.js +15 -22
- package/cjs/domain/scriptLoadingError.js.map +1 -1
- package/cjs/domain/segmentCollection/buildReplayPayload.js +22 -23
- package/cjs/domain/segmentCollection/buildReplayPayload.js.map +1 -1
- package/cjs/domain/segmentCollection/buildResourcePayload.d.ts +5 -0
- package/cjs/domain/segmentCollection/buildResourcePayload.js +19 -0
- package/cjs/domain/segmentCollection/buildResourcePayload.js.map +1 -0
- package/cjs/domain/segmentCollection/index.d.ts +3 -0
- package/cjs/domain/segmentCollection/index.js +14 -11
- package/cjs/domain/segmentCollection/replayResourceCollection.d.ts +10 -0
- package/cjs/domain/segmentCollection/replayResourceCollection.js +52 -0
- package/cjs/domain/segmentCollection/replayResourceCollection.js.map +1 -0
- package/cjs/domain/segmentCollection/segment.js +50 -80
- package/cjs/domain/segmentCollection/segment.js.map +1 -1
- package/cjs/domain/segmentCollection/segmentCollection.d.ts +4 -4
- package/cjs/domain/segmentCollection/segmentCollection.js +87 -105
- package/cjs/domain/segmentCollection/segmentCollection.js.map +1 -1
- package/cjs/domain/segmentCollection/startDroppedSegmentRecovery.d.ts +16 -0
- package/cjs/domain/segmentCollection/startDroppedSegmentRecovery.js +29 -0
- package/cjs/domain/segmentCollection/startDroppedSegmentRecovery.js.map +1 -0
- package/cjs/domain/segmentCollection/startSegmentTelemetry.js +40 -42
- package/cjs/domain/segmentCollection/startSegmentTelemetry.js.map +1 -1
- package/cjs/domain/startRecordBridge.js +10 -14
- package/cjs/domain/startRecordBridge.js.map +1 -1
- package/cjs/domain/startRecorderInitTelemetry.js +42 -50
- package/cjs/domain/startRecorderInitTelemetry.js.map +1 -1
- package/cjs/entries/internal.d.ts +11 -2
- package/cjs/entries/internal.js +47 -28
- package/cjs/entries/internalSynthetics.js +26 -24
- package/cjs/entries/internalSynthetics.js.map +1 -1
- package/cjs/entries/main.d.ts +5 -3
- package/cjs/entries/main.js +50 -31
- package/cjs/entries/main.js.map +1 -1
- package/cjs/types/index.d.ts +1 -0
- package/cjs/types/profiling.d.ts +313 -0
- package/cjs/types/sessionReplay.d.ts +381 -3
- package/cjs/types/sessionReplayConstants.d.ts +57 -0
- package/cjs/types/sessionReplayConstants.js +104 -47
- package/cjs/types/sessionReplayConstants.js.map +1 -1
- package/esm/boot/kubesenseRecorder.mjs +75 -0
- package/esm/boot/kubesenseRecorder.mjs.map +1 -0
- package/esm/boot/lazyLoadProfiler.mjs +24 -0
- package/esm/boot/lazyLoadProfiler.mjs.map +1 -0
- package/esm/boot/lazyLoadRecorder.mjs +24 -0
- package/esm/boot/lazyLoadRecorder.mjs.map +1 -0
- package/esm/boot/postStartStrategy.mjs +97 -0
- package/esm/boot/postStartStrategy.mjs.map +1 -0
- package/esm/boot/preStartStrategy.mjs +24 -0
- package/esm/boot/preStartStrategy.mjs.map +1 -0
- package/esm/boot/profilerApi.mjs +47 -0
- package/esm/boot/profilerApi.mjs.map +1 -0
- package/esm/boot/recorderApi.mjs +43 -0
- package/esm/boot/recorderApi.mjs.map +1 -0
- package/esm/domain/deflate/deflateEncoder.mjs +96 -0
- package/esm/domain/deflate/deflateEncoder.mjs.map +1 -0
- package/esm/domain/deflate/deflateWorker.mjs +90 -0
- package/esm/domain/deflate/deflateWorker.mjs.map +1 -0
- package/esm/domain/deflate/index.mjs +3 -0
- package/esm/domain/getSessionReplayLink.mjs +21 -0
- package/esm/domain/getSessionReplayLink.mjs.map +1 -0
- package/esm/domain/profiling/actionHistory.mjs +36 -0
- package/esm/domain/profiling/actionHistory.mjs.map +1 -0
- package/esm/domain/profiling/kubesenseProfiler.mjs +242 -0
- package/esm/domain/profiling/kubesenseProfiler.mjs.map +1 -0
- package/esm/domain/profiling/longTaskHistory.mjs +21 -0
- package/esm/domain/profiling/longTaskHistory.mjs.map +1 -0
- package/esm/domain/profiling/profilerDebugIds.mjs +18 -0
- package/esm/domain/profiling/profilerDebugIds.mjs.map +1 -0
- package/esm/domain/profiling/profilingContext.mjs +23 -0
- package/esm/domain/profiling/profilingContext.mjs.map +1 -0
- package/esm/domain/profiling/profilingSupported.mjs +9 -0
- package/esm/domain/profiling/profilingSupported.mjs.map +1 -0
- package/esm/domain/profiling/quotaCheck.mjs +66 -0
- package/esm/domain/profiling/quotaCheck.mjs.map +1 -0
- package/esm/domain/profiling/transport/buildProfileEvent.mjs +90 -0
- package/esm/domain/profiling/transport/buildProfileEvent.mjs.map +1 -0
- package/esm/domain/profiling/transport/formDataEmitter.mjs +17 -0
- package/esm/domain/profiling/transport/formDataEmitter.mjs.map +1 -0
- package/esm/domain/profiling/transport/profilingBridge.mjs +12 -0
- package/esm/domain/profiling/transport/profilingBridge.mjs.map +1 -0
- package/esm/domain/profiling/utils/getCustomOrDefaultViewName.mjs +7 -0
- package/esm/domain/profiling/utils/getCustomOrDefaultViewName.mjs.map +1 -0
- package/esm/domain/profiling/utils/getDefaultViewName.mjs +10 -0
- package/esm/domain/profiling/utils/getDefaultViewName.mjs.map +1 -0
- package/esm/domain/profiling/vitalHistory.mjs +55 -0
- package/esm/domain/profiling/vitalHistory.mjs.map +1 -0
- package/esm/domain/record/assembly.mjs +17 -0
- package/esm/domain/record/assembly.mjs.map +1 -0
- package/esm/domain/record/canvas/canvasHash.mjs +33 -0
- package/esm/domain/record/canvas/canvasHash.mjs.map +1 -0
- package/esm/domain/record/canvas/canvasManager.mjs +99 -0
- package/esm/domain/record/canvas/canvasManager.mjs.map +1 -0
- package/esm/domain/record/canvas/canvasSnapshot.mjs +38 -0
- package/esm/domain/record/canvas/canvasSnapshot.mjs.map +1 -0
- package/esm/domain/record/canvas/canvasUtils.mjs +13 -0
- package/esm/domain/record/canvas/canvasUtils.mjs.map +1 -0
- package/esm/domain/record/elementsScrollPositions.mjs +20 -0
- package/esm/domain/record/elementsScrollPositions.mjs.map +1 -0
- package/esm/domain/record/encoding/changeDecoder.mjs +152 -0
- package/esm/domain/record/encoding/changeDecoder.mjs.map +1 -0
- package/esm/domain/record/encoding/changeEncoder.mjs +146 -0
- package/esm/domain/record/encoding/changeEncoder.mjs.map +1 -0
- package/esm/domain/record/encoding/itemIds.mjs +47 -0
- package/esm/domain/record/encoding/itemIds.mjs.map +1 -0
- package/esm/domain/record/encoding/roles.mjs +64 -0
- package/esm/domain/record/encoding/roles.mjs.map +1 -0
- package/esm/domain/record/encoding/stringIds.mjs +47 -0
- package/esm/domain/record/encoding/stringIds.mjs.map +1 -0
- package/esm/domain/record/encoding/stringTable.mjs +38 -0
- package/esm/domain/record/encoding/stringTable.mjs.map +1 -0
- package/esm/domain/record/eventsUtils.mjs +13 -0
- package/esm/domain/record/eventsUtils.mjs.map +1 -0
- package/esm/domain/record/index.mjs +8 -0
- package/esm/domain/record/internalApi.mjs +62 -0
- package/esm/domain/record/internalApi.mjs.map +1 -0
- package/esm/domain/record/mutationBatch.mjs +43 -0
- package/esm/domain/record/mutationBatch.mjs.map +1 -0
- package/esm/domain/record/record.mjs +79 -0
- package/esm/domain/record/record.mjs.map +1 -0
- package/esm/domain/record/recordingScope.mjs +27 -0
- package/esm/domain/record/recordingScope.mjs.map +1 -0
- package/esm/domain/record/serialization/index.mjs +9 -0
- package/esm/domain/record/serialization/insertionCursor.mjs +54 -0
- package/esm/domain/record/serialization/insertionCursor.mjs.map +1 -0
- package/esm/domain/record/serialization/serializationStats.mjs +31 -0
- package/esm/domain/record/serialization/serializationStats.mjs.map +1 -0
- package/esm/domain/record/serialization/serializationTransaction.mjs +92 -0
- package/esm/domain/record/serialization/serializationTransaction.mjs.map +1 -0
- package/esm/domain/record/serialization/serializationUtils.mjs +53 -0
- package/esm/domain/record/serialization/serializationUtils.mjs.map +1 -0
- package/esm/domain/record/serialization/serializeAttribute.mjs +26 -0
- package/esm/domain/record/serialization/serializeAttribute.mjs.map +1 -0
- package/esm/domain/record/serialization/serializeAttributes.mjs +113 -0
- package/esm/domain/record/serialization/serializeAttributes.mjs.map +1 -0
- package/esm/domain/record/serialization/serializeFullSnapshot.mjs +14 -0
- package/esm/domain/record/serialization/serializeFullSnapshot.mjs.map +1 -0
- package/esm/domain/record/serialization/serializeMutations.mjs +152 -0
- package/esm/domain/record/serialization/serializeMutations.mjs.map +1 -0
- package/esm/domain/record/serialization/serializeNode.mjs +126 -0
- package/esm/domain/record/serialization/serializeNode.mjs.map +1 -0
- package/esm/domain/record/shadowRootsController.mjs +40 -0
- package/esm/domain/record/shadowRootsController.mjs.map +1 -0
- package/esm/domain/record/startFullSnapshots.mjs +42 -0
- package/esm/domain/record/startFullSnapshots.mjs.map +1 -0
- package/esm/domain/record/trackers/index.mjs +13 -0
- package/esm/domain/record/trackers/trackCanvasCapture.mjs +102 -0
- package/esm/domain/record/trackers/trackCanvasCapture.mjs.map +1 -0
- package/esm/domain/record/trackers/trackCanvasContent.mjs +31 -0
- package/esm/domain/record/trackers/trackCanvasContent.mjs.map +1 -0
- package/esm/domain/record/trackers/trackFocus.mjs +17 -0
- package/esm/domain/record/trackers/trackFocus.mjs.map +1 -0
- package/esm/domain/record/trackers/trackInput.mjs +131 -0
- package/esm/domain/record/trackers/trackInput.mjs.map +1 -0
- package/esm/domain/record/trackers/trackMediaInteraction.mjs +25 -0
- package/esm/domain/record/trackers/trackMediaInteraction.mjs.map +1 -0
- package/esm/domain/record/trackers/trackMouseInteraction.mjs +52 -0
- package/esm/domain/record/trackers/trackMouseInteraction.mjs.map +1 -0
- package/esm/domain/record/trackers/trackMove.mjs +48 -0
- package/esm/domain/record/trackers/trackMove.mjs.map +1 -0
- package/esm/domain/record/trackers/trackMutation.mjs +45 -0
- package/esm/domain/record/trackers/trackMutation.mjs.map +1 -0
- package/esm/domain/record/trackers/trackScroll.mjs +40 -0
- package/esm/domain/record/trackers/trackScroll.mjs.map +1 -0
- package/esm/domain/record/trackers/trackStyleSheet.mjs +79 -0
- package/esm/domain/record/trackers/trackStyleSheet.mjs.map +1 -0
- package/esm/domain/record/trackers/trackViewEnd.mjs +20 -0
- package/esm/domain/record/trackers/trackViewEnd.mjs.map +1 -0
- package/esm/domain/record/trackers/trackViewportResize.mjs +39 -0
- package/esm/domain/record/trackers/trackViewportResize.mjs.map +1 -0
- package/esm/domain/record/viewports.mjs +41 -0
- package/esm/domain/record/viewports.mjs.map +1 -0
- package/esm/domain/replayStats.mjs +46 -0
- package/esm/domain/replayStats.mjs.map +1 -0
- package/esm/domain/scriptLoadingError.mjs +19 -0
- package/esm/domain/scriptLoadingError.mjs.map +1 -0
- package/esm/domain/segmentCollection/buildReplayPayload.mjs +25 -0
- package/esm/domain/segmentCollection/buildReplayPayload.mjs.map +1 -0
- package/esm/domain/segmentCollection/buildResourcePayload.mjs +19 -0
- package/esm/domain/segmentCollection/buildResourcePayload.mjs.map +1 -0
- package/esm/domain/segmentCollection/index.mjs +5 -0
- package/esm/domain/segmentCollection/replayResourceCollection.mjs +52 -0
- package/esm/domain/segmentCollection/replayResourceCollection.mjs.map +1 -0
- package/esm/domain/segmentCollection/segment.mjs +52 -0
- package/esm/domain/segmentCollection/segment.mjs.map +1 -0
- package/esm/domain/segmentCollection/segmentCollection.mjs +87 -0
- package/esm/domain/segmentCollection/segmentCollection.mjs.map +1 -0
- package/esm/domain/segmentCollection/startDroppedSegmentRecovery.mjs +28 -0
- package/esm/domain/segmentCollection/startDroppedSegmentRecovery.mjs.map +1 -0
- package/esm/domain/segmentCollection/startSegmentTelemetry.mjs +45 -0
- package/esm/domain/segmentCollection/startSegmentTelemetry.mjs.map +1 -0
- package/esm/domain/startRecordBridge.mjs +13 -0
- package/esm/domain/startRecordBridge.mjs.map +1 -0
- package/esm/domain/startRecorderInitTelemetry.mjs +47 -0
- package/esm/domain/startRecorderInitTelemetry.mjs.map +1 -0
- package/esm/entries/internal.mjs +8 -0
- package/esm/entries/internalSynthetics.mjs +22 -0
- package/esm/entries/internalSynthetics.mjs.map +1 -0
- package/esm/entries/main.mjs +35 -0
- package/esm/entries/main.mjs.map +1 -0
- package/esm/types/sessionReplayConstants.mjs +97 -0
- package/esm/types/sessionReplayConstants.mjs.map +1 -0
- package/internal/package.json +1 -1
- package/internal-synthetics/package.json +1 -1
- package/package.json +26 -15
- package/src/boot/kubesenseRecorder.ts +134 -0
- package/src/boot/lazyLoadProfiler.ts +6 -7
- package/src/boot/lazyLoadRecorder.ts +6 -7
- package/src/boot/postStartStrategy.ts +18 -16
- package/src/boot/profilerApi.ts +29 -19
- package/src/boot/recorderApi.ts +6 -21
- package/src/domain/deflate/deflateEncoder.ts +3 -8
- package/src/domain/deflate/deflateWorker.ts +8 -13
- package/src/domain/deflate/index.ts +1 -0
- package/src/domain/getSessionReplayLink.ts +15 -11
- package/src/domain/profiling/actionHistory.ts +66 -0
- package/src/domain/profiling/{profiler.ts → kubesenseProfiler.ts} +166 -79
- package/src/domain/profiling/longTaskHistory.ts +45 -0
- package/src/domain/profiling/profilerDebugIds.ts +17 -0
- package/src/domain/profiling/profilingContext.ts +8 -3
- package/src/domain/profiling/profilingSupported.ts +2 -7
- package/src/domain/profiling/quotaCheck.ts +89 -0
- package/src/domain/profiling/test-utils/mockedTrace.ts +1 -2
- package/src/domain/profiling/transport/buildProfileEvent.ts +143 -0
- package/src/domain/profiling/transport/formDataEmitter.ts +17 -0
- package/src/domain/profiling/transport/profilingBridge.ts +9 -0
- package/src/domain/profiling/{types/rumProfiler.types.ts → types.ts} +14 -26
- package/src/domain/profiling/vitalHistory.ts +106 -0
- package/src/domain/record/assembly.ts +5 -3
- package/src/domain/record/canvas/canvasHash.ts +54 -0
- package/src/domain/record/canvas/canvasManager.ts +175 -0
- package/src/domain/record/canvas/canvasSnapshot.ts +52 -0
- package/src/domain/record/canvas/canvasUtils.ts +11 -0
- package/src/domain/record/encoding/changeDecoder.ts +287 -0
- package/src/domain/record/encoding/changeEncoder.ts +327 -0
- package/src/domain/record/encoding/index.ts +19 -0
- package/src/domain/record/encoding/itemIds.ts +84 -0
- package/src/domain/record/encoding/roles.ts +136 -0
- package/src/domain/record/encoding/stringIds.ts +70 -0
- package/src/domain/record/encoding/stringTable.ts +68 -0
- package/src/domain/record/index.ts +5 -2
- package/src/domain/record/internalApi.ts +21 -18
- package/src/domain/record/mutationBatch.ts +14 -3
- package/src/domain/record/record.ts +35 -16
- package/src/domain/record/record.types.ts +1 -0
- package/src/domain/record/recordingScope.ts +28 -5
- package/src/domain/record/serialization/index.ts +4 -2
- package/src/domain/record/serialization/insertionCursor.ts +131 -0
- package/src/domain/record/serialization/serialization.types.ts +0 -16
- package/src/domain/record/serialization/serializationTransaction.ts +191 -37
- package/src/domain/record/serialization/serializationUtils.ts +1 -15
- package/src/domain/record/serialization/serializeAttributes.ts +36 -32
- package/src/domain/record/serialization/serializeFullSnapshot.ts +26 -0
- package/src/domain/record/serialization/serializeMutations.ts +357 -0
- package/src/domain/record/serialization/serializeNode.ts +200 -164
- package/src/domain/record/shadowRootsController.ts +4 -3
- package/src/domain/record/startFullSnapshots.ts +28 -41
- package/src/domain/record/trackers/index.ts +2 -1
- package/src/domain/record/trackers/trackCanvasCapture.ts +137 -0
- package/src/domain/record/trackers/trackCanvasContent.ts +46 -0
- package/src/domain/record/trackers/trackFocus.ts +4 -4
- package/src/domain/record/trackers/trackInput.ts +146 -41
- package/src/domain/record/trackers/trackMediaInteraction.ts +0 -1
- package/src/domain/record/trackers/trackMouseInteraction.ts +1 -2
- package/src/domain/record/trackers/trackMove.ts +0 -1
- package/src/domain/record/trackers/trackMutation.ts +17 -355
- package/src/domain/record/trackers/trackScroll.ts +1 -1
- package/src/domain/record/trackers/trackStyleSheet.ts +1 -1
- package/src/domain/record/trackers/trackViewEnd.ts +1 -1
- package/src/domain/record/trackers/trackViewportResize.ts +7 -16
- package/src/domain/record/trackers/tracker.types.ts +1 -1
- package/src/domain/replayStats.ts +5 -0
- package/src/domain/scriptLoadingError.ts +2 -1
- package/src/domain/segmentCollection/buildResourcePayload.ts +20 -0
- package/src/domain/segmentCollection/index.ts +3 -0
- package/src/domain/segmentCollection/replayResourceCollection.ts +79 -0
- package/src/domain/segmentCollection/segment.ts +2 -1
- package/src/domain/segmentCollection/segmentCollection.ts +14 -13
- package/src/domain/segmentCollection/startDroppedSegmentRecovery.ts +37 -0
- package/src/domain/segmentCollection/startSegmentTelemetry.ts +16 -2
- package/src/domain/startRecorderInitTelemetry.ts +5 -3
- package/src/entries/internal.ts +13 -2
- package/src/entries/internalSynthetics.ts +3 -4
- package/src/entries/main.ts +23 -14
- package/src/types/index.ts +1 -0
- package/src/types/profiling.ts +315 -0
- package/src/types/sessionReplay.ts +395 -3
- package/src/types/sessionReplayConstants.ts +109 -0
- package/bundle/chunks/profiler-6f621c66a29d9f39a9bd-kubesense-rum.js +0 -1
- package/bundle/chunks/recorder-c73b8d42b98d4a01f120-kubesense-rum.js +0 -1
- package/cjs/boot/isBrowserSupported.d.ts +0 -4
- package/cjs/boot/isBrowserSupported.js +0 -17
- package/cjs/boot/isBrowserSupported.js.map +0 -1
- package/cjs/boot/startRecording.d.ts +0 -6
- package/cjs/boot/startRecording.js +0 -45
- package/cjs/boot/startRecording.js.map +0 -1
- package/cjs/domain/deflate/index.js.map +0 -1
- package/cjs/domain/profiling/profiler.d.ts +0 -7
- package/cjs/domain/profiling/profiler.js +0 -244
- package/cjs/domain/profiling/profiler.js.map +0 -1
- package/cjs/domain/profiling/test-utils/mockedTrace.js +0 -57
- package/cjs/domain/profiling/test-utils/mockedTrace.js.map +0 -1
- package/cjs/domain/profiling/transport/assembly.d.ts +0 -21
- package/cjs/domain/profiling/transport/assembly.js +0 -45
- package/cjs/domain/profiling/transport/assembly.js.map +0 -1
- package/cjs/domain/profiling/transport/buildProfileEventAttributes.d.ts +0 -25
- package/cjs/domain/profiling/transport/buildProfileEventAttributes.js +0 -50
- package/cjs/domain/profiling/transport/buildProfileEventAttributes.js.map +0 -1
- package/cjs/domain/profiling/types/index.d.ts +0 -2
- package/cjs/domain/profiling/types/index.js +0 -3
- package/cjs/domain/profiling/types/index.js.map +0 -1
- package/cjs/domain/profiling/types/profilerApi.types.d.ts +0 -58
- package/cjs/domain/profiling/types/profilerApi.types.js +0 -5
- package/cjs/domain/profiling/types/profilerApi.types.js.map +0 -1
- package/cjs/domain/profiling/types/rumProfiler.types.js +0 -3
- package/cjs/domain/profiling/types/rumProfiler.types.js.map +0 -1
- package/cjs/domain/profiling/utils/getNumberOfSamples.d.ts +0 -7
- package/cjs/domain/profiling/utils/getNumberOfSamples.js +0 -18
- package/cjs/domain/profiling/utils/getNumberOfSamples.js.map +0 -1
- package/cjs/domain/record/eventIds.d.ts +0 -4
- package/cjs/domain/record/eventIds.js +0 -16
- package/cjs/domain/record/eventIds.js.map +0 -1
- package/cjs/domain/record/index.js.map +0 -1
- package/cjs/domain/record/nodeIds.d.ts +0 -15
- package/cjs/domain/record/nodeIds.js +0 -32
- package/cjs/domain/record/nodeIds.js.map +0 -1
- package/cjs/domain/record/record.types.js +0 -3
- package/cjs/domain/record/record.types.js.map +0 -1
- package/cjs/domain/record/serialization/index.js.map +0 -1
- package/cjs/domain/record/serialization/serialization.types.js +0 -3
- package/cjs/domain/record/serialization/serialization.types.js.map +0 -1
- package/cjs/domain/record/serialization/serializeDocument.d.ts +0 -3
- package/cjs/domain/record/serialization/serializeDocument.js +0 -11
- package/cjs/domain/record/serialization/serializeDocument.js.map +0 -1
- package/cjs/domain/record/serialization/serializeStyleSheets.d.ts +0 -2
- package/cjs/domain/record/serialization/serializeStyleSheets.js +0 -19
- package/cjs/domain/record/serialization/serializeStyleSheets.js.map +0 -1
- package/cjs/domain/record/trackers/index.js.map +0 -1
- package/cjs/domain/record/trackers/trackFrustration.d.ts +0 -7
- package/cjs/domain/record/trackers/trackFrustration.js +0 -31
- package/cjs/domain/record/trackers/trackFrustration.js.map +0 -1
- package/cjs/domain/record/trackers/tracker.types.js +0 -3
- package/cjs/domain/record/trackers/tracker.types.js.map +0 -1
- package/cjs/domain/segmentCollection/index.js.map +0 -1
- package/cjs/entries/internal.js.map +0 -1
- package/cjs/types/index.js +0 -18
- package/cjs/types/index.js.map +0 -1
- package/cjs/types/sessionReplay.js +0 -7
- package/cjs/types/sessionReplay.js.map +0 -1
- package/esm/boot/isBrowserSupported.d.ts +0 -4
- package/esm/boot/isBrowserSupported.js +0 -14
- package/esm/boot/isBrowserSupported.js.map +0 -1
- package/esm/boot/lazyLoadProfiler.d.ts +0 -4
- package/esm/boot/lazyLoadProfiler.js +0 -18
- package/esm/boot/lazyLoadProfiler.js.map +0 -1
- package/esm/boot/lazyLoadRecorder.d.ts +0 -4
- package/esm/boot/lazyLoadRecorder.js +0 -18
- package/esm/boot/lazyLoadRecorder.js.map +0 -1
- package/esm/boot/postStartStrategy.d.ts +0 -33
- package/esm/boot/postStartStrategy.js +0 -115
- package/esm/boot/postStartStrategy.js.map +0 -1
- package/esm/boot/preStartStrategy.d.ts +0 -6
- package/esm/boot/preStartStrategy.js +0 -21
- package/esm/boot/preStartStrategy.js.map +0 -1
- package/esm/boot/profilerApi.d.ts +0 -2
- package/esm/boot/profilerApi.js +0 -50
- package/esm/boot/profilerApi.js.map +0 -1
- package/esm/boot/recorderApi.d.ts +0 -4
- package/esm/boot/recorderApi.js +0 -70
- package/esm/boot/recorderApi.js.map +0 -1
- package/esm/boot/startRecording.d.ts +0 -6
- package/esm/boot/startRecording.js +0 -42
- package/esm/boot/startRecording.js.map +0 -1
- package/esm/domain/deflate/deflateEncoder.d.ts +0 -3
- package/esm/domain/deflate/deflateEncoder.js +0 -107
- package/esm/domain/deflate/deflateEncoder.js.map +0 -1
- package/esm/domain/deflate/deflateWorker.d.ts +0 -30
- package/esm/domain/deflate/deflateWorker.js +0 -97
- package/esm/domain/deflate/deflateWorker.js.map +0 -1
- package/esm/domain/deflate/index.d.ts +0 -3
- package/esm/domain/deflate/index.js +0 -3
- package/esm/domain/deflate/index.js.map +0 -1
- package/esm/domain/getSessionReplayLink.d.ts +0 -2
- package/esm/domain/getSessionReplayLink.js +0 -32
- package/esm/domain/getSessionReplayLink.js.map +0 -1
- package/esm/domain/profiling/profiler.d.ts +0 -7
- package/esm/domain/profiling/profiler.js +0 -240
- package/esm/domain/profiling/profiler.js.map +0 -1
- package/esm/domain/profiling/profilingContext.d.ts +0 -6
- package/esm/domain/profiling/profilingContext.js +0 -25
- package/esm/domain/profiling/profilingContext.js.map +0 -1
- package/esm/domain/profiling/profilingSupported.d.ts +0 -1
- package/esm/domain/profiling/profilingSupported.js +0 -8
- package/esm/domain/profiling/profilingSupported.js.map +0 -1
- package/esm/domain/profiling/test-utils/mockedTrace.d.ts +0 -3
- package/esm/domain/profiling/test-utils/mockedTrace.js +0 -54
- package/esm/domain/profiling/test-utils/mockedTrace.js.map +0 -1
- package/esm/domain/profiling/transport/assembly.d.ts +0 -21
- package/esm/domain/profiling/transport/assembly.js +0 -42
- package/esm/domain/profiling/transport/assembly.js.map +0 -1
- package/esm/domain/profiling/transport/buildProfileEventAttributes.d.ts +0 -25
- package/esm/domain/profiling/transport/buildProfileEventAttributes.js +0 -47
- package/esm/domain/profiling/transport/buildProfileEventAttributes.js.map +0 -1
- package/esm/domain/profiling/types/index.d.ts +0 -2
- package/esm/domain/profiling/types/index.js +0 -2
- package/esm/domain/profiling/types/index.js.map +0 -1
- package/esm/domain/profiling/types/profilerApi.types.d.ts +0 -58
- package/esm/domain/profiling/types/profilerApi.types.js +0 -4
- package/esm/domain/profiling/types/profilerApi.types.js.map +0 -1
- package/esm/domain/profiling/types/rumProfiler.types.d.ts +0 -72
- package/esm/domain/profiling/types/rumProfiler.types.js +0 -2
- package/esm/domain/profiling/types/rumProfiler.types.js.map +0 -1
- package/esm/domain/profiling/utils/getCustomOrDefaultViewName.d.ts +0 -1
- package/esm/domain/profiling/utils/getCustomOrDefaultViewName.js +0 -3
- package/esm/domain/profiling/utils/getCustomOrDefaultViewName.js.map +0 -1
- package/esm/domain/profiling/utils/getDefaultViewName.d.ts +0 -1
- package/esm/domain/profiling/utils/getDefaultViewName.js +0 -11
- package/esm/domain/profiling/utils/getDefaultViewName.js.map +0 -1
- package/esm/domain/profiling/utils/getNumberOfSamples.d.ts +0 -7
- package/esm/domain/profiling/utils/getNumberOfSamples.js +0 -15
- package/esm/domain/profiling/utils/getNumberOfSamples.js.map +0 -1
- package/esm/domain/record/assembly.d.ts +0 -2
- package/esm/domain/record/assembly.js +0 -13
- package/esm/domain/record/assembly.js.map +0 -1
- package/esm/domain/record/elementsScrollPositions.d.ts +0 -10
- package/esm/domain/record/elementsScrollPositions.js +0 -20
- package/esm/domain/record/elementsScrollPositions.js.map +0 -1
- package/esm/domain/record/eventIds.d.ts +0 -4
- package/esm/domain/record/eventIds.js +0 -13
- package/esm/domain/record/eventIds.js.map +0 -1
- package/esm/domain/record/eventsUtils.d.ts +0 -2
- package/esm/domain/record/eventsUtils.js +0 -11
- package/esm/domain/record/eventsUtils.js.map +0 -1
- package/esm/domain/record/index.d.ts +0 -7
- package/esm/domain/record/index.js +0 -6
- package/esm/domain/record/index.js.map +0 -1
- package/esm/domain/record/internalApi.d.ts +0 -22
- package/esm/domain/record/internalApi.js +0 -53
- package/esm/domain/record/internalApi.js.map +0 -1
- package/esm/domain/record/mutationBatch.d.ts +0 -12
- package/esm/domain/record/mutationBatch.js +0 -40
- package/esm/domain/record/mutationBatch.js.map +0 -1
- package/esm/domain/record/nodeIds.d.ts +0 -15
- package/esm/domain/record/nodeIds.js +0 -29
- package/esm/domain/record/nodeIds.js.map +0 -1
- package/esm/domain/record/record.d.ts +0 -16
- package/esm/domain/record/record.js +0 -54
- package/esm/domain/record/record.js.map +0 -1
- package/esm/domain/record/record.types.d.ts +0 -4
- package/esm/domain/record/record.types.js +0 -2
- package/esm/domain/record/record.types.js.map +0 -1
- package/esm/domain/record/recordingScope.d.ts +0 -19
- package/esm/domain/record/recordingScope.js +0 -10
- package/esm/domain/record/recordingScope.js.map +0 -1
- package/esm/domain/record/serialization/index.d.ts +0 -8
- package/esm/domain/record/serialization/index.js +0 -7
- package/esm/domain/record/serialization/index.js.map +0 -1
- package/esm/domain/record/serialization/serialization.types.d.ts +0 -28
- package/esm/domain/record/serialization/serialization.types.js +0 -2
- package/esm/domain/record/serialization/serialization.types.js.map +0 -1
- package/esm/domain/record/serialization/serializationStats.d.ts +0 -12
- package/esm/domain/record/serialization/serializationStats.js +0 -27
- package/esm/domain/record/serialization/serializationStats.js.map +0 -1
- package/esm/domain/record/serialization/serializationTransaction.d.ts +0 -45
- package/esm/domain/record/serialization/serializationTransaction.js +0 -35
- package/esm/domain/record/serialization/serializationTransaction.js.map +0 -1
- package/esm/domain/record/serialization/serializationUtils.d.ts +0 -18
- package/esm/domain/record/serialization/serializationUtils.js +0 -80
- package/esm/domain/record/serialization/serializationUtils.js.map +0 -1
- package/esm/domain/record/serialization/serializeAttribute.d.ts +0 -4
- package/esm/domain/record/serialization/serializeAttribute.js +0 -38
- package/esm/domain/record/serialization/serializeAttribute.js.map +0 -1
- package/esm/domain/record/serialization/serializeAttributes.d.ts +0 -7
- package/esm/domain/record/serialization/serializeAttributes.js +0 -161
- package/esm/domain/record/serialization/serializeAttributes.js.map +0 -1
- package/esm/domain/record/serialization/serializeDocument.d.ts +0 -3
- package/esm/domain/record/serialization/serializeDocument.js +0 -8
- package/esm/domain/record/serialization/serializeDocument.js.map +0 -1
- package/esm/domain/record/serialization/serializeNode.d.ts +0 -7
- package/esm/domain/record/serialization/serializeNode.js +0 -149
- package/esm/domain/record/serialization/serializeNode.js.map +0 -1
- package/esm/domain/record/serialization/serializeStyleSheets.d.ts +0 -2
- package/esm/domain/record/serialization/serializeStyleSheets.js +0 -16
- package/esm/domain/record/serialization/serializeStyleSheets.js.map +0 -1
- package/esm/domain/record/shadowRootsController.d.ts +0 -11
- package/esm/domain/record/shadowRootsController.js +0 -41
- package/esm/domain/record/shadowRootsController.js.map +0 -1
- package/esm/domain/record/startFullSnapshots.d.ts +0 -9
- package/esm/domain/record/startFullSnapshots.js +0 -55
- package/esm/domain/record/startFullSnapshots.js.map +0 -1
- package/esm/domain/record/trackers/index.d.ts +0 -12
- package/esm/domain/record/trackers/index.js +0 -12
- package/esm/domain/record/trackers/index.js.map +0 -1
- package/esm/domain/record/trackers/trackFocus.d.ts +0 -5
- package/esm/domain/record/trackers/trackFocus.js +0 -12
- package/esm/domain/record/trackers/trackFocus.js.map +0 -1
- package/esm/domain/record/trackers/trackFrustration.d.ts +0 -7
- package/esm/domain/record/trackers/trackFrustration.js +0 -28
- package/esm/domain/record/trackers/trackFrustration.js.map +0 -1
- package/esm/domain/record/trackers/trackInput.d.ts +0 -4
- package/esm/domain/record/trackers/trackInput.js +0 -101
- package/esm/domain/record/trackers/trackInput.js.map +0 -1
- package/esm/domain/record/trackers/trackMediaInteraction.d.ts +0 -5
- package/esm/domain/record/trackers/trackMediaInteraction.js +0 -26
- package/esm/domain/record/trackers/trackMediaInteraction.js.map +0 -1
- package/esm/domain/record/trackers/trackMouseInteraction.d.ts +0 -5
- package/esm/domain/record/trackers/trackMouseInteraction.js +0 -56
- package/esm/domain/record/trackers/trackMouseInteraction.js.map +0 -1
- package/esm/domain/record/trackers/trackMove.d.ts +0 -9
- package/esm/domain/record/trackers/trackMove.js +0 -51
- package/esm/domain/record/trackers/trackMove.js.map +0 -1
- package/esm/domain/record/trackers/trackMutation.d.ts +0 -11
- package/esm/domain/record/trackers/trackMutation.js +0 -266
- package/esm/domain/record/trackers/trackMutation.js.map +0 -1
- package/esm/domain/record/trackers/trackScroll.d.ts +0 -5
- package/esm/domain/record/trackers/trackScroll.js +0 -45
- package/esm/domain/record/trackers/trackScroll.js.map +0 -1
- package/esm/domain/record/trackers/trackStyleSheet.d.ts +0 -6
- package/esm/domain/record/trackers/trackStyleSheet.js +0 -85
- package/esm/domain/record/trackers/trackStyleSheet.js.map +0 -1
- package/esm/domain/record/trackers/trackViewEnd.d.ts +0 -5
- package/esm/domain/record/trackers/trackViewEnd.js +0 -17
- package/esm/domain/record/trackers/trackViewEnd.js.map +0 -1
- package/esm/domain/record/trackers/trackViewportResize.d.ts +0 -6
- package/esm/domain/record/trackers/trackViewportResize.js +0 -42
- package/esm/domain/record/trackers/trackViewportResize.js.map +0 -1
- package/esm/domain/record/trackers/tracker.types.d.ts +0 -3
- package/esm/domain/record/trackers/tracker.types.js +0 -2
- package/esm/domain/record/trackers/tracker.types.js.map +0 -1
- package/esm/domain/record/viewports.d.ts +0 -20
- package/esm/domain/record/viewports.js +0 -55
- package/esm/domain/record/viewports.js.map +0 -1
- package/esm/domain/replayStats.d.ts +0 -8
- package/esm/domain/replayStats.js +0 -51
- package/esm/domain/replayStats.js.map +0 -1
- package/esm/domain/scriptLoadingError.d.ts +0 -6
- package/esm/domain/scriptLoadingError.js +0 -23
- package/esm/domain/scriptLoadingError.js.map +0 -1
- package/esm/domain/segmentCollection/buildReplayPayload.d.ts +0 -15
- package/esm/domain/segmentCollection/buildReplayPayload.js +0 -23
- package/esm/domain/segmentCollection/buildReplayPayload.js.map +0 -1
- package/esm/domain/segmentCollection/index.d.ts +0 -4
- package/esm/domain/segmentCollection/index.js +0 -4
- package/esm/domain/segmentCollection/index.js.map +0 -1
- package/esm/domain/segmentCollection/segment.d.ts +0 -16
- package/esm/domain/segmentCollection/segment.js +0 -46
- package/esm/domain/segmentCollection/segment.js.map +0 -1
- package/esm/domain/segmentCollection/segmentCollection.d.ts +0 -31
- package/esm/domain/segmentCollection/segmentCollection.js +0 -106
- package/esm/domain/segmentCollection/segmentCollection.js.map +0 -1
- package/esm/domain/segmentCollection/startSegmentTelemetry.d.ts +0 -6
- package/esm/domain/segmentCollection/startSegmentTelemetry.js +0 -44
- package/esm/domain/segmentCollection/startSegmentTelemetry.js.map +0 -1
- package/esm/domain/startRecordBridge.d.ts +0 -5
- package/esm/domain/startRecordBridge.js +0 -14
- package/esm/domain/startRecordBridge.js.map +0 -1
- package/esm/domain/startRecorderInitTelemetry.d.ts +0 -15
- package/esm/domain/startRecorderInitTelemetry.js +0 -52
- package/esm/domain/startRecorderInitTelemetry.js.map +0 -1
- package/esm/entries/internal.d.ts +0 -11
- package/esm/entries/internal.js +0 -4
- package/esm/entries/internal.js.map +0 -1
- package/esm/entries/internalSynthetics.d.ts +0 -2
- package/esm/entries/internalSynthetics.js +0 -23
- package/esm/entries/internalSynthetics.js.map +0 -1
- package/esm/entries/main.d.ts +0 -23
- package/esm/entries/main.js +0 -31
- package/esm/entries/main.js.map +0 -1
- package/esm/types/index.d.ts +0 -2
- package/esm/types/index.js +0 -2
- package/esm/types/index.js.map +0 -1
- package/esm/types/sessionReplay.d.ts +0 -703
- package/esm/types/sessionReplay.js +0 -6
- package/esm/types/sessionReplay.js.map +0 -1
- package/esm/types/sessionReplayConstants.d.ts +0 -49
- package/esm/types/sessionReplayConstants.js +0 -46
- package/esm/types/sessionReplayConstants.js.map +0 -1
- package/src/boot/isBrowserSupported.ts +0 -14
- package/src/boot/startRecording.ts +0 -70
- package/src/domain/profiling/transport/assembly.ts +0 -78
- package/src/domain/profiling/transport/buildProfileEventAttributes.ts +0 -66
- package/src/domain/profiling/types/index.ts +0 -2
- package/src/domain/profiling/types/profilerApi.types.ts +0 -87
- package/src/domain/profiling/utils/getNumberOfSamples.ts +0 -16
- package/src/domain/record/eventIds.ts +0 -17
- package/src/domain/record/nodeIds.ts +0 -46
- package/src/domain/record/serialization/serializeDocument.ts +0 -13
- package/src/domain/record/serialization/serializeStyleSheets.ts +0 -18
- package/src/domain/record/trackers/trackFrustration.ts +0 -41
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { DeflateEncoder, HttpRequest, TimeoutId } from '@kubesense/kubesense-browser-core'
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import type { DeflateEncoder, HttpRequest, TimeoutId, SessionManager } from '@kubesense/kubesense-browser-core'
|
|
2
|
+
import { ONE_SECOND } from '@kubesense/kubesense-js-core/time'
|
|
3
|
+
import { isPageExitReason, PageExitReason, clearTimeout, setTimeout } from '@kubesense/kubesense-browser-core'
|
|
4
|
+
import type { LifeCycle, ViewHistory, RumConfiguration } from '@kubesense/kubesense-browser-rum-core'
|
|
4
5
|
import { LifeCycleEventType } from '@kubesense/kubesense-browser-rum-core'
|
|
5
6
|
import type { BrowserRecord, CreationReason, SegmentContext } from '../../types'
|
|
6
7
|
import type { SerializationStats } from '../record'
|
|
@@ -50,7 +51,7 @@ interface SegmentCollector {
|
|
|
50
51
|
export function startSegmentCollection(
|
|
51
52
|
lifeCycle: LifeCycle,
|
|
52
53
|
configuration: RumConfiguration,
|
|
53
|
-
sessionManager:
|
|
54
|
+
sessionManager: SessionManager,
|
|
54
55
|
viewHistory: ViewHistory,
|
|
55
56
|
httpRequest: HttpRequest<ReplayPayload>,
|
|
56
57
|
encoder: DeflateEncoder
|
|
@@ -98,9 +99,9 @@ export function doStartSegmentCollection(
|
|
|
98
99
|
})
|
|
99
100
|
|
|
100
101
|
const { unsubscribe: unsubscribePageMayExit } = lifeCycle.subscribe(
|
|
101
|
-
LifeCycleEventType.
|
|
102
|
-
(
|
|
103
|
-
flushSegment(
|
|
102
|
+
LifeCycleEventType.PREPARE_URGENT_FLUSH,
|
|
103
|
+
(reason) => {
|
|
104
|
+
flushSegment(reason as FlushReason)
|
|
104
105
|
}
|
|
105
106
|
)
|
|
106
107
|
|
|
@@ -109,7 +110,11 @@ export function doStartSegmentCollection(
|
|
|
109
110
|
state.segment.flush((metadata, stats, encoderResult) => {
|
|
110
111
|
const payload = buildReplayPayload(encoderResult.output, metadata, stats, encoderResult.rawBytesCount)
|
|
111
112
|
|
|
112
|
-
|
|
113
|
+
// sendOnExit() is less reliable than send() since it doesn't retry. If the page is
|
|
114
|
+
// *really* about to close, sendOnExit() is still better, since it uses a mechanism
|
|
115
|
+
// that outlives the page itself; for PageExitReason.HIDDEN, though, the page is
|
|
116
|
+
// probably not actually closing, so we prefer send().
|
|
117
|
+
if (isPageExitReason(flushReason) && flushReason !== PageExitReason.HIDDEN) {
|
|
113
118
|
httpRequest.sendOnExit(payload)
|
|
114
119
|
} else {
|
|
115
120
|
httpRequest.send(payload)
|
|
@@ -172,11 +177,7 @@ export function doStartSegmentCollection(
|
|
|
172
177
|
}
|
|
173
178
|
}
|
|
174
179
|
|
|
175
|
-
export function computeSegmentContext(
|
|
176
|
-
applicationId: string,
|
|
177
|
-
sessionManager: RumSessionManager,
|
|
178
|
-
viewHistory: ViewHistory
|
|
179
|
-
) {
|
|
180
|
+
export function computeSegmentContext(applicationId: string, sessionManager: SessionManager, viewHistory: ViewHistory) {
|
|
180
181
|
const session = sessionManager.findTrackedSession()
|
|
181
182
|
const viewContext = viewHistory.findView()
|
|
182
183
|
if (!session || !viewContext) {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { HttpRequestEvent, Observable } from '@kubesense/kubesense-browser-core'
|
|
2
|
+
import { elapsed, ONE_SECOND, timeStampNow } from '@kubesense/kubesense-js-core/time'
|
|
3
|
+
import type { TimeStamp } from '@kubesense/kubesense-js-core/time'
|
|
4
|
+
import type { ReplayPayload } from './buildReplayPayload'
|
|
5
|
+
|
|
6
|
+
/** The least time between two recovery snapshots. */
|
|
7
|
+
export const DROPPED_SEGMENT_RECOVERY_INTERVAL = 30 * ONE_SECOND
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Takes a new full snapshot when a segment is lost to a network error.
|
|
11
|
+
*
|
|
12
|
+
* Every record after a lost segment builds on DOM the intake never received, so without a new
|
|
13
|
+
* snapshot the replay freezes on the last DOM it has until the next view starts one. Only a
|
|
14
|
+
* network error triggers it — an upload the intake rejected (401, 413) would see the snapshot
|
|
15
|
+
* rejected too — and at most once per interval, so a failing network costs one snapshot per
|
|
16
|
+
* interval rather than one per segment.
|
|
17
|
+
*/
|
|
18
|
+
export function startDroppedSegmentRecovery(
|
|
19
|
+
replayRequestObservable: Observable<HttpRequestEvent<ReplayPayload>>,
|
|
20
|
+
takeFullSnapshot: () => void
|
|
21
|
+
) {
|
|
22
|
+
let lastRecovery: TimeStamp | undefined
|
|
23
|
+
|
|
24
|
+
const { unsubscribe } = replayRequestObservable.subscribe((event) => {
|
|
25
|
+
if (event.type !== 'dropped' || event.status !== 0) {
|
|
26
|
+
return
|
|
27
|
+
}
|
|
28
|
+
const now = timeStampNow()
|
|
29
|
+
if (lastRecovery !== undefined && elapsed(lastRecovery, now) < DROPPED_SEGMENT_RECOVERY_INTERVAL) {
|
|
30
|
+
return
|
|
31
|
+
}
|
|
32
|
+
lastRecovery = now
|
|
33
|
+
takeFullSnapshot()
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
return { stop: unsubscribe }
|
|
37
|
+
}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
BandwidthStats,
|
|
3
|
+
Context,
|
|
4
|
+
HttpRequestEvent,
|
|
5
|
+
Observable,
|
|
6
|
+
Telemetry,
|
|
7
|
+
} from '@kubesense/kubesense-browser-core'
|
|
2
8
|
import { TelemetryMetrics, addTelemetryMetrics, noop } from '@kubesense/kubesense-browser-core'
|
|
3
9
|
import type { ReplayPayload } from './buildReplayPayload'
|
|
4
10
|
|
|
@@ -8,6 +14,10 @@ interface SegmentMetrics extends Context {
|
|
|
8
14
|
max: number
|
|
9
15
|
sum: number
|
|
10
16
|
}
|
|
17
|
+
encoding: {
|
|
18
|
+
fullSnapshot: 'v1' | 'change'
|
|
19
|
+
incrementalSnapshot: 'v1' | 'change'
|
|
20
|
+
}
|
|
11
21
|
isFullSnapshot: boolean
|
|
12
22
|
ongoingRequests: {
|
|
13
23
|
count: number
|
|
@@ -41,7 +51,7 @@ export function startSegmentTelemetry(
|
|
|
41
51
|
(requestEvent.type === 'success' && requestEvent.payload.isFullSnapshot)
|
|
42
52
|
) {
|
|
43
53
|
const metrics = createSegmentMetrics(requestEvent.type, requestEvent.bandwidth, requestEvent.payload)
|
|
44
|
-
// monitor-until:
|
|
54
|
+
// monitor-until: forever
|
|
45
55
|
addTelemetryMetrics(TelemetryMetrics.SEGMENT_METRICS_TELEMETRY_NAME, { metrics })
|
|
46
56
|
}
|
|
47
57
|
})
|
|
@@ -62,6 +72,10 @@ function createSegmentMetrics(
|
|
|
62
72
|
max: payload.cssText.max,
|
|
63
73
|
sum: payload.cssText.sum,
|
|
64
74
|
},
|
|
75
|
+
encoding: {
|
|
76
|
+
fullSnapshot: 'change',
|
|
77
|
+
incrementalSnapshot: 'change',
|
|
78
|
+
},
|
|
65
79
|
isFullSnapshot: payload.isFullSnapshot,
|
|
66
80
|
ongoingRequests: {
|
|
67
81
|
count: bandwidthStats.ongoingRequestCount,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type { Context,
|
|
2
|
-
import {
|
|
1
|
+
import type { Context, Telemetry, Observable } from '@kubesense/kubesense-browser-core'
|
|
2
|
+
import { elapsed, timeStampNow } from '@kubesense/kubesense-js-core/time'
|
|
3
|
+
import type { Duration, TimeStamp } from '@kubesense/kubesense-js-core/time'
|
|
4
|
+
import { TelemetryMetrics, addTelemetryMetrics, noop } from '@kubesense/kubesense-browser-core'
|
|
3
5
|
import type { RecorderInitEvent } from '../boot/postStartStrategy'
|
|
4
6
|
|
|
5
7
|
type RecorderInitResult = 'aborted' | 'deflate-encoder-load-failed' | 'recorder-load-failed' | 'succeeded'
|
|
@@ -55,7 +57,7 @@ export function startRecorderInitTelemetry(telemetry: Telemetry, observable: Obs
|
|
|
55
57
|
unsubscribe()
|
|
56
58
|
|
|
57
59
|
if (startContext) {
|
|
58
|
-
// monitor-until:
|
|
60
|
+
// monitor-until: forever
|
|
59
61
|
addTelemetryMetrics(TelemetryMetrics.RECORDER_INIT_METRICS_TELEMETRY_NAME, {
|
|
60
62
|
metrics: createRecorderInitMetrics(
|
|
61
63
|
startContext.forced,
|
package/src/entries/internal.ts
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* WARNING: this module is not intended for public usages, and won't follow semver for breaking
|
|
6
6
|
* changes.
|
|
7
7
|
*/
|
|
8
|
-
export type { TimeStamp } from '@kubesense/kubesense-browser-core'
|
|
9
8
|
export {
|
|
10
9
|
PRIVACY_ATTR_NAME,
|
|
11
10
|
PRIVACY_ATTR_VALUE_HIDDEN,
|
|
@@ -15,4 +14,16 @@ export {
|
|
|
15
14
|
|
|
16
15
|
export * from '../types'
|
|
17
16
|
|
|
18
|
-
export { takeFullSnapshot, takeNodeSnapshot
|
|
17
|
+
export { takeFullSnapshot, takeNodeSnapshot } from '../domain/record'
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The Change-format decoder, exported so the Web app's replay player can resolve string-table
|
|
21
|
+
* references without reimplementing the encoding. Keeping the single copy here means a future SDK
|
|
22
|
+
* upgrade that changes the format updates the player through the same dependency bump, instead of
|
|
23
|
+
* leaving two implementations to drift apart.
|
|
24
|
+
*/
|
|
25
|
+
export type { ChangeDecoder, ChangeDecoderOptions } from '../domain/record'
|
|
26
|
+
export { createChangeDecoder } from '../domain/record'
|
|
27
|
+
|
|
28
|
+
export { makeRecorderApi } from '../boot/recorderApi'
|
|
29
|
+
export { makeProfilerApi } from '../boot/profilerApi'
|
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
* WARNING: this module is not intended for public usages, and won't follow semver for breaking
|
|
6
6
|
* changes.
|
|
7
7
|
*/
|
|
8
|
-
import { makeRumPublicApi
|
|
8
|
+
import { makeRumPublicApi } from '@kubesense/kubesense-browser-rum-core'
|
|
9
9
|
import { makeRecorderApi } from '../boot/recorderApi'
|
|
10
|
-
import { lazyLoadRecorder } from '../boot/lazyLoadRecorder'
|
|
11
10
|
import { makeProfilerApi } from '../boot/profilerApi'
|
|
12
11
|
|
|
13
12
|
export { DefaultPrivacyLevel } from '@kubesense/kubesense-browser-core'
|
|
@@ -15,9 +14,9 @@ export { DefaultPrivacyLevel } from '@kubesense/kubesense-browser-core'
|
|
|
15
14
|
// Disable the rule that forbids potential side effects, because we know that those functions don't
|
|
16
15
|
// have side effects.
|
|
17
16
|
/* eslint-disable local-rules/disallow-side-effects */
|
|
18
|
-
const recorderApi = makeRecorderApi(
|
|
17
|
+
const recorderApi = makeRecorderApi()
|
|
19
18
|
const profilerApi = makeProfilerApi()
|
|
20
|
-
export const kubesenseSdk = makeRumPublicApi(
|
|
19
|
+
export const kubesenseSdk = makeRumPublicApi(recorderApi, profilerApi, {
|
|
21
20
|
ignoreInitIfSyntheticsWillInjectRum: false,
|
|
22
21
|
sdkName: 'rum-synthetics',
|
|
23
22
|
})
|
package/src/entries/main.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* KubeSense Browser RUM SDK - Full version with Session Replay and Real User Profiling capabilities.
|
|
3
3
|
* Use this package to monitor your web application's performance and user experience.
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
* @see [RUM Browser Monitoring Setup](https://docs.kubesense.ai/real_user_monitoring/browser/)
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { globalObject } from '@kubesense/kubesense-js-core/util'
|
|
9
10
|
// Keep the following in sync with packages/rum-slim/src/entries/main.ts
|
|
10
|
-
import { defineGlobal
|
|
11
|
+
import { defineGlobal } from '@kubesense/kubesense-browser-core'
|
|
11
12
|
import type { RumPublicApi } from '@kubesense/kubesense-browser-rum-core'
|
|
12
|
-
import { makeRumPublicApi
|
|
13
|
+
import { makeRumPublicApi } from '@kubesense/kubesense-browser-rum-core'
|
|
13
14
|
import { makeRecorderApi } from '../boot/recorderApi'
|
|
14
15
|
import { createDeflateEncoder, startDeflateWorker } from '../domain/deflate'
|
|
15
|
-
import { lazyLoadRecorder } from '../boot/lazyLoadRecorder'
|
|
16
16
|
import { makeProfilerApi } from '../boot/profilerApi'
|
|
17
17
|
|
|
18
18
|
export type {
|
|
@@ -22,14 +22,13 @@ export type {
|
|
|
22
22
|
SessionPersistence,
|
|
23
23
|
TrackingConsent,
|
|
24
24
|
MatchOption,
|
|
25
|
-
ProxyFn,
|
|
26
|
-
Site,
|
|
27
25
|
Context,
|
|
28
26
|
ContextValue,
|
|
29
27
|
ContextArray,
|
|
30
28
|
RumInternalContext,
|
|
31
29
|
} from '@kubesense/kubesense-browser-core'
|
|
32
30
|
export { DefaultPrivacyLevel } from '@kubesense/kubesense-browser-core'
|
|
31
|
+
export type { ProxyFn, Site } from '@kubesense/kubesense-js-core/transport'
|
|
33
32
|
|
|
34
33
|
/**
|
|
35
34
|
* @deprecated Use {@link KubesenseSdk} instead
|
|
@@ -39,16 +38,24 @@ export type RumGlobal = RumPublicApi
|
|
|
39
38
|
export type {
|
|
40
39
|
RumPublicApi as KubesenseSdk,
|
|
41
40
|
RumInitConfiguration,
|
|
41
|
+
RumBeforeSend,
|
|
42
42
|
ViewOptions,
|
|
43
43
|
StartRecordingOptions,
|
|
44
44
|
AddDurationVitalOptions,
|
|
45
45
|
DurationVitalOptions,
|
|
46
|
-
|
|
46
|
+
OperationOptions,
|
|
47
|
+
FeatureOperationOptions,
|
|
48
|
+
FailureReason,
|
|
49
|
+
ActionOptions,
|
|
50
|
+
ResourceOptions,
|
|
51
|
+
ResourceStopOptions,
|
|
47
52
|
TracingOption,
|
|
48
53
|
RumPlugin,
|
|
49
54
|
OnRumStartOptions,
|
|
55
|
+
RumPluginOnInitOptions,
|
|
50
56
|
PropagatorType,
|
|
51
57
|
FeatureFlagsForEvents,
|
|
58
|
+
MatchHeader,
|
|
52
59
|
|
|
53
60
|
// Events
|
|
54
61
|
CommonProperties,
|
|
@@ -58,6 +65,7 @@ export type {
|
|
|
58
65
|
RumLongTaskEvent,
|
|
59
66
|
RumResourceEvent,
|
|
60
67
|
RumViewEvent,
|
|
68
|
+
RumViewUpdateEvent,
|
|
61
69
|
RumVitalEvent,
|
|
62
70
|
|
|
63
71
|
// Events context
|
|
@@ -66,13 +74,14 @@ export type {
|
|
|
66
74
|
RumErrorEventDomainContext,
|
|
67
75
|
RumActionEventDomainContext,
|
|
68
76
|
RumVitalEventDomainContext,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
RumOtherResourceEventDomainContext,
|
|
77
|
+
RumResourceEventDomainContext,
|
|
78
|
+
RumWebSocketResourceEventDomainContext,
|
|
72
79
|
RumLongTaskEventDomainContext,
|
|
73
80
|
} from '@kubesense/kubesense-browser-rum-core'
|
|
74
81
|
|
|
75
|
-
|
|
82
|
+
export { DEFAULT_TRACKED_RESOURCE_HEADERS, CanvasRecordingQuality } from '@kubesense/kubesense-browser-rum-core'
|
|
83
|
+
|
|
84
|
+
const recorderApi = makeRecorderApi()
|
|
76
85
|
|
|
77
86
|
const profilerApi = makeProfilerApi()
|
|
78
87
|
|
|
@@ -83,13 +92,13 @@ const profilerApi = makeProfilerApi()
|
|
|
83
92
|
* @see {@link KubesenseSdk}
|
|
84
93
|
* @see [RUM Browser Monitoring Setup](https://docs.kubesense.ai/real_user_monitoring/browser/)
|
|
85
94
|
*/
|
|
86
|
-
export const kubesenseSdk = makeRumPublicApi(
|
|
95
|
+
export const kubesenseSdk = makeRumPublicApi(recorderApi, profilerApi, {
|
|
87
96
|
startDeflateWorker,
|
|
88
97
|
createDeflateEncoder,
|
|
89
98
|
sdkName: 'rum',
|
|
90
99
|
})
|
|
91
100
|
|
|
92
|
-
interface BrowserWindow
|
|
101
|
+
interface BrowserWindow {
|
|
93
102
|
KUBESENSE_SDK?: RumPublicApi
|
|
94
103
|
}
|
|
95
|
-
defineGlobal(
|
|
104
|
+
defineGlobal(globalObject as BrowserWindow, 'KUBESENSE_SDK', kubesenseSdk)
|
package/src/types/index.ts
CHANGED
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DO NOT MODIFY IT BY HAND. Run `yarn json-schemas:sync` instead.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Schema of Browser SDK Profiling types.
|
|
7
|
+
*/
|
|
8
|
+
export type BrowserProfiling = BrowserProfileEvent | BrowserProfilerTrace
|
|
9
|
+
/**
|
|
10
|
+
* Schema of the Browser SDK Profile Event payload.
|
|
11
|
+
*/
|
|
12
|
+
export type BrowserProfileEvent = ProfileCommonProperties & {
|
|
13
|
+
/**
|
|
14
|
+
* Profile data format.
|
|
15
|
+
*/
|
|
16
|
+
readonly format: 'json'
|
|
17
|
+
/**
|
|
18
|
+
* KubeSense internal metadata.
|
|
19
|
+
*/
|
|
20
|
+
readonly _kubesense: {
|
|
21
|
+
/**
|
|
22
|
+
* Clock drift value. Used by Browser SDK.
|
|
23
|
+
*/
|
|
24
|
+
readonly clock_drift: number
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Action properties.
|
|
28
|
+
*/
|
|
29
|
+
readonly action?: {
|
|
30
|
+
/**
|
|
31
|
+
* Array of action IDs.
|
|
32
|
+
*/
|
|
33
|
+
readonly id: string[]
|
|
34
|
+
/**
|
|
35
|
+
* Array of action labels.
|
|
36
|
+
*/
|
|
37
|
+
readonly label: string[]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Schema of a Profile Event metadata. Contains attributes shared by all profiles.
|
|
43
|
+
*/
|
|
44
|
+
export interface ProfileCommonProperties {
|
|
45
|
+
/**
|
|
46
|
+
* Application properties.
|
|
47
|
+
*/
|
|
48
|
+
readonly application: {
|
|
49
|
+
/**
|
|
50
|
+
* Application ID.
|
|
51
|
+
*/
|
|
52
|
+
readonly id: string
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Session properties.
|
|
56
|
+
*/
|
|
57
|
+
readonly session?: {
|
|
58
|
+
/**
|
|
59
|
+
* Session ID.
|
|
60
|
+
*/
|
|
61
|
+
readonly id: string
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* View properties.
|
|
65
|
+
*/
|
|
66
|
+
readonly view?: {
|
|
67
|
+
/**
|
|
68
|
+
* Array of view IDs.
|
|
69
|
+
*/
|
|
70
|
+
readonly id: string[]
|
|
71
|
+
/**
|
|
72
|
+
* Array of view names.
|
|
73
|
+
*/
|
|
74
|
+
readonly name: string[]
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Long task properties.
|
|
78
|
+
*/
|
|
79
|
+
readonly long_task?: {
|
|
80
|
+
/**
|
|
81
|
+
* Array of long task IDs.
|
|
82
|
+
*/
|
|
83
|
+
readonly id: string[]
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Vital properties.
|
|
87
|
+
*/
|
|
88
|
+
readonly vital?: {
|
|
89
|
+
/**
|
|
90
|
+
* Array of vital IDs.
|
|
91
|
+
*/
|
|
92
|
+
readonly id: string[]
|
|
93
|
+
/**
|
|
94
|
+
* Array of vital labels.
|
|
95
|
+
*/
|
|
96
|
+
readonly label: string[]
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* List of attachment filenames.
|
|
100
|
+
*/
|
|
101
|
+
readonly attachments: string[]
|
|
102
|
+
/**
|
|
103
|
+
* Start time as ISO 8601 date string (yyyy-MM-dd'T'HH:mm:ss.SSS'Z').
|
|
104
|
+
*/
|
|
105
|
+
readonly start: string
|
|
106
|
+
/**
|
|
107
|
+
* End time marking when the profile ended, as ISO 8601 date string (yyyy-MM-dd'T'HH:mm:ss.SSS'Z').
|
|
108
|
+
*/
|
|
109
|
+
readonly end: string
|
|
110
|
+
/**
|
|
111
|
+
* Profiler family.
|
|
112
|
+
*/
|
|
113
|
+
readonly family: 'android' | 'chrome' | 'ios'
|
|
114
|
+
/**
|
|
115
|
+
* Runtime environment.
|
|
116
|
+
*/
|
|
117
|
+
readonly runtime: 'android' | 'chrome' | 'ios'
|
|
118
|
+
/**
|
|
119
|
+
* Profile ingestion event version.
|
|
120
|
+
*/
|
|
121
|
+
readonly version: number
|
|
122
|
+
/**
|
|
123
|
+
* Comma-separated profiler tags.
|
|
124
|
+
*/
|
|
125
|
+
readonly tags_profiler: string
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Schema of a RUM profiler trace containing profiling data enriched with RUM context.
|
|
129
|
+
*/
|
|
130
|
+
export interface BrowserProfilerTrace {
|
|
131
|
+
/**
|
|
132
|
+
* An array of profiler resources.
|
|
133
|
+
*/
|
|
134
|
+
readonly resources: string[]
|
|
135
|
+
/**
|
|
136
|
+
* Mapping of profiler resources to their debug IDs for source map deobfuscation.
|
|
137
|
+
*/
|
|
138
|
+
readonly debugIds?: ResourceDebugId[]
|
|
139
|
+
/**
|
|
140
|
+
* An array of profiler frames.
|
|
141
|
+
*/
|
|
142
|
+
readonly frames: ProfilerFrame[]
|
|
143
|
+
/**
|
|
144
|
+
* An array of profiler stacks.
|
|
145
|
+
*/
|
|
146
|
+
readonly stacks: ProfilerStack[]
|
|
147
|
+
/**
|
|
148
|
+
* An array of profiler samples.
|
|
149
|
+
*/
|
|
150
|
+
readonly samples: ProfilerSample[]
|
|
151
|
+
startClocks: ClocksState
|
|
152
|
+
endClocks: ClocksState
|
|
153
|
+
clocksOrigin: ClocksState
|
|
154
|
+
/**
|
|
155
|
+
* Sample interval in milliseconds.
|
|
156
|
+
*/
|
|
157
|
+
readonly sampleInterval: number
|
|
158
|
+
/**
|
|
159
|
+
* List of detected long tasks.
|
|
160
|
+
*/
|
|
161
|
+
readonly longTasks: RumProfilerLongTaskEntry[]
|
|
162
|
+
/**
|
|
163
|
+
* List of detected vital entries.
|
|
164
|
+
*/
|
|
165
|
+
readonly vitals?: RumProfilerVitalEntry[]
|
|
166
|
+
/**
|
|
167
|
+
* List of detected action entries.
|
|
168
|
+
*/
|
|
169
|
+
readonly actions?: RumProfilerActionEntry[]
|
|
170
|
+
/**
|
|
171
|
+
* List of detected navigation entries.
|
|
172
|
+
*/
|
|
173
|
+
readonly views: RumViewEntry[]
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Association between a profiler resource and its debug ID.
|
|
177
|
+
*/
|
|
178
|
+
export interface ResourceDebugId {
|
|
179
|
+
/**
|
|
180
|
+
* Index in the trace.resources array.
|
|
181
|
+
*/
|
|
182
|
+
readonly resourceId: number
|
|
183
|
+
/**
|
|
184
|
+
* Debug ID (UUID) for the resource, used for source map deobfuscation.
|
|
185
|
+
*/
|
|
186
|
+
readonly debugId: string
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Schema of a profiler frame from the JS Self-Profiling API.
|
|
190
|
+
*/
|
|
191
|
+
export interface ProfilerFrame {
|
|
192
|
+
/**
|
|
193
|
+
* A function instance name.
|
|
194
|
+
*/
|
|
195
|
+
readonly name: string
|
|
196
|
+
/**
|
|
197
|
+
* Index in the trace.resources array.
|
|
198
|
+
*/
|
|
199
|
+
readonly resourceId?: number
|
|
200
|
+
/**
|
|
201
|
+
* 1-based index of the line.
|
|
202
|
+
*/
|
|
203
|
+
readonly line?: number
|
|
204
|
+
/**
|
|
205
|
+
* 1-based index of the column.
|
|
206
|
+
*/
|
|
207
|
+
readonly column?: number
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Schema of a profiler stack from the JS Self-Profiling API.
|
|
211
|
+
*/
|
|
212
|
+
export interface ProfilerStack {
|
|
213
|
+
/**
|
|
214
|
+
* Index in the trace.stacks array.
|
|
215
|
+
*/
|
|
216
|
+
readonly parentId?: number
|
|
217
|
+
/**
|
|
218
|
+
* Index in the trace.frames array.
|
|
219
|
+
*/
|
|
220
|
+
readonly frameId: number
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Schema of a profiler sample from the JS Self-Profiling API.
|
|
224
|
+
*/
|
|
225
|
+
export interface ProfilerSample {
|
|
226
|
+
/**
|
|
227
|
+
* High resolution time relative to the profiling session's time origin.
|
|
228
|
+
*/
|
|
229
|
+
readonly timestamp: number
|
|
230
|
+
/**
|
|
231
|
+
* Index in the trace.stacks array.
|
|
232
|
+
*/
|
|
233
|
+
readonly stackId?: number
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Schema of timing state with both relative and absolute timestamps.
|
|
237
|
+
*/
|
|
238
|
+
export interface ClocksState {
|
|
239
|
+
/**
|
|
240
|
+
* Time relative to navigation start in milliseconds.
|
|
241
|
+
*/
|
|
242
|
+
readonly relative: number
|
|
243
|
+
/**
|
|
244
|
+
* Epoch time in milliseconds.
|
|
245
|
+
*/
|
|
246
|
+
readonly timeStamp: number
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Schema of a long task entry recorded during profiling.
|
|
250
|
+
*/
|
|
251
|
+
export interface RumProfilerLongTaskEntry {
|
|
252
|
+
/**
|
|
253
|
+
* RUM Long Task id.
|
|
254
|
+
*/
|
|
255
|
+
readonly id?: string
|
|
256
|
+
/**
|
|
257
|
+
* Duration in ms of the long task or long animation frame.
|
|
258
|
+
*/
|
|
259
|
+
readonly duration: number
|
|
260
|
+
/**
|
|
261
|
+
* Type of the event: long task or long animation frame
|
|
262
|
+
*/
|
|
263
|
+
readonly entryType: 'longtask' | 'long-animation-frame'
|
|
264
|
+
startClocks: ClocksState
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Schema of a vital entry recorded during profiling.
|
|
268
|
+
*/
|
|
269
|
+
export interface RumProfilerVitalEntry {
|
|
270
|
+
/**
|
|
271
|
+
* RUM Vital id.
|
|
272
|
+
*/
|
|
273
|
+
readonly id: string
|
|
274
|
+
/**
|
|
275
|
+
* RUM Vital label.
|
|
276
|
+
*/
|
|
277
|
+
readonly label: string
|
|
278
|
+
/**
|
|
279
|
+
* Duration in ms of the vital.
|
|
280
|
+
*/
|
|
281
|
+
readonly duration?: number
|
|
282
|
+
startClocks: ClocksState
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Schema of a action entry recorded during profiling.
|
|
286
|
+
*/
|
|
287
|
+
export interface RumProfilerActionEntry {
|
|
288
|
+
/**
|
|
289
|
+
* RUM Action id.
|
|
290
|
+
*/
|
|
291
|
+
readonly id: string
|
|
292
|
+
/**
|
|
293
|
+
* RUM Action label.
|
|
294
|
+
*/
|
|
295
|
+
readonly label: string
|
|
296
|
+
/**
|
|
297
|
+
* Duration in ms of the duration vital.
|
|
298
|
+
*/
|
|
299
|
+
readonly duration?: number
|
|
300
|
+
startClocks: ClocksState
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Schema of a RUM view entry recorded during profiling.
|
|
304
|
+
*/
|
|
305
|
+
export interface RumViewEntry {
|
|
306
|
+
startClocks: ClocksState
|
|
307
|
+
/**
|
|
308
|
+
* RUM view id.
|
|
309
|
+
*/
|
|
310
|
+
readonly viewId: string
|
|
311
|
+
/**
|
|
312
|
+
* RUM view name.
|
|
313
|
+
*/
|
|
314
|
+
readonly viewName?: string
|
|
315
|
+
}
|