@atlaskit/react-ufo 3.6.6 → 3.7.0

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.
Files changed (437) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/additional-payload/utils/cache-hit-ratio/index.js +5 -6
  3. package/dist/cjs/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -4
  4. package/dist/cjs/additional-payload/utils/lighthouse-metrics/index.js +6 -6
  5. package/dist/cjs/additional-payload/utils/lighthouse-metrics/tbt/index.js +3 -4
  6. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +0 -3
  7. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +10 -10
  8. package/dist/cjs/assets/index.js +14 -17
  9. package/dist/cjs/assets/utils.js +13 -10
  10. package/dist/cjs/bundle-eval-timing/index.js +8 -8
  11. package/dist/cjs/coinflip/index.js +2 -3
  12. package/dist/cjs/config/index.js +42 -30
  13. package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +41 -29
  14. package/dist/cjs/create-payload/common/utils/index.js +20 -16
  15. package/dist/cjs/create-payload/index.js +125 -131
  16. package/dist/cjs/create-payload/utils/get-interaction-status.js +2 -3
  17. package/dist/cjs/create-payload/utils/get-page-visibility-up-to-ttai.js +2 -3
  18. package/dist/cjs/create-payload/utils/get-react-ufo-payload-version.js +3 -4
  19. package/dist/cjs/create-payload/utils/get-ssr-done-time-value.js +2 -3
  20. package/dist/cjs/create-payload/utils/get-vc-metrics.js +7 -8
  21. package/dist/cjs/create-post-interaction-log-payload/index.js +12 -13
  22. package/dist/cjs/custom-data/index.js +14 -6
  23. package/dist/cjs/custom-mark/index.js +3 -4
  24. package/dist/cjs/custom-spans/index.js +3 -4
  25. package/dist/cjs/custom-timings/index.js +6 -6
  26. package/dist/cjs/experience-trace-id-context/index.js +21 -16
  27. package/dist/cjs/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +3 -4
  28. package/dist/cjs/feature-flags-accessed/common/utils/index.js +12 -12
  29. package/dist/cjs/feature-flags-accessed/index.js +4 -4
  30. package/dist/cjs/generate-id/index.js +2 -3
  31. package/dist/cjs/global-error-handler/index.js +16 -15
  32. package/dist/cjs/initial-page-load-extra-timing/index.js +6 -6
  33. package/dist/cjs/interaction-metrics/index.js +202 -126
  34. package/dist/cjs/interaction-metrics/post-interaction-log.js +0 -10
  35. package/dist/cjs/interaction-metrics-init/index.js +26 -16
  36. package/dist/cjs/interaction-metrics-init/schedule-idle-callback.js +2 -3
  37. package/dist/cjs/interactions-performance-observer/index.js +51 -0
  38. package/dist/cjs/resource-timing/common/utils/config.js +10 -10
  39. package/dist/cjs/resource-timing/common/utils/resource-timing-buffer.js +14 -14
  40. package/dist/cjs/resource-timing/main.js +19 -20
  41. package/dist/cjs/resource-timing/utils.js +3 -4
  42. package/dist/cjs/round-number/index.js +3 -4
  43. package/dist/cjs/route-name/index.js +2 -3
  44. package/dist/cjs/segment/schedule-on-paint.js +2 -4
  45. package/dist/cjs/segment/segment.js +4 -13
  46. package/dist/cjs/set-interaction-error/index.js +3 -4
  47. package/dist/cjs/short-id/index.js +2 -3
  48. package/dist/cjs/ssr/index.js +21 -18
  49. package/dist/cjs/trace-interaction/index.js +4 -5
  50. package/dist/cjs/trace-pageload/index.js +6 -6
  51. package/dist/cjs/trace-press/index.js +2 -3
  52. package/dist/cjs/trace-redirect/index.js +2 -3
  53. package/dist/cjs/trace-transition/index.js +2 -3
  54. package/dist/cjs/trace-transition/utils/generate-span-id/index.js +3 -4
  55. package/dist/cjs/trace-transition/utils/set-interaction-active-trace/index.js +3 -4
  56. package/dist/cjs/vc/index.js +6 -17
  57. package/dist/cjs/vc/vc-observer/attachAbortListeners.js +3 -4
  58. package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +22 -13
  59. package/dist/cjs/vc/vc-observer/getViewport.js +6 -6
  60. package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +10 -20
  61. package/dist/cjs/vc/vc-observer/index.js +119 -145
  62. package/dist/cjs/vc/vc-observer/media-wrapper/vc-utils.js +3 -4
  63. package/dist/cjs/vc/vc-observer/observers/editor-lnv/index.js +0 -17
  64. package/dist/cjs/vc/vc-observer/observers/index.js +2 -29
  65. package/dist/cjs/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +2 -3
  66. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +0 -16
  67. package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +0 -2
  68. package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +0 -2
  69. package/dist/cjs/vc/vc-observer/revisions/revisions.js +3 -4
  70. package/dist/cjs/vc/vc-observer-new/entries-timeline/index.js +0 -9
  71. package/dist/cjs/vc/vc-observer-new/get-element-name.js +2 -3
  72. package/dist/cjs/vc/vc-observer-new/get-unique-element-name.js +10 -11
  73. package/dist/cjs/vc/vc-observer-new/index.js +0 -9
  74. package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +0 -2
  75. package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -6
  76. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +12 -20
  77. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +26 -26
  78. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +6 -18
  79. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +13 -25
  80. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +7 -8
  81. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +39 -48
  82. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +7 -8
  83. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +2 -3
  84. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +2 -3
  85. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +2 -3
  86. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/task-yield.js +7 -8
  87. package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +7 -15
  88. package/dist/cjs/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +7 -8
  89. package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +14 -15
  90. package/dist/cjs/vc/vc-observer-new/viewport-observer/performance-observer/index.js +9 -9
  91. package/dist/cjs/vc/vc-observer-new/window-event-observer/index.js +1 -7
  92. package/dist/es2019/additional-payload/utils/cache-hit-ratio/index.js +4 -5
  93. package/dist/es2019/additional-payload/utils/lighthouse-metrics/cls/index.js +2 -3
  94. package/dist/es2019/additional-payload/utils/lighthouse-metrics/index.js +4 -5
  95. package/dist/es2019/additional-payload/utils/lighthouse-metrics/tbt/index.js +2 -3
  96. package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +0 -3
  97. package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +8 -9
  98. package/dist/es2019/assets/index.js +14 -19
  99. package/dist/es2019/assets/utils.js +8 -10
  100. package/dist/es2019/bundle-eval-timing/index.js +6 -7
  101. package/dist/es2019/coinflip/index.js +2 -4
  102. package/dist/es2019/config/index.js +28 -29
  103. package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +15 -18
  104. package/dist/es2019/create-payload/common/utils/index.js +14 -15
  105. package/dist/es2019/create-payload/index.js +80 -85
  106. package/dist/es2019/create-payload/utils/get-interaction-status.js +2 -4
  107. package/dist/es2019/create-payload/utils/get-page-visibility-up-to-ttai.js +2 -3
  108. package/dist/es2019/create-payload/utils/get-react-ufo-payload-version.js +2 -3
  109. package/dist/es2019/create-payload/utils/get-ssr-done-time-value.js +2 -3
  110. package/dist/es2019/create-payload/utils/get-vc-metrics.js +2 -3
  111. package/dist/es2019/create-post-interaction-log-payload/index.js +12 -13
  112. package/dist/es2019/custom-data/index.js +13 -5
  113. package/dist/es2019/custom-mark/index.js +2 -3
  114. package/dist/es2019/custom-spans/index.js +2 -3
  115. package/dist/es2019/custom-timings/index.js +4 -5
  116. package/dist/es2019/experience-trace-id-context/index.js +14 -15
  117. package/dist/es2019/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +2 -3
  118. package/dist/es2019/feature-flags-accessed/common/utils/index.js +10 -11
  119. package/dist/es2019/feature-flags-accessed/index.js +2 -3
  120. package/dist/es2019/generate-id/index.js +2 -3
  121. package/dist/es2019/global-error-handler/index.js +13 -14
  122. package/dist/es2019/initial-page-load-extra-timing/index.js +4 -5
  123. package/dist/es2019/interaction-metrics/index.js +138 -109
  124. package/dist/es2019/interaction-metrics/post-interaction-log.js +0 -10
  125. package/dist/es2019/interaction-metrics-init/index.js +25 -15
  126. package/dist/es2019/interaction-metrics-init/schedule-idle-callback.js +2 -3
  127. package/dist/es2019/interactions-performance-observer/index.js +30 -0
  128. package/dist/es2019/resource-timing/common/utils/config.js +8 -9
  129. package/dist/es2019/resource-timing/common/utils/resource-timing-buffer.js +12 -13
  130. package/dist/es2019/resource-timing/main.js +18 -19
  131. package/dist/es2019/resource-timing/utils.js +2 -3
  132. package/dist/es2019/round-number/index.js +2 -3
  133. package/dist/es2019/route-name/index.js +2 -3
  134. package/dist/es2019/segment/schedule-on-paint.js +2 -4
  135. package/dist/es2019/segment/segment.js +4 -13
  136. package/dist/es2019/set-interaction-error/index.js +2 -3
  137. package/dist/es2019/short-id/index.js +2 -3
  138. package/dist/es2019/ssr/index.js +16 -17
  139. package/dist/es2019/trace-interaction/index.js +4 -5
  140. package/dist/es2019/trace-pageload/index.js +4 -5
  141. package/dist/es2019/trace-press/index.js +2 -3
  142. package/dist/es2019/trace-redirect/index.js +2 -3
  143. package/dist/es2019/trace-transition/index.js +2 -3
  144. package/dist/es2019/trace-transition/utils/generate-span-id/index.js +2 -3
  145. package/dist/es2019/trace-transition/utils/set-interaction-active-trace/index.js +2 -3
  146. package/dist/es2019/vc/index.js +4 -16
  147. package/dist/es2019/vc/vc-observer/attachAbortListeners.js +2 -3
  148. package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +4 -5
  149. package/dist/es2019/vc/vc-observer/getViewport.js +4 -5
  150. package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +8 -20
  151. package/dist/es2019/vc/vc-observer/index.js +104 -134
  152. package/dist/es2019/vc/vc-observer/media-wrapper/vc-utils.js +2 -3
  153. package/dist/es2019/vc/vc-observer/observers/editor-lnv/index.js +0 -17
  154. package/dist/es2019/vc/vc-observer/observers/index.js +2 -29
  155. package/dist/es2019/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +2 -4
  156. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +0 -16
  157. package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +0 -2
  158. package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +0 -2
  159. package/dist/es2019/vc/vc-observer/revisions/revisions.js +2 -3
  160. package/dist/es2019/vc/vc-observer-new/entries-timeline/index.js +0 -9
  161. package/dist/es2019/vc/vc-observer-new/get-element-name.js +2 -3
  162. package/dist/es2019/vc/vc-observer-new/get-unique-element-name.js +10 -11
  163. package/dist/es2019/vc/vc-observer-new/index.js +0 -9
  164. package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +0 -2
  165. package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +0 -3
  166. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +4 -14
  167. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +4 -5
  168. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +6 -18
  169. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +8 -20
  170. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -3
  171. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +8 -9
  172. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +2 -3
  173. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +2 -3
  174. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +2 -3
  175. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +2 -3
  176. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/task-yield.js +2 -4
  177. package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +7 -15
  178. package/dist/es2019/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +8 -8
  179. package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +15 -15
  180. package/dist/es2019/vc/vc-observer-new/viewport-observer/performance-observer/index.js +8 -9
  181. package/dist/es2019/vc/vc-observer-new/window-event-observer/index.js +1 -7
  182. package/dist/esm/additional-payload/utils/cache-hit-ratio/index.js +4 -5
  183. package/dist/esm/additional-payload/utils/lighthouse-metrics/cls/index.js +2 -3
  184. package/dist/esm/additional-payload/utils/lighthouse-metrics/index.js +4 -5
  185. package/dist/esm/additional-payload/utils/lighthouse-metrics/tbt/index.js +2 -3
  186. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +0 -3
  187. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +8 -9
  188. package/dist/esm/assets/index.js +14 -17
  189. package/dist/esm/assets/utils.js +8 -10
  190. package/dist/esm/bundle-eval-timing/index.js +6 -7
  191. package/dist/esm/coinflip/index.js +2 -4
  192. package/dist/esm/config/index.js +28 -29
  193. package/dist/esm/create-experimental-interaction-metrics-payload/index.js +36 -28
  194. package/dist/esm/create-payload/common/utils/index.js +14 -15
  195. package/dist/esm/create-payload/index.js +124 -130
  196. package/dist/esm/create-payload/utils/get-interaction-status.js +2 -4
  197. package/dist/esm/create-payload/utils/get-page-visibility-up-to-ttai.js +2 -3
  198. package/dist/esm/create-payload/utils/get-react-ufo-payload-version.js +2 -3
  199. package/dist/esm/create-payload/utils/get-ssr-done-time-value.js +2 -3
  200. package/dist/esm/create-payload/utils/get-vc-metrics.js +7 -8
  201. package/dist/esm/create-post-interaction-log-payload/index.js +12 -13
  202. package/dist/esm/custom-data/index.js +13 -5
  203. package/dist/esm/custom-mark/index.js +2 -3
  204. package/dist/esm/custom-spans/index.js +2 -3
  205. package/dist/esm/custom-timings/index.js +4 -5
  206. package/dist/esm/experience-trace-id-context/index.js +14 -15
  207. package/dist/esm/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +2 -3
  208. package/dist/esm/feature-flags-accessed/common/utils/index.js +10 -11
  209. package/dist/esm/feature-flags-accessed/index.js +2 -3
  210. package/dist/esm/generate-id/index.js +2 -3
  211. package/dist/esm/global-error-handler/index.js +13 -14
  212. package/dist/esm/initial-page-load-extra-timing/index.js +4 -5
  213. package/dist/esm/interaction-metrics/index.js +163 -125
  214. package/dist/esm/interaction-metrics/post-interaction-log.js +0 -10
  215. package/dist/esm/interaction-metrics-init/index.js +25 -15
  216. package/dist/esm/interaction-metrics-init/schedule-idle-callback.js +2 -3
  217. package/dist/esm/interactions-performance-observer/index.js +44 -0
  218. package/dist/esm/resource-timing/common/utils/config.js +8 -9
  219. package/dist/esm/resource-timing/common/utils/resource-timing-buffer.js +12 -13
  220. package/dist/esm/resource-timing/main.js +18 -19
  221. package/dist/esm/resource-timing/utils.js +2 -3
  222. package/dist/esm/round-number/index.js +2 -3
  223. package/dist/esm/route-name/index.js +2 -3
  224. package/dist/esm/segment/schedule-on-paint.js +2 -4
  225. package/dist/esm/segment/segment.js +4 -13
  226. package/dist/esm/set-interaction-error/index.js +2 -3
  227. package/dist/esm/short-id/index.js +2 -3
  228. package/dist/esm/ssr/index.js +16 -17
  229. package/dist/esm/trace-interaction/index.js +4 -5
  230. package/dist/esm/trace-pageload/index.js +4 -5
  231. package/dist/esm/trace-press/index.js +2 -3
  232. package/dist/esm/trace-redirect/index.js +2 -3
  233. package/dist/esm/trace-transition/index.js +2 -3
  234. package/dist/esm/trace-transition/utils/generate-span-id/index.js +2 -3
  235. package/dist/esm/trace-transition/utils/set-interaction-active-trace/index.js +2 -3
  236. package/dist/esm/vc/index.js +4 -16
  237. package/dist/esm/vc/vc-observer/attachAbortListeners.js +2 -3
  238. package/dist/esm/vc/vc-observer/getVCRevisionsData.js +21 -12
  239. package/dist/esm/vc/vc-observer/getViewport.js +4 -5
  240. package/dist/esm/vc/vc-observer/heatmap/heatmap.js +10 -20
  241. package/dist/esm/vc/vc-observer/index.js +119 -145
  242. package/dist/esm/vc/vc-observer/media-wrapper/vc-utils.js +2 -3
  243. package/dist/esm/vc/vc-observer/observers/editor-lnv/index.js +0 -17
  244. package/dist/esm/vc/vc-observer/observers/index.js +2 -29
  245. package/dist/esm/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +2 -4
  246. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +0 -16
  247. package/dist/esm/vc/vc-observer/revisions/fy25_01.js +0 -2
  248. package/dist/esm/vc/vc-observer/revisions/fy25_02.js +0 -2
  249. package/dist/esm/vc/vc-observer/revisions/revisions.js +2 -3
  250. package/dist/esm/vc/vc-observer-new/entries-timeline/index.js +0 -9
  251. package/dist/esm/vc/vc-observer-new/get-element-name.js +2 -3
  252. package/dist/esm/vc/vc-observer-new/get-unique-element-name.js +10 -11
  253. package/dist/esm/vc/vc-observer-new/index.js +0 -9
  254. package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +0 -2
  255. package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -6
  256. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +9 -19
  257. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +24 -25
  258. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +6 -18
  259. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +13 -25
  260. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +7 -8
  261. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +39 -48
  262. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +7 -8
  263. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +2 -3
  264. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +2 -3
  265. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +2 -3
  266. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/task-yield.js +7 -9
  267. package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +7 -15
  268. package/dist/esm/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +7 -8
  269. package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +14 -15
  270. package/dist/esm/vc/vc-observer-new/viewport-observer/performance-observer/index.js +7 -9
  271. package/dist/esm/vc/vc-observer-new/window-event-observer/index.js +1 -7
  272. package/dist/types/additional-payload/utils/cache-hit-ratio/index.d.ts +2 -2
  273. package/dist/types/additional-payload/utils/lighthouse-metrics/cls/index.d.ts +1 -1
  274. package/dist/types/additional-payload/utils/lighthouse-metrics/index.d.ts +3 -3
  275. package/dist/types/additional-payload/utils/lighthouse-metrics/tbt/index.d.ts +1 -1
  276. package/dist/types/additional-payload/utils/lighthouse-metrics/utils/observer/index.d.ts +2 -2
  277. package/dist/types/assets/index.d.ts +1 -3
  278. package/dist/types/assets/utils.d.ts +4 -4
  279. package/dist/types/bundle-eval-timing/index.d.ts +2 -2
  280. package/dist/types/coinflip/index.d.ts +1 -1
  281. package/dist/types/common/common/types.d.ts +7 -0
  282. package/dist/types/common/react-ufo-payload-schema.d.ts +1 -0
  283. package/dist/types/config/index.d.ts +16 -14
  284. package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +4 -5
  285. package/dist/types/create-payload/common/utils/index.d.ts +8 -7
  286. package/dist/types/create-payload/index.d.ts +257 -97
  287. package/dist/types/create-payload/utils/get-interaction-status.d.ts +1 -1
  288. package/dist/types/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +1 -1
  289. package/dist/types/create-payload/utils/get-react-ufo-payload-version.d.ts +1 -1
  290. package/dist/types/create-payload/utils/get-ssr-done-time-value.d.ts +1 -1
  291. package/dist/types/create-payload/utils/get-vc-metrics.d.ts +2 -2
  292. package/dist/types/create-post-interaction-log-payload/index.d.ts +1 -1
  293. package/dist/types/custom-data/index.d.ts +1 -1
  294. package/dist/types/custom-mark/index.d.ts +1 -1
  295. package/dist/types/custom-spans/index.d.ts +1 -1
  296. package/dist/types/custom-timings/index.d.ts +2 -2
  297. package/dist/types/experience-trace-id-context/index.d.ts +7 -7
  298. package/dist/types/experience-trace-id-context/utils/make-trace-http-request-headers/index.d.ts +1 -1
  299. package/dist/types/feature-flags-accessed/common/utils/index.d.ts +2 -2
  300. package/dist/types/feature-flags-accessed/index.d.ts +1 -1
  301. package/dist/types/generate-id/index.d.ts +1 -1
  302. package/dist/types/global-error-handler/index.d.ts +3 -3
  303. package/dist/types/initial-page-load-extra-timing/index.d.ts +2 -2
  304. package/dist/types/interaction-context/index.d.ts +1 -1
  305. package/dist/types/interaction-metrics/index.d.ts +46 -44
  306. package/dist/types/interaction-metrics/post-interaction-log.d.ts +0 -1
  307. package/dist/types/interaction-metrics-init/index.d.ts +1 -1
  308. package/dist/types/interaction-metrics-init/schedule-idle-callback.d.ts +1 -1
  309. package/dist/types/interactions-performance-observer/index.d.ts +2 -0
  310. package/dist/types/resource-timing/common/utils/config.d.ts +2 -2
  311. package/dist/types/resource-timing/common/utils/resource-timing-buffer.d.ts +5 -5
  312. package/dist/types/resource-timing/main.d.ts +1 -1
  313. package/dist/types/resource-timing/utils.d.ts +1 -1
  314. package/dist/types/round-number/index.d.ts +1 -1
  315. package/dist/types/route-name/index.d.ts +3 -3
  316. package/dist/types/segment/schedule-on-paint.d.ts +1 -1
  317. package/dist/types/set-interaction-error/index.d.ts +1 -1
  318. package/dist/types/short-id/index.d.ts +1 -1
  319. package/dist/types/ssr/index.d.ts +5 -5
  320. package/dist/types/trace-interaction/index.d.ts +1 -1
  321. package/dist/types/trace-pageload/index.d.ts +2 -2
  322. package/dist/types/trace-press/index.d.ts +1 -1
  323. package/dist/types/trace-redirect/index.d.ts +1 -1
  324. package/dist/types/trace-transition/index.d.ts +1 -1
  325. package/dist/types/trace-transition/utils/generate-span-id/index.d.ts +1 -1
  326. package/dist/types/trace-transition/utils/set-interaction-active-trace/index.d.ts +1 -1
  327. package/dist/types/vc/index.d.ts +2 -2
  328. package/dist/types/vc/vc-observer/attachAbortListeners.d.ts +2 -2
  329. package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +5 -5
  330. package/dist/types/vc/vc-observer/getViewport.d.ts +2 -2
  331. package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +1 -1
  332. package/dist/types/vc/vc-observer/index.d.ts +4 -4
  333. package/dist/types/vc/vc-observer/media-wrapper/vc-utils.d.ts +1 -1
  334. package/dist/types/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +4 -4
  335. package/dist/types/vc/vc-observer/revisions/revisions.d.ts +1 -1
  336. package/dist/types/vc/vc-observer-new/get-element-name.d.ts +1 -1
  337. package/dist/types/vc/vc-observer-new/get-unique-element-name.d.ts +1 -1
  338. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +3 -2
  339. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +2 -2
  340. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +2 -2
  341. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +1 -1
  342. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +1 -1
  343. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +2 -2
  344. package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +1 -1
  345. package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +1 -1
  346. package/dist/types/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +1 -1
  347. package/dist/types/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +1 -1
  348. package/dist/types/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
  349. package/dist/types/vc/vc-observer-new/viewport-observer/intersection-observer/index.d.ts +1 -1
  350. package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +1 -1
  351. package/dist/types/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +2 -2
  352. package/dist/types-ts4.5/additional-payload/utils/cache-hit-ratio/index.d.ts +2 -2
  353. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/cls/index.d.ts +1 -1
  354. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/index.d.ts +3 -3
  355. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/tbt/index.d.ts +1 -1
  356. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/utils/observer/index.d.ts +2 -2
  357. package/dist/types-ts4.5/assets/index.d.ts +1 -3
  358. package/dist/types-ts4.5/assets/utils.d.ts +4 -4
  359. package/dist/types-ts4.5/bundle-eval-timing/index.d.ts +2 -2
  360. package/dist/types-ts4.5/coinflip/index.d.ts +1 -1
  361. package/dist/types-ts4.5/common/common/types.d.ts +7 -0
  362. package/dist/types-ts4.5/common/react-ufo-payload-schema.d.ts +1 -0
  363. package/dist/types-ts4.5/config/index.d.ts +20 -14
  364. package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +4 -5
  365. package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +8 -7
  366. package/dist/types-ts4.5/create-payload/index.d.ts +257 -97
  367. package/dist/types-ts4.5/create-payload/utils/get-interaction-status.d.ts +1 -1
  368. package/dist/types-ts4.5/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +1 -1
  369. package/dist/types-ts4.5/create-payload/utils/get-react-ufo-payload-version.d.ts +1 -1
  370. package/dist/types-ts4.5/create-payload/utils/get-ssr-done-time-value.d.ts +1 -1
  371. package/dist/types-ts4.5/create-payload/utils/get-vc-metrics.d.ts +2 -2
  372. package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +1 -1
  373. package/dist/types-ts4.5/custom-data/index.d.ts +1 -1
  374. package/dist/types-ts4.5/custom-mark/index.d.ts +1 -1
  375. package/dist/types-ts4.5/custom-spans/index.d.ts +1 -1
  376. package/dist/types-ts4.5/custom-timings/index.d.ts +2 -2
  377. package/dist/types-ts4.5/experience-trace-id-context/index.d.ts +7 -7
  378. package/dist/types-ts4.5/experience-trace-id-context/utils/make-trace-http-request-headers/index.d.ts +1 -1
  379. package/dist/types-ts4.5/feature-flags-accessed/common/utils/index.d.ts +2 -2
  380. package/dist/types-ts4.5/feature-flags-accessed/index.d.ts +1 -1
  381. package/dist/types-ts4.5/generate-id/index.d.ts +1 -1
  382. package/dist/types-ts4.5/global-error-handler/index.d.ts +3 -3
  383. package/dist/types-ts4.5/initial-page-load-extra-timing/index.d.ts +2 -2
  384. package/dist/types-ts4.5/interaction-context/index.d.ts +1 -1
  385. package/dist/types-ts4.5/interaction-metrics/index.d.ts +46 -44
  386. package/dist/types-ts4.5/interaction-metrics/post-interaction-log.d.ts +0 -1
  387. package/dist/types-ts4.5/interaction-metrics-init/index.d.ts +1 -1
  388. package/dist/types-ts4.5/interaction-metrics-init/schedule-idle-callback.d.ts +1 -1
  389. package/dist/types-ts4.5/interactions-performance-observer/index.d.ts +2 -0
  390. package/dist/types-ts4.5/resource-timing/common/utils/config.d.ts +2 -2
  391. package/dist/types-ts4.5/resource-timing/common/utils/resource-timing-buffer.d.ts +5 -5
  392. package/dist/types-ts4.5/resource-timing/main.d.ts +1 -1
  393. package/dist/types-ts4.5/resource-timing/utils.d.ts +1 -1
  394. package/dist/types-ts4.5/round-number/index.d.ts +1 -1
  395. package/dist/types-ts4.5/route-name/index.d.ts +3 -3
  396. package/dist/types-ts4.5/segment/schedule-on-paint.d.ts +1 -1
  397. package/dist/types-ts4.5/set-interaction-error/index.d.ts +1 -1
  398. package/dist/types-ts4.5/short-id/index.d.ts +1 -1
  399. package/dist/types-ts4.5/ssr/index.d.ts +5 -5
  400. package/dist/types-ts4.5/trace-interaction/index.d.ts +1 -1
  401. package/dist/types-ts4.5/trace-pageload/index.d.ts +2 -2
  402. package/dist/types-ts4.5/trace-press/index.d.ts +1 -1
  403. package/dist/types-ts4.5/trace-redirect/index.d.ts +1 -1
  404. package/dist/types-ts4.5/trace-transition/index.d.ts +1 -1
  405. package/dist/types-ts4.5/trace-transition/utils/generate-span-id/index.d.ts +1 -1
  406. package/dist/types-ts4.5/trace-transition/utils/set-interaction-active-trace/index.d.ts +1 -1
  407. package/dist/types-ts4.5/vc/index.d.ts +2 -2
  408. package/dist/types-ts4.5/vc/vc-observer/attachAbortListeners.d.ts +2 -2
  409. package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +5 -5
  410. package/dist/types-ts4.5/vc/vc-observer/getViewport.d.ts +2 -2
  411. package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +1 -1
  412. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +4 -4
  413. package/dist/types-ts4.5/vc/vc-observer/media-wrapper/vc-utils.d.ts +1 -1
  414. package/dist/types-ts4.5/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +4 -4
  415. package/dist/types-ts4.5/vc/vc-observer/revisions/revisions.d.ts +1 -1
  416. package/dist/types-ts4.5/vc/vc-observer-new/get-element-name.d.ts +1 -1
  417. package/dist/types-ts4.5/vc/vc-observer-new/get-unique-element-name.d.ts +1 -1
  418. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +3 -2
  419. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +2 -2
  420. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +2 -2
  421. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +1 -1
  422. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +1 -1
  423. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +2 -2
  424. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +1 -1
  425. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +1 -1
  426. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +1 -1
  427. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +1 -1
  428. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
  429. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/intersection-observer/index.d.ts +1 -1
  430. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +1 -1
  431. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +2 -2
  432. package/package.json +8 -5
  433. package/dist/cjs/self-measurements/index.js +0 -261
  434. package/dist/es2019/self-measurements/index.js +0 -213
  435. package/dist/esm/self-measurements/index.js +0 -246
  436. package/dist/types/self-measurements/index.d.ts +0 -57
  437. package/dist/types-ts4.5/self-measurements/index.d.ts +0 -57
@@ -14,7 +14,6 @@ import { interactionSpans as atlaskitInteractionSpans } from '../interaction-met
14
14
  import * as resourceTiming from '../resource-timing';
15
15
  import { filterResourceTimings } from '../resource-timing/common/utils/resource-timing-buffer';
16
16
  import { roundEpsilon } from '../round-number';
17
- import { getProfilerAsyncRuntime, getProfilerRuntimeByTag, getProfilerTotalRuntime, markProfilingEnd, markProfilingStart, resetProfilerMeasurements, withProfiling } from '../self-measurements';
18
17
  import * as ssr from '../ssr';
19
18
  import { buildSegmentTree, labelStackStartWith, optimizeLabelStack, sanitizeUfoName, stringifyLabelStackFully } from './common/utils';
20
19
  import getInteractionStatus from './utils/get-interaction-status';
@@ -22,7 +21,7 @@ import getPageVisibilityUpToTTAI from './utils/get-page-visibility-up-to-ttai';
22
21
  import { getReactUFOPayloadVersion } from './utils/get-react-ufo-payload-version';
23
22
  import getSSRDoneTimeValue from './utils/get-ssr-done-time-value';
24
23
  import getVCMetrics from './utils/get-vc-metrics';
25
- const getUfoNameOverride = withProfiling(function getUfoNameOverride(interaction) {
24
+ function getUfoNameOverride(interaction) {
26
25
  const {
27
26
  ufoName,
28
27
  apdex
@@ -39,8 +38,8 @@ const getUfoNameOverride = withProfiling(function getUfoNameOverride(interaction
39
38
  } catch (e) {
40
39
  return ufoName;
41
40
  }
42
- });
43
- const getEarliestLegacyStopTime = withProfiling(function getEarliestLegacyStopTime(interaction, labelStack) {
41
+ }
42
+ function getEarliestLegacyStopTime(interaction, labelStack) {
44
43
  let earliestLegacyStopTime = null;
45
44
  interaction.apdex.forEach(a => {
46
45
  var _a$labelStack, _earliestLegacyStopTi;
@@ -55,22 +54,22 @@ const getEarliestLegacyStopTime = withProfiling(function getEarliestLegacyStopTi
55
54
  }
56
55
  });
57
56
  return earliestLegacyStopTime;
58
- });
59
- const getBm3EndTimeOrFallbackValue = withProfiling(function getBm3EndTimeOrFallbackValue(interaction, labelStack = [], fallbackValue = interaction.end) {
57
+ }
58
+ function getBm3EndTimeOrFallbackValue(interaction, labelStack = [], fallbackValue = interaction.end) {
60
59
  var _getEarliestLegacySto;
61
60
  if (interaction.type === 'press') {
62
61
  return fallbackValue;
63
62
  }
64
63
  return (_getEarliestLegacySto = getEarliestLegacyStopTime(interaction, labelStack)) !== null && _getEarliestLegacySto !== void 0 ? _getEarliestLegacySto : fallbackValue;
65
- });
66
- const getPageVisibilityUpToTTI = withProfiling(function getPageVisibilityUpToTTI(interaction) {
64
+ }
65
+ function getPageVisibilityUpToTTI(interaction) {
67
66
  const {
68
67
  start
69
68
  } = interaction;
70
69
  const bm3EndTimeOrInteractionEndTime = getBm3EndTimeOrFallbackValue(interaction);
71
70
  return getPageVisibilityState(start, bm3EndTimeOrInteractionEndTime);
72
- });
73
- const getVisibilityStateFromPerformance = withProfiling(function getVisibilityStateFromPerformance(stop) {
71
+ }
72
+ function getVisibilityStateFromPerformance(stop) {
74
73
  try {
75
74
  const results = performance.getEntriesByType('visibility-state');
76
75
  if (!results || results.length === 0) {
@@ -97,8 +96,8 @@ const getVisibilityStateFromPerformance = withProfiling(function getVisibilitySt
97
96
  } catch (e) {
98
97
  return null;
99
98
  }
100
- });
101
- const getMoreAccuratePageVisibilityUpToTTI = withProfiling(function getMoreAccuratePageVisibilityUpToTTI(interaction) {
99
+ }
100
+ function getMoreAccuratePageVisibilityUpToTTI(interaction) {
102
101
  const old = getPageVisibilityUpToTTI(interaction);
103
102
  const tti = getEarliestLegacyStopTime(interaction, []);
104
103
  if (!tti) {
@@ -112,8 +111,8 @@ const getMoreAccuratePageVisibilityUpToTTI = withProfiling(function getMoreAccur
112
111
  return 'mixed';
113
112
  }
114
113
  return old;
115
- });
116
- const getMoreAccuratePageVisibilityUpToTTAI = withProfiling(function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
114
+ }
115
+ function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
117
116
  const old = getPageVisibilityUpToTTAI(interaction);
118
117
  const buffered = getVisibilityStateFromPerformance(interaction.end);
119
118
  if (!buffered) {
@@ -123,21 +122,21 @@ const getMoreAccuratePageVisibilityUpToTTAI = withProfiling(function getMoreAccu
123
122
  return 'mixed';
124
123
  }
125
124
  return old;
126
- });
127
- const getResourceTimings = withProfiling(function getResourceTimings(start, end) {
125
+ }
126
+ function getResourceTimings(start, end) {
128
127
  var _resourceTiming$getRe;
129
128
  return (_resourceTiming$getRe = resourceTiming.getResourceTimings(start, end)) !== null && _resourceTiming$getRe !== void 0 ? _resourceTiming$getRe : undefined;
130
- });
131
- const getBundleEvalTimings = withProfiling(function getBundleEvalTimings(start) {
129
+ }
130
+ function getBundleEvalTimings(start) {
132
131
  return bundleEvalTiming.getBundleEvalTimings(start);
133
- });
134
- const getSSRSuccess = withProfiling(function getSSRSuccess(type) {
132
+ }
133
+ function getSSRSuccess(type) {
135
134
  return type === 'page_load' ? ssr.getSSRSuccess() : undefined;
136
- });
137
- const getSSRFeatureFlags = withProfiling(function getSSRFeatureFlags(type) {
135
+ }
136
+ function getSSRFeatureFlags(type) {
138
137
  return type === 'page_load' ? ssr.getSSRFeatureFlags() : undefined;
139
- });
140
- const getLCP = withProfiling(function getLCP(end) {
138
+ }
139
+ const getLCP = end => {
141
140
  return new Promise(resolve => {
142
141
  let observer;
143
142
  const timeout = setTimeout(() => {
@@ -145,7 +144,7 @@ const getLCP = withProfiling(function getLCP(end) {
145
144
  (_observer = observer) === null || _observer === void 0 ? void 0 : _observer.disconnect();
146
145
  resolve(null);
147
146
  }, 200);
148
- const performanceObserverCallback = withProfiling(function performanceObserverCallback(list) {
147
+ const performanceObserverCallback = list => {
149
148
  const entries = Array.from(list.getEntries());
150
149
  const lastEntry = entries.reduce((agg, entry) => {
151
150
  // Use the latest LCP candidate before TTAI
@@ -160,15 +159,15 @@ const getLCP = withProfiling(function getLCP(end) {
160
159
  } else {
161
160
  resolve(lastEntry.startTime);
162
161
  }
163
- });
162
+ };
164
163
  observer = new PerformanceObserver(performanceObserverCallback);
165
164
  observer.observe({
166
165
  type: 'largest-contentful-paint',
167
166
  buffered: true
168
167
  });
169
168
  });
170
- });
171
- const getPaintMetrics = withProfiling(async function getPaintMetrics(type, end) {
169
+ };
170
+ async function getPaintMetrics(type, end) {
172
171
  if (type !== 'page_load') {
173
172
  return {};
174
173
  }
@@ -186,16 +185,16 @@ const getPaintMetrics = withProfiling(async function getPaintMetrics(type, end)
186
185
  metrics['metric:lcp'] = Math.round(lcp);
187
186
  }
188
187
  return metrics;
189
- });
190
- const getTTAI = withProfiling(function getTTAI(interaction) {
188
+ }
189
+ function getTTAI(interaction) {
191
190
  const {
192
191
  start,
193
192
  end
194
193
  } = interaction;
195
194
  const pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
196
195
  return !interaction.abortReason && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
197
- });
198
- const getNavigationMetrics = withProfiling(function getNavigationMetrics(type) {
196
+ }
197
+ function getNavigationMetrics(type) {
199
198
  if (type !== 'page_load') {
200
199
  return {};
201
200
  }
@@ -240,8 +239,8 @@ const getNavigationMetrics = withProfiling(function getNavigationMetrics(type) {
240
239
  return {
241
240
  'metrics:navigation': metrics
242
241
  };
243
- });
244
- const getPPSMetrics = withProfiling(function getPPSMetrics(interaction) {
242
+ }
243
+ function getPPSMetrics(interaction) {
245
244
  var _interaction$apdex, _interaction$apdex$;
246
245
  const {
247
246
  start,
@@ -270,14 +269,14 @@ const getPPSMetrics = withProfiling(function getPPSMetrics(interaction) {
270
269
  };
271
270
  }
272
271
  return {};
273
- });
274
- const getSSRProperties = withProfiling(function getSSRProperties(type) {
272
+ }
273
+ function getSSRProperties(type) {
275
274
  return {
276
275
  'ssr:success': getSSRSuccess(type),
277
276
  'ssr:featureFlags': getSSRFeatureFlags(type)
278
277
  };
279
- });
280
- const getAssetsMetrics = withProfiling(function getAssetsMetrics(interaction, SSRDoneTime) {
278
+ }
279
+ function getAssetsMetrics(interaction, SSRDoneTime) {
281
280
  try {
282
281
  const config = getConfig();
283
282
  const {
@@ -303,8 +302,8 @@ const getAssetsMetrics = withProfiling(function getAssetsMetrics(interaction, SS
303
302
  // Skip CHR in case of error
304
303
  return {};
305
304
  }
306
- });
307
- const getBrowserMetadata = withProfiling(function getBrowserMetadata() {
305
+ }
306
+ function getBrowserMetadata() {
308
307
  const data = {};
309
308
  const now = new Date();
310
309
  data['event:localHour'] = now.getHours(); // returns the hours for this date according to local time
@@ -330,8 +329,8 @@ const getBrowserMetadata = withProfiling(function getBrowserMetadata() {
330
329
  data['event:network:downlink'] = navigator.connection.downlink;
331
330
  }
332
331
  return data;
333
- });
334
- const getTracingContextData = withProfiling(function getTracingContextData(interaction) {
332
+ }
333
+ function getTracingContextData(interaction) {
335
334
  const {
336
335
  trace,
337
336
  start
@@ -348,8 +347,8 @@ const getTracingContextData = withProfiling(function getTracingContextData(inter
348
347
  };
349
348
  }
350
349
  return tracingContextData;
351
- });
352
- const optimizeCustomData = withProfiling(function optimizeCustomData(interaction) {
350
+ }
351
+ function optimizeCustomData(interaction) {
353
352
  const {
354
353
  customData,
355
354
  legacyMetrics
@@ -385,8 +384,8 @@ const optimizeCustomData = withProfiling(function optimizeCustomData(interaction
385
384
  return [...customDataMap.values(), ...legacyMetricsFiltered.values()];
386
385
  }
387
386
  return [...customDataMap.values()];
388
- });
389
- const optimizeReactProfilerTimings = withProfiling(function optimizeReactProfilerTimings(reactProfilerTimings, interactionStart, reactUFOVersion) {
387
+ }
388
+ function optimizeReactProfilerTimings(reactProfilerTimings, interactionStart, reactUFOVersion) {
390
389
  const reactProfilerTimingsMap = reactProfilerTimings.reduce((result, {
391
390
  labelStack,
392
391
  startTime,
@@ -424,8 +423,8 @@ const optimizeReactProfilerTimings = withProfiling(function optimizeReactProfile
424
423
  return result;
425
424
  }, new Map());
426
425
  return [...reactProfilerTimingsMap.values()];
427
- });
428
- const optimizeRedirects = withProfiling(function optimizeRedirects(redirects, interactionStart) {
426
+ }
427
+ function optimizeRedirects(redirects, interactionStart) {
429
428
  let lastRedirectTime = interactionStart;
430
429
  const updatedRedirects = redirects.sort((a, b) => a.time - b.time).reduce((result, redirect) => {
431
430
  const {
@@ -445,8 +444,8 @@ const optimizeRedirects = withProfiling(function optimizeRedirects(redirects, in
445
444
  return result;
446
445
  }, []);
447
446
  return updatedRedirects;
448
- });
449
- const optimizeHoldInfo = withProfiling(function optimizeHoldInfo(holdInfo, interactionStart, reactUFOVersion) {
447
+ }
448
+ function optimizeHoldInfo(holdInfo, interactionStart, reactUFOVersion) {
450
449
  const holdInfoMap = holdInfo.reduce((result, hold) => {
451
450
  const {
452
451
  labelStack,
@@ -479,8 +478,8 @@ const optimizeHoldInfo = withProfiling(function optimizeHoldInfo(holdInfo, inter
479
478
  return result;
480
479
  }, new Map());
481
480
  return [...holdInfoMap.values()];
482
- });
483
- const optimizeSpans = withProfiling(function optimizeSpans(spans, interactionStart, reactUFOVersion) {
481
+ }
482
+ function optimizeSpans(spans, interactionStart, reactUFOVersion) {
484
483
  const updatedSpans = spans.reduce((result, span) => {
485
484
  const {
486
485
  labelStack,
@@ -502,8 +501,8 @@ const optimizeSpans = withProfiling(function optimizeSpans(spans, interactionSta
502
501
  return result;
503
502
  }, []);
504
503
  return updatedSpans;
505
- });
506
- const optimizeRequestInfo = withProfiling(function optimizeRequestInfo(requestInfo, interactionStart, reactUFOVersion) {
504
+ }
505
+ function optimizeRequestInfo(requestInfo, interactionStart, reactUFOVersion) {
507
506
  const updatedRequestInfo = requestInfo.reduce((result, reqInfo) => {
508
507
  const {
509
508
  labelStack,
@@ -527,8 +526,8 @@ const optimizeRequestInfo = withProfiling(function optimizeRequestInfo(requestIn
527
526
  return result;
528
527
  }, []);
529
528
  return updatedRequestInfo;
530
- });
531
- const optimizeCustomTimings = withProfiling(function optimizeCustomTimings(customTimings, interactionStart) {
529
+ }
530
+ function optimizeCustomTimings(customTimings, interactionStart) {
532
531
  return customTimings.reduce((result, item) => {
533
532
  Object.keys(item.data).forEach(key => {
534
533
  if (item.data[key].startTime >= interactionStart) {
@@ -543,8 +542,8 @@ const optimizeCustomTimings = withProfiling(function optimizeCustomTimings(custo
543
542
  });
544
543
  return result;
545
544
  }, []);
546
- });
547
- const optimizeMarks = withProfiling(function optimizeMarks(marks, reactUFOVersion) {
545
+ }
546
+ function optimizeMarks(marks, reactUFOVersion) {
548
547
  return marks.map(({
549
548
  labelStack,
550
549
  time,
@@ -554,8 +553,8 @@ const optimizeMarks = withProfiling(function optimizeMarks(marks, reactUFOVersio
554
553
  labelStack: labelStack && optimizeLabelStack(labelStack, reactUFOVersion),
555
554
  time: Math.round(time)
556
555
  }));
557
- });
558
- const optimizeApdex = withProfiling(function optimizeApdex(apdex, reactUFOVersion) {
556
+ }
557
+ function optimizeApdex(apdex, reactUFOVersion) {
559
558
  return apdex.map(({
560
559
  stopTime,
561
560
  labelStack,
@@ -567,8 +566,8 @@ const optimizeApdex = withProfiling(function optimizeApdex(apdex, reactUFOVersio
567
566
  labelStack: optimizeLabelStack(labelStack, reactUFOVersion)
568
567
  } : {})
569
568
  }));
570
- });
571
- const objectToArray = withProfiling(function objectToArray(obj = {}) {
569
+ }
570
+ function objectToArray(obj = {}) {
572
571
  return Object.keys(obj).reduce((result, key) => {
573
572
  result.push({
574
573
  label: key,
@@ -576,8 +575,8 @@ const objectToArray = withProfiling(function objectToArray(obj = {}) {
576
575
  });
577
576
  return result;
578
577
  }, []);
579
- });
580
- const getBM3SubmetricsTimings = withProfiling(function getBM3SubmetricsTimings(submetrics) {
578
+ }
579
+ function getBM3SubmetricsTimings(submetrics) {
581
580
  if (!submetrics) {
582
581
  return null;
583
582
  }
@@ -598,8 +597,8 @@ const getBM3SubmetricsTimings = withProfiling(function getBM3SubmetricsTimings(s
598
597
  };
599
598
  });
600
599
  return submetricsTimings;
601
- });
602
- const getBm3TrackerTimings = withProfiling(function getBm3TrackerTimings(interaction) {
600
+ }
601
+ function getBm3TrackerTimings(interaction) {
603
602
  const interactionLegacyMetrics = interaction.legacyMetrics;
604
603
  if (!interactionLegacyMetrics) {
605
604
  return {};
@@ -622,11 +621,11 @@ const getBm3TrackerTimings = withProfiling(function getBm3TrackerTimings(interac
622
621
  return {
623
622
  legacyMetrics
624
623
  };
625
- });
626
- const getPayloadSize = withProfiling(function getPayloadSize(payload) {
624
+ }
625
+ function getPayloadSize(payload) {
627
626
  return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
628
- });
629
- const getStylesheetMetrics = withProfiling(function getStylesheetMetrics() {
627
+ }
628
+ function getStylesheetMetrics() {
630
629
  // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
631
630
  if (!fg('ufo_capture_stylesheet_metrics')) {
632
631
  return {};
@@ -665,18 +664,17 @@ const getStylesheetMetrics = withProfiling(function getStylesheetMetrics() {
665
664
  } catch (e) {
666
665
  return {};
667
666
  }
668
- });
667
+ }
669
668
  let regularTTAI;
670
669
  let expTTAI;
671
- const getErrorCounts = withProfiling(function getErrorCounts(interaction) {
670
+ function getErrorCounts(interaction) {
672
671
  return {
673
672
  'ufo:errors:globalCount': getGlobalErrorCount(),
674
673
  'ufo:errors:count': interaction.errors.length
675
674
  };
676
- });
675
+ }
677
676
  async function createInteractionMetricsPayload(interaction, interactionId, experimental) {
678
677
  var _window$location, _config$additionalPay;
679
- const operationTimer = markProfilingStart('createInteractionMetricsPayload');
680
678
  const interactionPayloadStart = performance.now();
681
679
  const config = getConfig();
682
680
  if (!config) {
@@ -694,7 +692,8 @@ async function createInteractionMetricsPayload(interaction, interactionId, exper
694
692
  featureFlags,
695
693
  previousInteractionName,
696
694
  isPreviousInteractionAborted,
697
- abortedByInteractionName
695
+ abortedByInteractionName,
696
+ responsiveness
698
697
  } = interaction;
699
698
  const pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
700
699
  const pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
@@ -836,6 +835,9 @@ async function createInteractionMetricsPayload(interaction, interactionId, exper
836
835
  marks: optimizeMarks(interaction.marks, getReactUFOPayloadVersion(interaction.type)),
837
836
  customData: optimizeCustomData(interaction),
838
837
  reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, getReactUFOPayloadVersion(interaction.type)),
838
+ ...(responsiveness ? {
839
+ responsiveness
840
+ } : {}),
839
841
  ...labelStack,
840
842
  ...pageLoadInteractionMetrics,
841
843
  ...getDetailedInteractionMetrics(resourceTimings),
@@ -844,12 +846,7 @@ async function createInteractionMetricsPayload(interaction, interactionId, exper
844
846
  'metric:ttai': experimental ? regularTTAI || expTTAI : undefined,
845
847
  'metric:experimental:ttai': expTTAI
846
848
  },
847
- 'ufo:payloadTime': roundEpsilon(performance.now() - interactionPayloadStart),
848
- ...(fg('platform_ufo_self_timings') ? {
849
- 'ufo:self:timings:total': getProfilerTotalRuntime(),
850
- 'ufo:self:timings:async': getProfilerAsyncRuntime(),
851
- 'ufo:self:timings:vc': getProfilerRuntimeByTag('vc')
852
- } : {})
849
+ 'ufo:payloadTime': roundEpsilon(performance.now() - interactionPayloadStart)
853
850
  }
854
851
  }
855
852
  };
@@ -857,8 +854,6 @@ async function createInteractionMetricsPayload(interaction, interactionId, exper
857
854
  regularTTAI = undefined;
858
855
  expTTAI = undefined;
859
856
  }
860
- markProfilingEnd(operationTimer);
861
- resetProfilerMeasurements();
862
857
  payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
863
858
  return payload;
864
859
  }
@@ -871,7 +866,7 @@ export async function createPayloads(interactionId, interaction) {
871
866
  const interactionMetricsPayload = await createInteractionMetricsPayload(modifiedInteraction, interactionId);
872
867
  return [interactionMetricsPayload];
873
868
  }
874
- export const createExperimentalMetricsPayload = withProfiling(async function createExperimentalMetricsPayload(interactionId, interaction) {
869
+ export async function createExperimentalMetricsPayload(interactionId, interaction) {
875
870
  const config = getConfig();
876
871
  if (!config) {
877
872
  throw Error('UFO Configuration not provided');
@@ -887,4 +882,4 @@ export const createExperimentalMetricsPayload = withProfiling(async function cre
887
882
  }
888
883
  const result = await createInteractionMetricsPayload(interaction, interactionId, true);
889
884
  return result;
890
- });
885
+ }
@@ -1,5 +1,3 @@
1
- import { withProfiling } from '../../self-measurements';
2
-
3
1
  /**
4
2
  * Determines the interaction status based on abort reason and BM3 TTI presence.
5
3
  *
@@ -22,7 +20,7 @@ import { withProfiling } from '../../self-measurements';
22
20
  * const result = getInteractionStatus(interaction);
23
21
  * // Returns: { originalInteractionStatus: 'SUCCEEDED', overrideStatus: 'SUCCEEDED' }
24
22
  */
25
- const getInteractionStatus = withProfiling(function getInteractionStatus(interaction) {
23
+ function getInteractionStatus(interaction) {
26
24
  const originalInteractionStatus = interaction.abortReason ? 'ABORTED' : 'SUCCEEDED';
27
25
  const hasBm3TTI = interaction.apdex.length > 0;
28
26
  const overrideStatus = hasBm3TTI ? 'SUCCEEDED' : originalInteractionStatus;
@@ -30,5 +28,5 @@ const getInteractionStatus = withProfiling(function getInteractionStatus(interac
30
28
  originalInteractionStatus,
31
29
  overrideStatus
32
30
  };
33
- });
31
+ }
34
32
  export default getInteractionStatus;
@@ -1,10 +1,9 @@
1
1
  import { getPageVisibilityState } from '../../hidden-timing';
2
- import { withProfiling } from '../../self-measurements';
3
- const getPageVisibilityUpToTTAI = withProfiling(function getPageVisibilityUpToTTAI(interaction) {
2
+ function getPageVisibilityUpToTTAI(interaction) {
4
3
  const {
5
4
  start,
6
5
  end
7
6
  } = interaction;
8
7
  return getPageVisibilityState(start, end);
9
- });
8
+ }
10
9
  export default getPageVisibilityUpToTTAI;
@@ -1,7 +1,6 @@
1
- import { withProfiling } from '../../self-measurements';
2
- export const getReactUFOPayloadVersion = withProfiling(function getReactUFOVersion(interactionType) {
1
+ export function getReactUFOPayloadVersion(interactionType) {
3
2
  if (interactionType !== 'page_load' && interactionType !== 'transition') {
4
3
  return '1.0.1';
5
4
  }
6
5
  return '2.0.0';
7
- });
6
+ }
@@ -1,7 +1,6 @@
1
- import { withProfiling } from '../../self-measurements';
2
1
  import * as ssr from '../../ssr';
3
- const getSSRDoneTimeValue = withProfiling(function getSSRDoneTimeValue(config) {
2
+ function getSSRDoneTimeValue(config) {
4
3
  var _config$ssr, _config$ssr2;
5
4
  return config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime ? config === null || config === void 0 ? void 0 : (_config$ssr2 = config.ssr) === null || _config$ssr2 === void 0 ? void 0 : _config$ssr2.getSSRDoneTime() : ssr.getSSRDoneTime();
6
- });
5
+ }
7
6
  export default getSSRDoneTimeValue;
@@ -1,12 +1,11 @@
1
1
  import { fg } from '@atlaskit/platform-feature-flags';
2
2
  import { getConfig } from '../../config';
3
3
  import { postInteractionLog } from '../../interaction-metrics';
4
- import { withProfiling } from '../../self-measurements';
5
4
  import { getVCObserver } from '../../vc';
6
5
  import getInteractionStatus from './get-interaction-status';
7
6
  import getPageVisibilityUpToTTAI from './get-page-visibility-up-to-ttai';
8
7
  import getSSRDoneTimeValue from './get-ssr-done-time-value';
9
- const getVCMetrics = withProfiling(async function getVCMetrics(interaction) {
8
+ async function getVCMetrics(interaction) {
10
9
  var _config$vc, _config$vc$ssrWhiteli, _interaction$apdex, _interaction$apdex$, _config$experimentalI;
11
10
  const config = getConfig();
12
11
  if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
@@ -65,5 +64,5 @@ const getVCMetrics = withProfiling(async function getVCMetrics(interaction) {
65
64
  'metric:vc90': VC['90']
66
65
  };
67
66
  }
68
- });
67
+ }
69
68
  export default getVCMetrics;
@@ -3,14 +3,13 @@ import { getConfig, getPostInteractionRate } from '../config';
3
3
  import { isSegmentLabel, sanitizeUfoName } from '../create-payload/common/utils';
4
4
  import { getReactUFOPayloadVersion } from '../create-payload/utils/get-react-ufo-payload-version';
5
5
  import { getPageVisibilityState } from '../hidden-timing';
6
- import { withProfiling } from '../self-measurements';
7
- const getParentStack = withProfiling(function getParentStack(labelStack) {
6
+ function getParentStack(labelStack) {
8
7
  if (!labelStack || labelStack.length <= 1) {
9
8
  return null;
10
9
  }
11
10
  return labelStack.slice(0, labelStack.length - 1);
12
- });
13
- const getSegmentId = withProfiling(function getSegmentId(labelStack) {
11
+ }
12
+ function getSegmentId(labelStack) {
14
13
  if (!labelStack) {
15
14
  return null;
16
15
  }
@@ -23,16 +22,16 @@ const getSegmentId = withProfiling(function getSegmentId(labelStack) {
23
22
  return null;
24
23
  }
25
24
  return getSegmentId(parentStack);
26
- });
27
- const getParentSegmentId = withProfiling(function getParentSegmentId(labelStack) {
25
+ }
26
+ function getParentSegmentId(labelStack) {
28
27
  return getSegmentId(getParentStack(labelStack));
29
- });
28
+ }
30
29
 
31
30
  /**
32
31
  * Whenever a render happen, all parent segment have timing reported
33
32
  * This method tries to reduce that noise
34
33
  */
35
- const removeCascadingParentTimingReport = withProfiling(function removeCascadingParentTimingReport(reactProfilerTimings) {
34
+ function removeCascadingParentTimingReport(reactProfilerTimings) {
36
35
  const timingIndex = new Map();
37
36
  reactProfilerTimings.forEach(timing => {
38
37
  const segmentId = getSegmentId(timing.labelStack);
@@ -58,8 +57,8 @@ const removeCascadingParentTimingReport = withProfiling(function removeCascading
58
57
  }
59
58
  });
60
59
  return [...timingIndex.values()].flatMap(v => v);
61
- });
62
- const transformReactProfilerTimings = withProfiling(function transformReactProfilerTimings(reactProfilerTimings) {
60
+ }
61
+ function transformReactProfilerTimings(reactProfilerTimings) {
63
62
  const filtered = removeCascadingParentTimingReport(reactProfilerTimings !== null && reactProfilerTimings !== void 0 ? reactProfilerTimings : []);
64
63
  const reactProfilerTimingsMap = filtered.reduce((result, {
65
64
  labelStack,
@@ -98,8 +97,8 @@ const transformReactProfilerTimings = withProfiling(function transformReactProfi
98
97
  return result;
99
98
  }, new Map());
100
99
  return [...reactProfilerTimingsMap.values()];
101
- });
102
- const createPostInteractionLogPayload = withProfiling(function createPostInteractionLogPayload({
100
+ }
101
+ function createPostInteractionLogPayload({
103
102
  lastInteractionFinish,
104
103
  reactProfilerTimings,
105
104
  lastInteractionFinishVCResult,
@@ -193,5 +192,5 @@ const createPostInteractionLogPayload = withProfiling(function createPostInterac
193
192
  }
194
193
  }
195
194
  };
196
- });
195
+ }
197
196
  export default createPostInteractionLogPayload;
@@ -1,8 +1,8 @@
1
1
  import { useContext, useMemo } from 'react';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
2
3
  import UFOInteractionContext from '../interaction-context';
3
4
  import { getInteractionId } from '../interaction-id-context';
4
5
  import { addCustomData } from '../interaction-metrics';
5
- import { withProfiling } from '../self-measurements';
6
6
  export default function UFOCustomData({
7
7
  data
8
8
  }) {
@@ -11,15 +11,23 @@ export default function UFOCustomData({
11
11
  if (!interactionContext) {
12
12
  return;
13
13
  }
14
- interactionContext.addCustomData(data);
14
+ if (typeof (globalThis === null || globalThis === void 0 ? void 0 : globalThis.structuredClone) === 'function' && fg('platform_ufo_custom_data_structured_clone')) {
15
+ interactionContext.addCustomData(globalThis.structuredClone(data));
16
+ } else {
17
+ interactionContext.addCustomData(data);
18
+ }
15
19
  }, [data, interactionContext]);
16
20
  return null;
17
21
  }
18
- export const addUFOCustomData = withProfiling(function addUFOCustomData(data) {
22
+ export function addUFOCustomData(data) {
19
23
  const interactionId = getInteractionId();
20
24
  const currentInteractionId = interactionId.current;
21
25
  if (!currentInteractionId) {
22
26
  return;
23
27
  }
24
- addCustomData(currentInteractionId, [], data);
25
- });
28
+ if (typeof (globalThis === null || globalThis === void 0 ? void 0 : globalThis.structuredClone) === 'function' && fg('platform_ufo_custom_data_structured_clone')) {
29
+ addCustomData(currentInteractionId, [], globalThis.structuredClone(data));
30
+ } else {
31
+ addCustomData(currentInteractionId, [], data);
32
+ }
33
+ }
@@ -2,7 +2,6 @@ import { useContext, useMemo } from 'react';
2
2
  import UFOInteractionContext from '../interaction-context';
3
3
  import { getInteractionId } from '../interaction-id-context';
4
4
  import { addMark } from '../interaction-metrics';
5
- import { withProfiling } from '../self-measurements';
6
5
  export default function UFOCustomMark({
7
6
  name,
8
7
  timestamp
@@ -28,7 +27,7 @@ export function UFOCustomMarks({
28
27
  }, [data, interactionContext]);
29
28
  return null;
30
29
  }
31
- export const addUFOCustomMark = withProfiling(function addUFOCustomMark(name, timestamp) {
30
+ export function addUFOCustomMark(name, timestamp) {
32
31
  const interactionId = getInteractionId();
33
32
  const currentInteractionId = interactionId.current;
34
33
  if (!currentInteractionId) {
@@ -36,4 +35,4 @@ export const addUFOCustomMark = withProfiling(function addUFOCustomMark(name, ti
36
35
  }
37
36
  const time = timestamp || performance.now();
38
37
  addMark(currentInteractionId, 'custom', name, [], time);
39
- });
38
+ }
@@ -1,7 +1,6 @@
1
1
  import { addSpanToAll } from '../interaction-metrics';
2
- import { withProfiling } from '../self-measurements';
3
- export const addCustomSpans = withProfiling(function addCustomSpans(name, start, end = performance.now(), size = 0) {
2
+ export function addCustomSpans(name, start, end = performance.now(), size = 0) {
4
3
  addSpanToAll('custom', name, [{
5
4
  name: 'custom'
6
5
  }], start, end, size);
7
- });
6
+ }