@atlaskit/react-ufo 3.4.14 → 3.5.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/CHANGELOG.md +22 -0
- package/dist/cjs/additional-payload/utils/cache-hit-ratio/index.js +5 -4
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/index.js +6 -6
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/tbt/index.js +3 -2
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
- package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
- package/dist/cjs/assets/index.js +17 -14
- package/dist/cjs/assets/utils.js +9 -8
- package/dist/cjs/bundle-eval-timing/index.js +8 -8
- package/dist/cjs/coinflip/index.js +5 -3
- package/dist/cjs/common/constants.js +3 -2
- package/dist/cjs/common/react-ufo-payload-schema.js +5 -0
- package/dist/cjs/config/index.js +30 -42
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +29 -39
- package/dist/cjs/create-payload/common/utils/index.js +16 -20
- package/dist/cjs/create-payload/index.js +150 -140
- package/dist/cjs/create-payload/utils/get-interaction-status.js +5 -3
- package/dist/cjs/create-payload/utils/get-page-visibility-up-to-ttai.js +5 -3
- package/dist/cjs/create-payload/utils/get-ssr-done-time-value.js +5 -3
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +10 -8
- package/dist/cjs/create-post-interaction-log-payload/index.js +15 -13
- package/dist/cjs/custom-data/index.js +4 -3
- package/dist/cjs/custom-mark/index.js +4 -3
- package/dist/cjs/custom-spans/index.js +4 -3
- package/dist/cjs/custom-timings/index.js +6 -6
- package/dist/cjs/experience-trace-id-context/index.js +15 -14
- package/dist/cjs/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +3 -2
- package/dist/cjs/feature-flags-accessed/common/utils/index.js +11 -10
- package/dist/cjs/feature-flags-accessed/index.js +3 -2
- package/dist/cjs/generate-id/index.js +5 -3
- package/dist/cjs/global-error-handler/index.js +14 -13
- package/dist/cjs/initial-page-load-extra-timing/index.js +6 -6
- package/dist/cjs/interaction-metrics/index.js +110 -145
- package/dist/cjs/interaction-metrics/post-interaction-log.js +10 -0
- package/dist/cjs/interaction-metrics-init/index.js +17 -10
- package/dist/cjs/interaction-metrics-init/schedule-idle-callback.js +8 -4
- package/dist/cjs/resource-timing/common/utils/config.js +10 -10
- package/dist/cjs/resource-timing/common/utils/resource-timing-buffer.js +13 -12
- package/dist/cjs/resource-timing/main.js +27 -20
- package/dist/cjs/resource-timing/utils.js +4 -3
- package/dist/cjs/round-number/index.js +3 -2
- package/dist/cjs/route-name/index.js +5 -3
- package/dist/cjs/segment/schedule-on-paint.js +8 -5
- package/dist/cjs/segment/segment.js +9 -5
- package/dist/cjs/self-measurements/index.js +261 -0
- package/dist/cjs/set-interaction-error/index.js +4 -3
- package/dist/cjs/short-id/index.js +5 -3
- package/dist/cjs/ssr/index.js +18 -21
- package/dist/cjs/trace-interaction/index.js +7 -5
- package/dist/cjs/trace-pageload/index.js +7 -6
- package/dist/cjs/trace-press/index.js +5 -3
- package/dist/cjs/trace-redirect/index.js +5 -3
- package/dist/cjs/trace-transition/index.js +6 -4
- package/dist/cjs/trace-transition/utils/generate-span-id/index.js +3 -2
- package/dist/cjs/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
- package/dist/cjs/vc/index.js +17 -6
- package/dist/cjs/vc/vc-observer/attachAbortListeners.js +3 -2
- package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +41 -26
- package/dist/cjs/vc/vc-observer/getViewport.js +6 -6
- package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +28 -12
- package/dist/cjs/vc/vc-observer/index.js +170 -133
- package/dist/cjs/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
- package/dist/cjs/vc/vc-observer/observers/editor-lnv/index.js +17 -0
- package/dist/cjs/vc/vc-observer/observers/index.js +82 -25
- package/dist/cjs/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +5 -8
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +17 -2
- package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +7 -7
- package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +2 -0
- package/dist/cjs/vc/vc-observer/revisions/revisions.js +3 -2
- package/dist/cjs/vc/vc-observer-new/entries-timeline/index.js +9 -0
- package/dist/cjs/vc/vc-observer-new/get-element-name.js +5 -3
- package/dist/cjs/vc/vc-observer-new/get-unique-element-name.js +13 -11
- package/dist/cjs/vc/vc-observer-new/index.js +9 -0
- package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
- package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +6 -1
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +20 -12
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +27 -26
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +27 -14
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +10 -8
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +50 -40
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +10 -8
- package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +5 -3
- package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +5 -3
- package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +5 -3
- package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/task-yield.js +10 -8
- package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +15 -7
- package/dist/cjs/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
- package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +16 -13
- package/dist/cjs/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -9
- package/dist/cjs/vc/vc-observer-new/window-event-observer/index.js +7 -1
- package/dist/es2019/additional-payload/utils/cache-hit-ratio/index.js +6 -5
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/index.js +6 -5
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/tbt/index.js +16 -13
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
- package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
- package/dist/es2019/assets/index.js +19 -14
- package/dist/es2019/assets/utils.js +11 -9
- package/dist/es2019/bundle-eval-timing/index.js +7 -6
- package/dist/es2019/coinflip/index.js +5 -2
- package/dist/es2019/common/constants.js +3 -2
- package/dist/es2019/common/react-ufo-payload-schema.js +1 -0
- package/dist/es2019/config/index.js +29 -28
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +18 -15
- package/dist/es2019/create-payload/common/utils/index.js +15 -14
- package/dist/es2019/create-payload/index.js +87 -71
- package/dist/es2019/create-payload/utils/get-interaction-status.js +5 -2
- package/dist/es2019/create-payload/utils/get-page-visibility-up-to-ttai.js +4 -2
- package/dist/es2019/create-payload/utils/get-ssr-done-time-value.js +4 -2
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +4 -2
- package/dist/es2019/create-post-interaction-log-payload/index.js +14 -12
- package/dist/es2019/custom-data/index.js +3 -2
- package/dist/es2019/custom-mark/index.js +3 -2
- package/dist/es2019/custom-spans/index.js +3 -2
- package/dist/es2019/custom-timings/index.js +5 -4
- package/dist/es2019/experience-trace-id-context/index.js +16 -13
- package/dist/es2019/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +6 -3
- package/dist/es2019/feature-flags-accessed/common/utils/index.js +14 -7
- package/dist/es2019/feature-flags-accessed/index.js +3 -2
- package/dist/es2019/generate-id/index.js +4 -2
- package/dist/es2019/global-error-handler/index.js +15 -12
- package/dist/es2019/initial-page-load-extra-timing/index.js +5 -4
- package/dist/es2019/interaction-metrics/index.js +109 -108
- package/dist/es2019/interaction-metrics/post-interaction-log.js +10 -0
- package/dist/es2019/interaction-metrics-init/index.js +17 -10
- package/dist/es2019/interaction-metrics-init/schedule-idle-callback.js +7 -3
- package/dist/es2019/resource-timing/common/utils/config.js +10 -7
- package/dist/es2019/resource-timing/common/utils/resource-timing-buffer.js +14 -11
- package/dist/es2019/resource-timing/main.js +33 -18
- package/dist/es2019/resource-timing/utils.js +3 -2
- package/dist/es2019/round-number/index.js +3 -2
- package/dist/es2019/route-name/index.js +4 -2
- package/dist/es2019/segment/schedule-on-paint.js +7 -4
- package/dist/es2019/segment/segment.js +9 -5
- package/dist/es2019/self-measurements/index.js +213 -0
- package/dist/es2019/set-interaction-error/index.js +3 -2
- package/dist/es2019/short-id/index.js +4 -2
- package/dist/es2019/ssr/index.js +21 -16
- package/dist/es2019/trace-interaction/index.js +6 -4
- package/dist/es2019/trace-pageload/index.js +6 -4
- package/dist/es2019/trace-press/index.js +4 -2
- package/dist/es2019/trace-redirect/index.js +4 -2
- package/dist/es2019/trace-transition/index.js +5 -3
- package/dist/es2019/trace-transition/utils/generate-span-id/index.js +4 -1
- package/dist/es2019/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
- package/dist/es2019/vc/index.js +16 -4
- package/dist/es2019/vc/vc-observer/attachAbortListeners.js +3 -2
- package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +41 -25
- package/dist/es2019/vc/vc-observer/getViewport.js +5 -4
- package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +28 -10
- package/dist/es2019/vc/vc-observer/index.js +158 -116
- package/dist/es2019/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
- package/dist/es2019/vc/vc-observer/observers/editor-lnv/index.js +17 -0
- package/dist/es2019/vc/vc-observer/observers/index.js +80 -25
- package/dist/es2019/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +4 -7
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +17 -2
- package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +7 -7
- package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +2 -0
- package/dist/es2019/vc/vc-observer/revisions/revisions.js +3 -2
- package/dist/es2019/vc/vc-observer-new/entries-timeline/index.js +9 -0
- package/dist/es2019/vc/vc-observer-new/get-element-name.js +4 -2
- package/dist/es2019/vc/vc-observer-new/get-unique-element-name.js +12 -10
- package/dist/es2019/vc/vc-observer-new/index.js +9 -0
- package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
- package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +3 -0
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +14 -4
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +6 -4
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +21 -8
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +4 -2
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +10 -8
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +4 -2
- package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +4 -2
- package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +4 -2
- package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +4 -2
- package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/task-yield.js +5 -2
- package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +15 -7
- package/dist/es2019/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
- package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +15 -13
- package/dist/es2019/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -9
- package/dist/es2019/vc/vc-observer-new/window-event-observer/index.js +7 -1
- package/dist/esm/additional-payload/utils/cache-hit-ratio/index.js +5 -4
- package/dist/esm/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
- package/dist/esm/additional-payload/utils/lighthouse-metrics/index.js +5 -4
- package/dist/esm/additional-payload/utils/lighthouse-metrics/tbt/index.js +3 -2
- package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
- package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
- package/dist/esm/assets/index.js +17 -14
- package/dist/esm/assets/utils.js +10 -8
- package/dist/esm/bundle-eval-timing/index.js +7 -6
- package/dist/esm/coinflip/index.js +5 -2
- package/dist/esm/common/constants.js +3 -2
- package/dist/esm/common/react-ufo-payload-schema.js +1 -0
- package/dist/esm/config/index.js +29 -28
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +28 -35
- package/dist/esm/create-payload/common/utils/index.js +15 -14
- package/dist/esm/create-payload/index.js +149 -139
- package/dist/esm/create-payload/utils/get-interaction-status.js +5 -2
- package/dist/esm/create-payload/utils/get-page-visibility-up-to-ttai.js +4 -2
- package/dist/esm/create-payload/utils/get-ssr-done-time-value.js +4 -2
- package/dist/esm/create-payload/utils/get-vc-metrics.js +9 -7
- package/dist/esm/create-post-interaction-log-payload/index.js +14 -12
- package/dist/esm/custom-data/index.js +3 -2
- package/dist/esm/custom-mark/index.js +3 -2
- package/dist/esm/custom-spans/index.js +3 -2
- package/dist/esm/custom-timings/index.js +5 -4
- package/dist/esm/experience-trace-id-context/index.js +15 -14
- package/dist/esm/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +3 -2
- package/dist/esm/feature-flags-accessed/common/utils/index.js +11 -10
- package/dist/esm/feature-flags-accessed/index.js +3 -2
- package/dist/esm/generate-id/index.js +4 -2
- package/dist/esm/global-error-handler/index.js +14 -13
- package/dist/esm/initial-page-load-extra-timing/index.js +5 -4
- package/dist/esm/interaction-metrics/index.js +109 -108
- package/dist/esm/interaction-metrics/post-interaction-log.js +10 -0
- package/dist/esm/interaction-metrics-init/index.js +17 -10
- package/dist/esm/interaction-metrics-init/schedule-idle-callback.js +7 -3
- package/dist/esm/resource-timing/common/utils/config.js +9 -8
- package/dist/esm/resource-timing/common/utils/resource-timing-buffer.js +13 -12
- package/dist/esm/resource-timing/main.js +27 -20
- package/dist/esm/resource-timing/utils.js +3 -2
- package/dist/esm/round-number/index.js +3 -2
- package/dist/esm/route-name/index.js +4 -2
- package/dist/esm/segment/schedule-on-paint.js +7 -4
- package/dist/esm/segment/segment.js +9 -5
- package/dist/esm/self-measurements/index.js +246 -0
- package/dist/esm/set-interaction-error/index.js +3 -2
- package/dist/esm/short-id/index.js +4 -2
- package/dist/esm/ssr/index.js +17 -16
- package/dist/esm/trace-interaction/index.js +6 -4
- package/dist/esm/trace-pageload/index.js +6 -4
- package/dist/esm/trace-press/index.js +4 -2
- package/dist/esm/trace-redirect/index.js +4 -2
- package/dist/esm/trace-transition/index.js +5 -3
- package/dist/esm/trace-transition/utils/generate-span-id/index.js +3 -2
- package/dist/esm/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
- package/dist/esm/vc/index.js +16 -4
- package/dist/esm/vc/vc-observer/attachAbortListeners.js +3 -2
- package/dist/esm/vc/vc-observer/getVCRevisionsData.js +40 -25
- package/dist/esm/vc/vc-observer/getViewport.js +5 -4
- package/dist/esm/vc/vc-observer/heatmap/heatmap.js +28 -12
- package/dist/esm/vc/vc-observer/index.js +170 -133
- package/dist/esm/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
- package/dist/esm/vc/vc-observer/observers/editor-lnv/index.js +17 -0
- package/dist/esm/vc/vc-observer/observers/index.js +82 -25
- package/dist/esm/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +4 -7
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +17 -2
- package/dist/esm/vc/vc-observer/revisions/fy25_01.js +7 -7
- package/dist/esm/vc/vc-observer/revisions/fy25_02.js +2 -0
- package/dist/esm/vc/vc-observer/revisions/revisions.js +3 -2
- package/dist/esm/vc/vc-observer-new/entries-timeline/index.js +9 -0
- package/dist/esm/vc/vc-observer-new/get-element-name.js +4 -2
- package/dist/esm/vc/vc-observer-new/get-unique-element-name.js +12 -10
- package/dist/esm/vc/vc-observer-new/index.js +9 -0
- package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
- package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +6 -1
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +19 -9
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +26 -24
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +26 -13
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +9 -7
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +49 -39
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +9 -7
- package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +4 -2
- package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +4 -2
- package/dist/esm/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +4 -2
- package/dist/esm/vc/vc-observer-new/metric-calculator/utils/task-yield.js +10 -7
- package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +15 -7
- package/dist/esm/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
- package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +15 -12
- package/dist/esm/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -7
- package/dist/esm/vc/vc-observer-new/window-event-observer/index.js +7 -1
- package/dist/types/additional-payload/utils/cache-hit-ratio/index.d.ts +1 -1
- package/dist/types/additional-payload/utils/lighthouse-metrics/index.d.ts +2 -2
- package/dist/types/assets/index.d.ts +3 -1
- package/dist/types/assets/utils.d.ts +1 -1
- package/dist/types/bundle-eval-timing/index.d.ts +2 -2
- package/dist/types/coinflip/index.d.ts +2 -1
- package/dist/types/common/index.d.ts +2 -1
- package/dist/types/common/react-ufo-payload-schema.d.ts +175 -0
- package/dist/types/common/vc/types.d.ts +20 -10
- package/dist/types/config/index.d.ts +14 -16
- package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +4 -3
- package/dist/types/create-payload/common/utils/index.d.ts +6 -7
- package/dist/types/create-payload/index.d.ts +1250 -1537
- package/dist/types/create-payload/utils/get-interaction-status.d.ts +2 -1
- package/dist/types/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +2 -1
- package/dist/types/create-payload/utils/get-ssr-done-time-value.d.ts +2 -1
- package/dist/types/create-payload/utils/get-vc-metrics.d.ts +3 -2
- package/dist/types/create-post-interaction-log-payload/index.d.ts +3 -2
- package/dist/types/custom-data/index.d.ts +1 -1
- package/dist/types/custom-mark/index.d.ts +1 -1
- package/dist/types/custom-spans/index.d.ts +1 -1
- package/dist/types/custom-timings/index.d.ts +2 -2
- package/dist/types/generate-id/index.d.ts +2 -1
- package/dist/types/hidden-timing/index.d.ts +1 -1
- package/dist/types/initial-page-load-extra-timing/index.d.ts +2 -2
- package/dist/types/interaction-context/index.d.ts +3 -3
- package/dist/types/interaction-metrics/index.d.ts +42 -42
- package/dist/types/interaction-metrics/post-interaction-log.d.ts +1 -0
- package/dist/types/interaction-metrics-init/schedule-idle-callback.d.ts +2 -1
- package/dist/types/resource-timing/common/utils/config.d.ts +1 -1
- package/dist/types/resource-timing/utils.d.ts +1 -1
- package/dist/types/round-number/index.d.ts +1 -1
- package/dist/types/route-name/index.d.ts +4 -3
- package/dist/types/segment/schedule-on-paint.d.ts +2 -1
- package/dist/types/self-measurements/index.d.ts +57 -0
- package/dist/types/set-interaction-error/index.d.ts +1 -1
- package/dist/types/short-id/index.d.ts +2 -1
- package/dist/types/ssr/index.d.ts +5 -5
- package/dist/types/trace-interaction/index.d.ts +2 -1
- package/dist/types/trace-pageload/index.d.ts +3 -2
- package/dist/types/trace-press/index.d.ts +2 -1
- package/dist/types/trace-redirect/index.d.ts +2 -1
- package/dist/types/trace-transition/index.d.ts +2 -1
- package/dist/types/vc/index.d.ts +2 -2
- package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +7 -7
- package/dist/types/vc/vc-observer/getViewport.d.ts +2 -2
- package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +7 -4
- package/dist/types/vc/vc-observer/index.d.ts +4 -4
- package/dist/types/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +5 -4
- package/dist/types/vc/vc-observer/observers/types.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/get-element-name.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/get-unique-element-name.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +2 -3
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +3 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +3 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +3 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +3 -3
- package/dist/types-ts4.5/additional-payload/utils/cache-hit-ratio/index.d.ts +1 -1
- package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/index.d.ts +2 -2
- package/dist/types-ts4.5/assets/index.d.ts +3 -1
- package/dist/types-ts4.5/assets/utils.d.ts +1 -1
- package/dist/types-ts4.5/bundle-eval-timing/index.d.ts +2 -2
- package/dist/types-ts4.5/coinflip/index.d.ts +2 -1
- package/dist/types-ts4.5/common/index.d.ts +2 -1
- package/dist/types-ts4.5/common/react-ufo-payload-schema.d.ts +177 -0
- package/dist/types-ts4.5/common/vc/types.d.ts +20 -10
- package/dist/types-ts4.5/config/index.d.ts +14 -20
- package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +4 -3
- package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +6 -7
- package/dist/types-ts4.5/create-payload/index.d.ts +1250 -1537
- package/dist/types-ts4.5/create-payload/utils/get-interaction-status.d.ts +2 -1
- package/dist/types-ts4.5/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +2 -1
- package/dist/types-ts4.5/create-payload/utils/get-ssr-done-time-value.d.ts +2 -1
- package/dist/types-ts4.5/create-payload/utils/get-vc-metrics.d.ts +3 -2
- package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +3 -2
- package/dist/types-ts4.5/custom-data/index.d.ts +1 -1
- package/dist/types-ts4.5/custom-mark/index.d.ts +1 -1
- package/dist/types-ts4.5/custom-spans/index.d.ts +1 -1
- package/dist/types-ts4.5/custom-timings/index.d.ts +2 -2
- package/dist/types-ts4.5/generate-id/index.d.ts +2 -1
- package/dist/types-ts4.5/hidden-timing/index.d.ts +1 -1
- package/dist/types-ts4.5/initial-page-load-extra-timing/index.d.ts +2 -2
- package/dist/types-ts4.5/interaction-context/index.d.ts +3 -3
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +42 -42
- package/dist/types-ts4.5/interaction-metrics/post-interaction-log.d.ts +1 -0
- package/dist/types-ts4.5/interaction-metrics-init/schedule-idle-callback.d.ts +2 -1
- package/dist/types-ts4.5/resource-timing/common/utils/config.d.ts +1 -1
- package/dist/types-ts4.5/resource-timing/utils.d.ts +1 -1
- package/dist/types-ts4.5/round-number/index.d.ts +1 -1
- package/dist/types-ts4.5/route-name/index.d.ts +4 -3
- package/dist/types-ts4.5/segment/schedule-on-paint.d.ts +2 -1
- package/dist/types-ts4.5/self-measurements/index.d.ts +57 -0
- package/dist/types-ts4.5/set-interaction-error/index.d.ts +1 -1
- package/dist/types-ts4.5/short-id/index.d.ts +2 -1
- package/dist/types-ts4.5/ssr/index.d.ts +5 -5
- package/dist/types-ts4.5/trace-interaction/index.d.ts +2 -1
- package/dist/types-ts4.5/trace-pageload/index.d.ts +3 -2
- package/dist/types-ts4.5/trace-press/index.d.ts +2 -1
- package/dist/types-ts4.5/trace-redirect/index.d.ts +2 -1
- package/dist/types-ts4.5/trace-transition/index.d.ts +2 -1
- package/dist/types-ts4.5/vc/index.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +7 -7
- package/dist/types-ts4.5/vc/vc-observer/getViewport.d.ts +2 -2
- package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +7 -4
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +4 -4
- package/dist/types-ts4.5/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +5 -4
- package/dist/types-ts4.5/vc/vc-observer/observers/types.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/get-element-name.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/get-unique-element-name.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +2 -3
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +3 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +3 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +3 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +3 -3
- package/package.json +12 -12
package/dist/esm/ssr/index.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
+
import { withProfiling } from '../self-measurements';
|
|
2
3
|
var NESTED_METRIC_SEPARATOR = '/';
|
|
3
|
-
var filterEntry = function filterEntry(entry) {
|
|
4
|
+
var filterEntry = withProfiling(function filterEntry(entry) {
|
|
4
5
|
return !(!entry || _typeof(entry) !== 'object' || entry.startTime < 0 || entry.duration < 0);
|
|
5
|
-
};
|
|
6
|
-
var mapEntry = function mapEntry(entry) {
|
|
6
|
+
});
|
|
7
|
+
var mapEntry = withProfiling(function mapEntry(entry) {
|
|
7
8
|
return {
|
|
8
9
|
startTime: Math.round(entry.startTime),
|
|
9
10
|
duration: Math.round(entry.duration)
|
|
10
11
|
};
|
|
11
|
-
};
|
|
12
|
+
});
|
|
12
13
|
var SSR_PREFIX = 'ssr';
|
|
13
|
-
var mapKey = function mapKey(key) {
|
|
14
|
+
var mapKey = withProfiling(function mapKey(key) {
|
|
14
15
|
if (key === 'total') {
|
|
15
16
|
return SSR_PREFIX;
|
|
16
17
|
}
|
|
17
18
|
return "".concat(SSR_PREFIX).concat(NESTED_METRIC_SEPARATOR).concat(key);
|
|
18
|
-
};
|
|
19
|
+
});
|
|
19
20
|
var config;
|
|
20
|
-
export function configure(ssrConfig) {
|
|
21
|
+
export var configure = withProfiling(function configure(ssrConfig) {
|
|
21
22
|
config = ssrConfig;
|
|
22
|
-
}
|
|
23
|
-
export function getSSRTimings() {
|
|
23
|
+
});
|
|
24
|
+
export var getSSRTimings = withProfiling(function getSSRTimings() {
|
|
24
25
|
var _config;
|
|
25
26
|
if (!((_config = config) !== null && _config !== void 0 && _config.getTimings)) {
|
|
26
27
|
return {};
|
|
@@ -36,16 +37,16 @@ export function getSSRTimings() {
|
|
|
36
37
|
return acc;
|
|
37
38
|
}, {});
|
|
38
39
|
return ssrTimings;
|
|
39
|
-
}
|
|
40
|
-
export function getSSRSuccess() {
|
|
40
|
+
});
|
|
41
|
+
export var getSSRSuccess = withProfiling(function getSSRSuccess() {
|
|
41
42
|
var _config2;
|
|
42
43
|
return !!((_config2 = config) !== null && _config2 !== void 0 && _config2.getDoneMark());
|
|
43
|
-
}
|
|
44
|
-
export function getSSRDoneTime() {
|
|
44
|
+
});
|
|
45
|
+
export var getSSRDoneTime = withProfiling(function getSSRDoneTime() {
|
|
45
46
|
var _config$getDoneMark, _config3;
|
|
46
47
|
return (_config$getDoneMark = (_config3 = config) === null || _config3 === void 0 ? void 0 : _config3.getDoneMark()) !== null && _config$getDoneMark !== void 0 ? _config$getDoneMark : undefined;
|
|
47
|
-
}
|
|
48
|
-
export function getSSRFeatureFlags() {
|
|
48
|
+
});
|
|
49
|
+
export var getSSRFeatureFlags = withProfiling(function getSSRFeatureFlags() {
|
|
49
50
|
var _config4;
|
|
50
51
|
if (!((_config4 = config) !== null && _config4 !== void 0 && _config4.getFeatureFlags)) {
|
|
51
52
|
return undefined;
|
|
@@ -56,4 +57,4 @@ export function getSSRFeatureFlags() {
|
|
|
56
57
|
// eslint-disable-next-line no-empty
|
|
57
58
|
} catch (e) {}
|
|
58
59
|
return undefined;
|
|
59
|
-
}
|
|
60
|
+
});
|
|
@@ -4,7 +4,8 @@ import { getDoNotAbortActivePressInteraction, getInteractionRate } from '../conf
|
|
|
4
4
|
import { DefaultInteractionID } from '../interaction-id-context';
|
|
5
5
|
import { abortAll, addNewInteraction, getActiveInteraction } from '../interaction-metrics';
|
|
6
6
|
import UFORouteName from '../route-name-context';
|
|
7
|
-
|
|
7
|
+
import { withProfiling } from '../self-measurements';
|
|
8
|
+
var mapToInteractionType = withProfiling(function mapToInteractionType(eventType) {
|
|
8
9
|
if (eventType === 'click' || eventType === 'dblclick' || eventType === 'mousedown') {
|
|
9
10
|
return 'press';
|
|
10
11
|
}
|
|
@@ -12,8 +13,8 @@ function mapToInteractionType(eventType) {
|
|
|
12
13
|
return 'hover';
|
|
13
14
|
}
|
|
14
15
|
return undefined;
|
|
15
|
-
}
|
|
16
|
-
|
|
16
|
+
});
|
|
17
|
+
var traceUFOInteraction = withProfiling(function traceUFOInteraction(name, event) {
|
|
17
18
|
if (!event || !event.isTrusted) {
|
|
18
19
|
return;
|
|
19
20
|
}
|
|
@@ -38,4 +39,5 @@ export default function traceUFOInteraction(name, event) {
|
|
|
38
39
|
DefaultInteractionID.current = newId;
|
|
39
40
|
addNewInteraction(newId, name, 'press', startTimestamp, rate, [], UFORouteName.current);
|
|
40
41
|
}
|
|
41
|
-
}
|
|
42
|
+
});
|
|
43
|
+
export default traceUFOInteraction;
|
|
@@ -5,8 +5,9 @@ import { getActiveTrace } from '../experience-trace-id-context';
|
|
|
5
5
|
import { DefaultInteractionID } from '../interaction-id-context';
|
|
6
6
|
import { abort, addHoldByID, addNewInteraction, getActiveInteraction, removeHoldByID, updatePageLoadInteractionName } from '../interaction-metrics';
|
|
7
7
|
import UFORouteName from '../route-name-context';
|
|
8
|
+
import { withProfiling } from '../self-measurements';
|
|
8
9
|
var AWAITING_PAGELOAD_NAME = 'awaiting_pageload_name';
|
|
9
|
-
|
|
10
|
+
var traceUFOPageLoad = withProfiling(function traceUFOPageLoad(ufoName) {
|
|
10
11
|
var routeName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ufoName;
|
|
11
12
|
var activeInteraction = getActiveInteraction();
|
|
12
13
|
if (activeInteraction && !ufoName) {
|
|
@@ -30,8 +31,9 @@ export default function traceUFOPageLoad(ufoName) {
|
|
|
30
31
|
updatePageLoadInteractionName(ufoName, routeName);
|
|
31
32
|
removeHoldByID(activeInteraction.id, AWAITING_PAGELOAD_NAME);
|
|
32
33
|
}
|
|
33
|
-
}
|
|
34
|
-
export
|
|
34
|
+
});
|
|
35
|
+
export default traceUFOPageLoad;
|
|
36
|
+
export var updatePageloadName = withProfiling(function updatePageloadName(ufoName) {
|
|
35
37
|
var routeName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ufoName;
|
|
36
38
|
var interaction = getActiveInteraction();
|
|
37
39
|
if (!interaction || interaction.type !== 'page_load' && interaction.type !== 'transition') {
|
|
@@ -47,4 +49,4 @@ export function updatePageloadName(ufoName) {
|
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
removeHoldByID(interaction.id, AWAITING_PAGELOAD_NAME);
|
|
50
|
-
}
|
|
52
|
+
});
|
|
@@ -5,7 +5,8 @@ import { getActiveTrace, setInteractionActiveTrace } from '../experience-trace-i
|
|
|
5
5
|
import { DefaultInteractionID } from '../interaction-id-context';
|
|
6
6
|
import { abortAll, addNewInteraction, getActiveInteraction } from '../interaction-metrics';
|
|
7
7
|
import UFORouteName from '../route-name-context';
|
|
8
|
-
|
|
8
|
+
import { withProfiling } from '../self-measurements';
|
|
9
|
+
var traceUFOPress = withProfiling(function traceUFOPress(name, timestamp) {
|
|
9
10
|
var rate = getInteractionRate(name, 'press');
|
|
10
11
|
var pressInteractionsList = getDoNotAbortActivePressInteraction();
|
|
11
12
|
if (pressInteractionsList !== null && pressInteractionsList !== void 0 && pressInteractionsList.includes(name)) {
|
|
@@ -24,4 +25,5 @@ export default function traceUFOPress(name, timestamp) {
|
|
|
24
25
|
DefaultInteractionID.current = newId;
|
|
25
26
|
addNewInteraction(newId, name, 'press', startTimestamp, rate, [], UFORouteName.current, getActiveTrace());
|
|
26
27
|
}
|
|
27
|
-
}
|
|
28
|
+
});
|
|
29
|
+
export default traceUFOPress;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { DefaultInteractionID } from '../interaction-id-context';
|
|
2
2
|
import { addRedirect } from '../interaction-metrics';
|
|
3
3
|
import UFORouteName from '../route-name-context';
|
|
4
|
-
|
|
4
|
+
import { withProfiling } from '../self-measurements';
|
|
5
|
+
var traceUFORedirect = withProfiling(function traceUFORedirect(fromUfoName, nextUfoName, nextRouteName, time) {
|
|
5
6
|
UFORouteName.current = nextUfoName;
|
|
6
7
|
var interactionId = DefaultInteractionID.current;
|
|
7
8
|
if (interactionId) {
|
|
8
9
|
addRedirect(interactionId, fromUfoName, nextUfoName, nextRouteName, time);
|
|
9
10
|
}
|
|
10
|
-
}
|
|
11
|
+
});
|
|
12
|
+
export default traceUFORedirect;
|
|
@@ -6,8 +6,9 @@ import { getActiveTrace } from '../experience-trace-id-context';
|
|
|
6
6
|
import UFOInteractionIDContext, { DefaultInteractionID } from '../interaction-id-context';
|
|
7
7
|
import { abortAll, addNewInteraction, addOnCancelCallback, getActiveInteraction, tryComplete } from '../interaction-metrics';
|
|
8
8
|
import UFORouteName from '../route-name-context';
|
|
9
|
+
import { withProfiling } from '../self-measurements';
|
|
9
10
|
import { setInteractionActiveTrace } from './utils/set-interaction-active-trace';
|
|
10
|
-
|
|
11
|
+
var traceUFOTransition = withProfiling(function traceUFOTransition(ufoName) {
|
|
11
12
|
var routeName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ufoName;
|
|
12
13
|
var pressInteractionsList = getDoNotAbortActivePressInteractionOnTransition();
|
|
13
14
|
var interaction = getActiveInteraction();
|
|
@@ -27,7 +28,7 @@ export default function traceUFOTransition(ufoName) {
|
|
|
27
28
|
addNewInteraction(newId, ufoName, 'transition', performance.now(), rate, null, routeName, getActiveTrace());
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
|
-
}
|
|
31
|
+
});
|
|
31
32
|
export function useUFOTransitionCompleter() {
|
|
32
33
|
var interactionId = useContext(UFOInteractionIDContext);
|
|
33
34
|
var capturedInteractionId = interactionId.current;
|
|
@@ -46,4 +47,5 @@ export function useUFOTransitionCompleter() {
|
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
}, [capturedInteractionId, interactionId]);
|
|
49
|
-
}
|
|
50
|
+
}
|
|
51
|
+
export default traceUFOTransition;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { withProfiling } from '../../../self-measurements';
|
|
2
|
+
export var generateSpanId = withProfiling(function generateSpanId() {
|
|
2
3
|
return Array.from(new Array(16), function () {
|
|
3
4
|
return Math.floor(Math.random() * 16).toString(16);
|
|
4
5
|
}).join('');
|
|
5
|
-
};
|
|
6
|
+
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { setActiveTrace } from '../../../experience-trace-id-context';
|
|
2
|
+
import { withProfiling } from '../../../self-measurements';
|
|
2
3
|
import { generateSpanId } from '../generate-span-id';
|
|
3
|
-
export var setInteractionActiveTrace = function setInteractionActiveTrace(newId) {
|
|
4
|
+
export var setInteractionActiveTrace = withProfiling(function setInteractionActiveTrace(newId) {
|
|
4
5
|
setActiveTrace(newId.replace(/-/g, ''), generateSpanId(), 'transition');
|
|
5
|
-
};
|
|
6
|
+
});
|
package/dist/esm/vc/index.js
CHANGED
|
@@ -9,6 +9,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
9
9
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
10
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
11
11
|
import { getConfig } from '../config';
|
|
12
|
+
import { markProfilingEnd, markProfilingStart, withProfiling } from '../self-measurements';
|
|
12
13
|
import { VCObserverNOOP } from './no-op-vc-observer';
|
|
13
14
|
import { VCObserver } from './vc-observer';
|
|
14
15
|
import VCObserverNew from './vc-observer-new';
|
|
@@ -17,6 +18,7 @@ var VCObserverWrapper = /*#__PURE__*/function () {
|
|
|
17
18
|
var _getConfig;
|
|
18
19
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
19
20
|
_classCallCheck(this, VCObserverWrapper);
|
|
21
|
+
var operationTimer = markProfilingStart('VCObserverWrapper constructor');
|
|
20
22
|
this.newVCObserver = null;
|
|
21
23
|
var isNewVCObserverEnabled = fg('platform_ufo_vc_observer_new') || ((_getConfig = getConfig()) === null || _getConfig === void 0 || (_getConfig = _getConfig.vc) === null || _getConfig === void 0 ? void 0 : _getConfig.enableVCObserverNew);
|
|
22
24
|
if (isNewVCObserverEnabled) {
|
|
@@ -25,6 +27,16 @@ var VCObserverWrapper = /*#__PURE__*/function () {
|
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
29
|
this.oldVCObserver = new VCObserver(opts);
|
|
30
|
+
this.start = withProfiling(this.start.bind(this), ['vc']);
|
|
31
|
+
this.stop = withProfiling(this.stop.bind(this), ['vc']);
|
|
32
|
+
this.getVCRawData = withProfiling(this.getVCRawData.bind(this), ['vc']);
|
|
33
|
+
this.getVCResult = withProfiling(this.getVCResult.bind(this), ['vc']);
|
|
34
|
+
this.setSSRElement = withProfiling(this.setSSRElement.bind(this), ['vc']);
|
|
35
|
+
this.setReactRootRenderStart = withProfiling(this.setReactRootRenderStart.bind(this), ['vc']);
|
|
36
|
+
this.setReactRootRenderStop = withProfiling(this.setReactRootRenderStop.bind(this), ['vc']);
|
|
37
|
+
markProfilingEnd(operationTimer, {
|
|
38
|
+
tags: ['vc']
|
|
39
|
+
});
|
|
28
40
|
}
|
|
29
41
|
return _createClass(VCObserverWrapper, [{
|
|
30
42
|
key: "start",
|
|
@@ -111,7 +123,7 @@ var VCObserverWrapper = /*#__PURE__*/function () {
|
|
|
111
123
|
var isServer = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.__SERVER__);
|
|
112
124
|
// Other products set this other variable to indicate it is running in SSR
|
|
113
125
|
var isReactSSR = typeof process !== 'undefined' && Boolean(((_process = process) === null || _process === void 0 || (_process = _process.env) === null || _process === void 0 ? void 0 : _process.REACT_SSR) || false);
|
|
114
|
-
export function isEnvironmentSupported() {
|
|
126
|
+
export var isEnvironmentSupported = withProfiling(function isEnvironmentSupported() {
|
|
115
127
|
// SSR environment aren't supported
|
|
116
128
|
if (isReactSSR || isServer) {
|
|
117
129
|
return false;
|
|
@@ -126,12 +138,12 @@ export function isEnvironmentSupported() {
|
|
|
126
138
|
return false;
|
|
127
139
|
}
|
|
128
140
|
return true;
|
|
129
|
-
}
|
|
130
|
-
export var getVCObserver = function getVCObserver() {
|
|
141
|
+
}, ['vc']);
|
|
142
|
+
export var getVCObserver = withProfiling(function getVCObserver() {
|
|
131
143
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
132
144
|
if (!globalThis.__vcObserver) {
|
|
133
145
|
var shouldMockVCObserver = !isEnvironmentSupported();
|
|
134
146
|
globalThis.__vcObserver = shouldMockVCObserver ? new VCObserverNOOP() : new VCObserverWrapper(opts);
|
|
135
147
|
}
|
|
136
148
|
return globalThis.__vcObserver;
|
|
137
|
-
};
|
|
149
|
+
}, ['vc']);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { bind } from 'bind-event-listener';
|
|
2
2
|
import { AbortEvent } from '../../common/vc/types';
|
|
3
|
+
import { withProfiling } from '../../self-measurements';
|
|
3
4
|
import { getViewportHeight, getViewportWidth } from './getViewport';
|
|
4
|
-
export var attachAbortListeners = function attachAbortListeners(window, initialViewPort, callback) {
|
|
5
|
+
export var attachAbortListeners = withProfiling(function attachAbortListeners(window, initialViewPort, callback) {
|
|
5
6
|
var unbindWheel = bind(window, {
|
|
6
7
|
type: AbortEvent.wheel,
|
|
7
8
|
listener: function listener(e) {
|
|
@@ -31,4 +32,4 @@ export var attachAbortListeners = function attachAbortListeners(window, initialV
|
|
|
31
32
|
}
|
|
32
33
|
});
|
|
33
34
|
return [unbindWheel, unbindKeydown, unbindResize];
|
|
34
|
-
};
|
|
35
|
+
}, ['vc']);
|
|
@@ -1,9 +1,34 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
3
|
import { getPageVisibilityState } from '../../hidden-timing';
|
|
4
|
+
import { withProfiling } from '../../self-measurements';
|
|
4
5
|
import { getRevisions } from './revisions/revisions';
|
|
5
6
|
var VCParts = ['25', '50', '75', '80', '85', '90', '95', '98', '99'];
|
|
6
|
-
|
|
7
|
+
var READONLY_EMPTY_ARRAY = Array.from({
|
|
8
|
+
length: 0
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
// Helper function to create vcDetails object to avoid code duplication
|
|
12
|
+
var createVCDetails = withProfiling(function createVCDetails(calculatedVC, shouldHaveVCmetric) {
|
|
13
|
+
if (!shouldHaveVCmetric || !calculatedVC || !calculatedVC.VC || !calculatedVC.VCBox) {
|
|
14
|
+
return {};
|
|
15
|
+
}
|
|
16
|
+
var details = {};
|
|
17
|
+
var VC = calculatedVC.VC,
|
|
18
|
+
VCBox = calculatedVC.VCBox; // Destructure once to avoid repeated property access
|
|
19
|
+
|
|
20
|
+
for (var _i = 0, _VCParts = VCParts; _i < _VCParts.length; _i++) {
|
|
21
|
+
var key = _VCParts[_i];
|
|
22
|
+
details[key] = {
|
|
23
|
+
t: VC[key],
|
|
24
|
+
e: VCBox[key] || READONLY_EMPTY_ARRAY
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return details;
|
|
28
|
+
}, ['vc']);
|
|
29
|
+
|
|
30
|
+
// Optimized implementation (current one)
|
|
31
|
+
export var getVCRevisionsData = withProfiling(function getVCRevisionsData(_ref) {
|
|
7
32
|
var fullPrefix = _ref.fullPrefix,
|
|
8
33
|
interaction = _ref.interaction,
|
|
9
34
|
isVCClean = _ref.isVCClean,
|
|
@@ -12,10 +37,6 @@ export function getVCRevisionsData(_ref) {
|
|
|
12
37
|
ssr = _ref.ssr,
|
|
13
38
|
calculatedVC = _ref.calculatedVC,
|
|
14
39
|
calculatedVCNext = _ref.calculatedVCNext;
|
|
15
|
-
var isMultiHeatmapEnabled = !fg('platform_ufo_multiheatmap_killswitch');
|
|
16
|
-
if (!isMultiHeatmapEnabled) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
40
|
if (!fg('platform_ufo_vc_observer_new')) {
|
|
20
41
|
if (!multiHeatmap) {
|
|
21
42
|
return null;
|
|
@@ -39,35 +60,29 @@ export function getVCRevisionsData(_ref) {
|
|
|
39
60
|
clean: isVCClean
|
|
40
61
|
}));
|
|
41
62
|
}
|
|
63
|
+
|
|
64
|
+
// Calculate these conditions once
|
|
42
65
|
var pageVisibilityUpToTTAI = getPageVisibilityState(interaction.start, interaction.end);
|
|
43
66
|
var isVisiblePageVisibleUpToTTAI = pageVisibilityUpToTTAI === 'visible';
|
|
44
67
|
var shouldHaveVCmetric = isVCClean && !isEventAborted && isVisiblePageVisibleUpToTTAI;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
clean: isVCClean,
|
|
48
|
-
'metric:vc90': shouldHaveVCmetric ? calculatedVC.VC['90'] : null,
|
|
49
|
-
vcDetails: shouldHaveVCmetric ? Object.fromEntries(VCParts.map(function (key) {
|
|
50
|
-
var _calculatedVC$VCBox$k;
|
|
51
|
-
return [key, {
|
|
52
|
-
t: calculatedVC.VC[key],
|
|
53
|
-
e: (_calculatedVC$VCBox$k = calculatedVC.VCBox[key]) !== null && _calculatedVC$VCBox$k !== void 0 ? _calculatedVC$VCBox$k : []
|
|
54
|
-
}];
|
|
55
|
-
})) : {}
|
|
56
|
-
};
|
|
68
|
+
|
|
69
|
+
// Create the V2 revision object which is always needed
|
|
57
70
|
var ttvcV2Revision = {
|
|
58
71
|
revision: 'fy25.02',
|
|
59
72
|
clean: isVCClean,
|
|
60
73
|
'metric:vc90': shouldHaveVCmetric ? calculatedVCNext.VC['90'] : null,
|
|
61
|
-
vcDetails:
|
|
62
|
-
var _calculatedVCNext$VCB;
|
|
63
|
-
return [key, {
|
|
64
|
-
t: calculatedVCNext.VC[key],
|
|
65
|
-
e: (_calculatedVCNext$VCB = calculatedVCNext.VCBox[key]) !== null && _calculatedVCNext$VCB !== void 0 ? _calculatedVCNext$VCB : []
|
|
66
|
-
}];
|
|
67
|
-
})) : {}
|
|
74
|
+
vcDetails: createVCDetails(calculatedVCNext, shouldHaveVCmetric)
|
|
68
75
|
};
|
|
69
76
|
if (fg('platform_ufo_disable_ttvc_v1')) {
|
|
70
77
|
return _defineProperty({}, "".concat(fullPrefix, "vc:rev"), [ttvcV2Revision]);
|
|
71
78
|
}
|
|
79
|
+
|
|
80
|
+
// Only create ttvcV1Revision when we're actually going to use it
|
|
81
|
+
var ttvcV1Revision = {
|
|
82
|
+
revision: 'fy25.01',
|
|
83
|
+
clean: isVCClean,
|
|
84
|
+
'metric:vc90': shouldHaveVCmetric ? calculatedVC.VC['90'] : null,
|
|
85
|
+
vcDetails: createVCDetails(calculatedVC, shouldHaveVCmetric)
|
|
86
|
+
};
|
|
72
87
|
return _defineProperty({}, "".concat(fullPrefix, "vc:rev"), [ttvcV1Revision, ttvcV2Revision]);
|
|
73
|
-
}
|
|
88
|
+
}, ['vc']);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { withProfiling } from '../../self-measurements';
|
|
2
|
+
export var getViewportWidth = withProfiling(function getViewportWidth() {
|
|
2
3
|
var document = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.document;
|
|
3
4
|
var documentWidth;
|
|
4
5
|
try {
|
|
@@ -7,8 +8,8 @@ export function getViewportWidth() {
|
|
|
7
8
|
documentWidth = 0;
|
|
8
9
|
}
|
|
9
10
|
return Math.max(documentWidth, window.innerWidth || 0);
|
|
10
|
-
}
|
|
11
|
-
export function getViewportHeight() {
|
|
11
|
+
}, ['vc']);
|
|
12
|
+
export var getViewportHeight = withProfiling(function getViewportHeight() {
|
|
12
13
|
var document = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.document;
|
|
13
14
|
var documentHeight;
|
|
14
15
|
try {
|
|
@@ -17,4 +18,4 @@ export function getViewportHeight() {
|
|
|
17
18
|
documentHeight = 0;
|
|
18
19
|
}
|
|
19
20
|
return Math.max(documentHeight, window.innerHeight || 0);
|
|
20
|
-
}
|
|
21
|
+
}, ['vc']);
|
|
@@ -4,6 +4,7 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
|
4
4
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
6
6
|
import { getPageVisibilityState } from '../../../hidden-timing';
|
|
7
|
+
import { markProfilingEnd, markProfilingStart, withProfiling } from '../../../self-measurements';
|
|
7
8
|
var UNUSED_SECTOR = 0;
|
|
8
9
|
export var MultiRevisionHeatmap = /*#__PURE__*/function () {
|
|
9
10
|
function MultiRevisionHeatmap(_ref) {
|
|
@@ -42,6 +43,7 @@ export var MultiRevisionHeatmap = /*#__PURE__*/function () {
|
|
|
42
43
|
t = mappedValues.t;
|
|
43
44
|
return (r - l) * (b - t) / (_this.arraySize.w * _this.arraySize.h);
|
|
44
45
|
});
|
|
46
|
+
var operationTimer = markProfilingStart('MultiRevisionHeatmap constructor');
|
|
45
47
|
this.viewport = viewport;
|
|
46
48
|
this.revisions = revisions;
|
|
47
49
|
if (arraySize) {
|
|
@@ -57,6 +59,16 @@ export var MultiRevisionHeatmap = /*#__PURE__*/function () {
|
|
|
57
59
|
_this.componentsLogs[i] = {};
|
|
58
60
|
_this.vcRatios[i] = {};
|
|
59
61
|
});
|
|
62
|
+
this.handleUpdate = withProfiling(this.handleUpdate.bind(this), ['vc']);
|
|
63
|
+
this.getData = withProfiling(this.getData.bind(this), ['vc']);
|
|
64
|
+
this.getPayloadShapedData = withProfiling(this.getPayloadShapedData.bind(this), ['vc']);
|
|
65
|
+
this.processData = withProfiling(this.processData.bind(this), ['vc']);
|
|
66
|
+
this.mapPixelsToHeatmap = withProfiling(this.mapPixelsToHeatmap.bind(this), ['vc']);
|
|
67
|
+
this.getElementRatio = withProfiling(this.getElementRatio.bind(this), ['vc']);
|
|
68
|
+
this.applyChangesToHeatMap = withProfiling(this.applyChangesToHeatMap.bind(this), ['vc']);
|
|
69
|
+
this.getIndex = withProfiling(this.getIndex.bind(this), ['vc']);
|
|
70
|
+
this.getCleanHeatmap = withProfiling(this.getCleanHeatmap.bind(this), ['vc']);
|
|
71
|
+
markProfilingEnd(operationTimer);
|
|
60
72
|
}
|
|
61
73
|
return _createClass(MultiRevisionHeatmap, [{
|
|
62
74
|
key: "handleUpdate",
|
|
@@ -69,7 +81,10 @@ export var MultiRevisionHeatmap = /*#__PURE__*/function () {
|
|
|
69
81
|
element = _ref3.element,
|
|
70
82
|
targetName = _ref3.targetName,
|
|
71
83
|
ignoreReason = _ref3.ignoreReason,
|
|
72
|
-
onError = _ref3.onError
|
|
84
|
+
onError = _ref3.onError,
|
|
85
|
+
attributeName = _ref3.attributeName,
|
|
86
|
+
oldValue = _ref3.oldValue,
|
|
87
|
+
newValue = _ref3.newValue;
|
|
73
88
|
var mappedValues = this.mapPixelsToHeatmap(intersectionRect.left, intersectionRect.top, intersectionRect.width, intersectionRect.height);
|
|
74
89
|
var result = this.applyChangesToHeatMap(mappedValues, time, classification);
|
|
75
90
|
if (result !== true) {
|
|
@@ -87,7 +102,10 @@ export var MultiRevisionHeatmap = /*#__PURE__*/function () {
|
|
|
87
102
|
__debug__element: _this2.devToolsEnabled ? new WeakRef(element) : null,
|
|
88
103
|
intersectionRect: intersectionRect,
|
|
89
104
|
targetName: targetName,
|
|
90
|
-
ignoreReason: ignoreReason
|
|
105
|
+
ignoreReason: ignoreReason,
|
|
106
|
+
attributeName: attributeName,
|
|
107
|
+
oldValue: oldValue,
|
|
108
|
+
newValue: newValue
|
|
91
109
|
});
|
|
92
110
|
});
|
|
93
111
|
}
|
|
@@ -255,14 +273,12 @@ export var MultiRevisionHeatmap = /*#__PURE__*/function () {
|
|
|
255
273
|
value: function getCleanHeatmap() {
|
|
256
274
|
return new Int32Array(this.arraySize.w * this.arraySize.h);
|
|
257
275
|
}
|
|
258
|
-
}], [{
|
|
259
|
-
key: "makeVCReturnObj",
|
|
260
|
-
value: function makeVCReturnObj(VCParts) {
|
|
261
|
-
var vc = {};
|
|
262
|
-
VCParts.forEach(function (v) {
|
|
263
|
-
vc[v] = null;
|
|
264
|
-
});
|
|
265
|
-
return vc;
|
|
266
|
-
}
|
|
267
276
|
}]);
|
|
268
|
-
}();
|
|
277
|
+
}();
|
|
278
|
+
_defineProperty(MultiRevisionHeatmap, "makeVCReturnObj", withProfiling(function makeVCReturnObj(VCParts) {
|
|
279
|
+
var vc = {};
|
|
280
|
+
VCParts.forEach(function (v) {
|
|
281
|
+
vc[v] = null;
|
|
282
|
+
});
|
|
283
|
+
return vc;
|
|
284
|
+
}, ['vc']));
|