@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
@@ -0,0 +1,30 @@
1
+ import { getActiveInteraction } from '../interaction-metrics';
2
+ let performanceEventObserver;
3
+ export const getPerformanceObserver = () => {
4
+ performanceEventObserver = performanceEventObserver || new PerformanceObserver(entries => {
5
+ const list = entries.getEntries();
6
+ for (let entry of list) {
7
+ if (entry.name === 'click') {
8
+ setInteractionPerformanceEvent(entry);
9
+ }
10
+ }
11
+ });
12
+ return performanceEventObserver;
13
+ };
14
+ export const setInteractionPerformanceEvent = entry => {
15
+ const interaction = getActiveInteraction();
16
+ if ((interaction === null || interaction === void 0 ? void 0 : interaction.type) === 'press') {
17
+ var _interaction$responsi, _interaction$responsi2;
18
+ // if happens there is another event interaction that has started after
19
+ // the initial one, we don't want to replace the values if they have already been set up
20
+ interaction.responsiveness = {
21
+ ...interaction.responsiveness,
22
+ experimentalInputToNextPaint: ((_interaction$responsi = interaction.responsiveness) === null || _interaction$responsi === void 0 ? void 0 : _interaction$responsi.experimentalInputToNextPaint) || entry.duration,
23
+ inputDelay: ((_interaction$responsi2 = interaction.responsiveness) === null || _interaction$responsi2 === void 0 ? void 0 : _interaction$responsi2.inputDelay) || entry.processingStart - entry.startTime
24
+ };
25
+ // if the entry start time is lower than the one in the interaction
26
+ // it means the interaction start time is not accurate, we assign
27
+ // this value which will match the timestamp in the event
28
+ interaction.start = Math.min(interaction.start, entry.startTime);
29
+ }
30
+ };
@@ -1,11 +1,10 @@
1
1
  import { getConfig as getConfigUFO } from '../../../config';
2
- import { withProfiling } from '../../../self-measurements';
3
2
  const defaultAllowedParams = ['operationName', 'operation', 'q'];
4
- const getAllowedParams = withProfiling(function getAllowedParams() {
3
+ function getAllowedParams() {
5
4
  const config = getConfigUFO();
6
5
  return (config === null || config === void 0 ? void 0 : config.allowedResourcesParams) || defaultAllowedParams;
7
- });
8
- const handleQueryParams = withProfiling(function handleQueryParams(urlString) {
6
+ }
7
+ function handleQueryParams(urlString) {
9
8
  try {
10
9
  if (typeof urlString !== 'string') {
11
10
  return urlString;
@@ -22,14 +21,14 @@ const handleQueryParams = withProfiling(function handleQueryParams(urlString) {
22
21
  } catch (e) {
23
22
  return urlString;
24
23
  }
25
- });
24
+ }
26
25
  let config = {
27
26
  mapResources: url => url,
28
27
  sanitiseEndpoints: url => {
29
28
  return handleQueryParams(url);
30
29
  }
31
30
  };
32
- export const configure = withProfiling(function configure(resourceTimingConfig) {
31
+ export function configure(resourceTimingConfig) {
33
32
  const newConfig = {
34
33
  mapResources: resourceTimingConfig.mapResources,
35
34
  sanitiseEndpoints: url => {
@@ -41,7 +40,7 @@ export const configure = withProfiling(function configure(resourceTimingConfig)
41
40
  }
42
41
  };
43
42
  config = newConfig;
44
- });
45
- export const getConfig = withProfiling(function getConfig() {
43
+ }
44
+ export function getConfig() {
46
45
  return config;
47
- });
46
+ }
@@ -1,5 +1,4 @@
1
1
  import { roundEpsilon } from '../../../round-number';
2
- import { withProfiling } from '../../../self-measurements';
3
2
  const getPerformanceObject = () => {
4
3
  var _window;
5
4
  return ((_window = window) !== null && _window !== void 0 ? _window : {}).performance;
@@ -12,7 +11,7 @@ export const resourceTimingBuffer = {
12
11
  timings: [],
13
12
  maxSize: 1000,
14
13
  observer: null,
15
- transformResource: withProfiling(function transformResource(entry) {
14
+ transformResource(entry) {
16
15
  var _entry$serverTiming, _entry$serverTiming2;
17
16
  const duration = roundEpsilon(entry.duration);
18
17
 
@@ -37,8 +36,8 @@ export const resourceTimingBuffer = {
37
36
  encodedSize: roundEpsilon(entry.encodedBodySize),
38
37
  decodedSize: roundEpsilon(entry.decodedBodySize)
39
38
  };
40
- }),
41
- start: withProfiling(function start() {
39
+ },
40
+ start() {
42
41
  var _performance$getEntri;
43
42
  const performance = getPerformanceObject();
44
43
  const PerformanceObserver = getPerformanceObserverObject();
@@ -56,15 +55,15 @@ export const resourceTimingBuffer = {
56
55
  resourceTimingBuffer.observer.observe({
57
56
  entryTypes: ['resource']
58
57
  });
59
- }),
60
- stop: withProfiling(function stop() {
58
+ },
59
+ stop() {
61
60
  if (resourceTimingBuffer.observer) {
62
61
  resourceTimingBuffer.observer.disconnect();
63
62
  resourceTimingBuffer.observer = null;
64
63
  }
65
64
  resourceTimingBuffer.timings = [];
66
- }),
67
- addTimings: withProfiling(function addTimings(list) {
65
+ },
66
+ addTimings(list) {
68
67
  const entries = list.getEntries().map(entry => resourceTimingBuffer.transformResource(entry));
69
68
  const overflow = resourceTimingBuffer.timings.length + entries.length;
70
69
  if (overflow > resourceTimingBuffer.maxSize) {
@@ -72,12 +71,12 @@ export const resourceTimingBuffer = {
72
71
  resourceTimingBuffer.timings.splice(0, fieldsToRemove);
73
72
  }
74
73
  resourceTimingBuffer.timings.push(...entries);
75
- })
74
+ }
76
75
  };
77
- const isValidTiming = withProfiling(function isValidTiming(timing, startTime, endTime) {
76
+ function isValidTiming(timing, startTime, endTime) {
78
77
  return timing.startTime >= startTime && timing.startTime + timing.duration <= endTime;
79
- });
80
- export const filterResourceTimings = withProfiling(function filterResourceTimings(startTime, endTime) {
78
+ }
79
+ export function filterResourceTimings(startTime, endTime) {
81
80
  const performance = getPerformanceObject();
82
81
  const PerformanceObserver = getPerformanceObserverObject();
83
82
  if (!PerformanceObserver || !resourceTimingBuffer.observer) {
@@ -88,4 +87,4 @@ export const filterResourceTimings = withProfiling(function filterResourceTiming
88
87
  return null;
89
88
  }
90
89
  return resourceTimingBuffer.timings.filter(timing => isValidTiming(timing, startTime, endTime));
91
- });
90
+ }
@@ -1,7 +1,6 @@
1
1
  import { fg } from '@atlaskit/platform-feature-flags';
2
2
  import { getConfig as getConfigUFO } from '../config';
3
3
  import { roundEpsilon } from '../round-number';
4
- import { withProfiling } from '../self-measurements';
5
4
  import { getConfig } from './common/utils/config';
6
5
  import { filterResourceTimings } from './common/utils/resource-timing-buffer';
7
6
  const alwaysCacheableTypes = ['script', 'link'];
@@ -9,7 +8,7 @@ const resourceTypes = ['fetch', 'xmlhttprequest'];
9
8
  const CACHE_NETWORK = 'network';
10
9
  const CACHE_MEMORY = 'memory';
11
10
  const CACHE_DISK = 'disk';
12
- const isCacheableType = withProfiling(function isCacheableType(url, type) {
11
+ function isCacheableType(url, type) {
13
12
  if (alwaysCacheableTypes.includes(type)) {
14
13
  return true;
15
14
  }
@@ -17,10 +16,10 @@ const isCacheableType = withProfiling(function isCacheableType(url, type) {
17
16
  return true;
18
17
  }
19
18
  return false;
20
- });
19
+ }
21
20
 
22
21
  // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
23
- const calculateTransferType = withProfiling(function calculateTransferType(name, type, duration, size) {
22
+ function calculateTransferType(name, type, duration, size) {
24
23
  if (!isCacheableType(name, type)) {
25
24
  return CACHE_NETWORK;
26
25
  }
@@ -34,14 +33,14 @@ const calculateTransferType = withProfiling(function calculateTransferType(name,
34
33
  return null;
35
34
  }
36
35
  return CACHE_NETWORK;
37
- });
38
- const getWindowObject = withProfiling(function getWindowObject() {
36
+ }
37
+ function getWindowObject() {
39
38
  return typeof window !== 'undefined' && !!window ? window : undefined;
40
- });
41
- const hasAccessToResourceSize = withProfiling(function hasAccessToResourceSize(url, type, entry, hasTimingHeaders) {
39
+ }
40
+ function hasAccessToResourceSize(url, type, entry, hasTimingHeaders) {
42
41
  return !isCacheableType(url, type) || url.includes('localhost') || !!getWindowObject() && url.includes(window.location.hostname) || hasTimingHeaders(url, entry);
43
- });
44
- const getReportedInitiatorTypes = withProfiling(function getReportedInitiatorTypes(xhrEnabled) {
42
+ }
43
+ function getReportedInitiatorTypes(xhrEnabled) {
45
44
  const ufoConfig = getConfigUFO();
46
45
  if (!(ufoConfig !== null && ufoConfig !== void 0 && ufoConfig.allowedResources)) {
47
46
  if (xhrEnabled) {
@@ -50,18 +49,18 @@ const getReportedInitiatorTypes = withProfiling(function getReportedInitiatorTyp
50
49
  return ['script', 'link', 'fetch', 'other'];
51
50
  }
52
51
  return ufoConfig.allowedResources;
53
- });
54
- const evaluateAccessToResourceTimings = withProfiling(function evaluateAccessToResourceTimings(url, entry) {
52
+ }
53
+ function evaluateAccessToResourceTimings(url, entry) {
55
54
  return !(entry.responseStart === 0 && entry.startTime > entry.responseStart);
56
- });
55
+ }
57
56
 
58
57
  // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
59
- const getSizeObject = withProfiling(function getSizeObject(size) {
58
+ function getSizeObject(size) {
60
59
  return size !== undefined ? {
61
60
  size
62
61
  } : null;
63
- });
64
- const getNetworkData = withProfiling(function getNetworkData(item, eventStart, hasTimingHeaders = evaluateAccessToResourceTimings) {
62
+ }
63
+ function getNetworkData(item, eventStart, hasTimingHeaders = evaluateAccessToResourceTimings) {
65
64
  const {
66
65
  name,
67
66
  duration,
@@ -98,8 +97,8 @@ const getNetworkData = withProfiling(function getNetworkData(item, eventStart, h
98
97
  requestStart: fg('ufo_return_relative_request_start') ? requestStartRelative : requestStart,
99
98
  ...getSizeObject(transferSize)
100
99
  };
101
- });
102
- export const getResourceTimings = withProfiling(function getResourceTimings(interactionStart, interactionEnd) {
100
+ }
101
+ export function getResourceTimings(interactionStart, interactionEnd) {
103
102
  const resourceTiming = {};
104
103
  if (interactionStart === null) {
105
104
  return resourceTiming;
@@ -154,4 +153,4 @@ export const getResourceTimings = withProfiling(function getResourceTimings(inte
154
153
  };
155
154
  });
156
155
  return resourceTiming;
157
- });
156
+ }
@@ -1,5 +1,4 @@
1
- import { withProfiling } from '../self-measurements';
2
1
  import { resourceTimingBuffer } from './common/utils/resource-timing-buffer';
3
- export const startResourceTimingBuffer = withProfiling(function startResourceTimingBuffer() {
2
+ export function startResourceTimingBuffer() {
4
3
  resourceTimingBuffer.start();
5
- });
4
+ }
@@ -1,5 +1,4 @@
1
- import { withProfiling } from '../self-measurements';
2
- export const roundEpsilon = withProfiling(function roundEpsilon(num, places = 3) {
1
+ export function roundEpsilon(num, places = 3) {
3
2
  const factor = Math.pow(10, places);
4
3
  return Math.round((num + Number.EPSILON) * factor) / factor;
5
- });
4
+ }
@@ -1,8 +1,7 @@
1
- import { withProfiling } from '../self-measurements';
2
- const getUFORouteName = withProfiling(function getUFORouteName(route) {
1
+ function getUFORouteName(route) {
3
2
  if (route.ufoName != null) {
4
3
  return route.ufoName;
5
4
  }
6
5
  return route.name;
7
- });
6
+ }
8
7
  export default getUFORouteName;
@@ -1,7 +1,5 @@
1
- import { withProfiling } from '../self-measurements';
2
- const scheduleOnPaint = withProfiling(function scheduleOnPaint(_callback) {
1
+ function scheduleOnPaint(callback) {
3
2
  var _globalThis$document;
4
- const callback = withProfiling(_callback);
5
3
  if (((_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.visibilityState) !== 'visible') {
6
4
  // last resort fallback
7
5
  setTimeout(callback, 100);
@@ -28,5 +26,5 @@ const scheduleOnPaint = withProfiling(function scheduleOnPaint(_callback) {
28
26
  });
29
27
  });
30
28
  }
31
- });
29
+ }
32
30
  export default scheduleOnPaint;
@@ -9,14 +9,12 @@ import UFOInteractionContext from '../interaction-context';
9
9
  import UFOInteractionIDContext from '../interaction-id-context';
10
10
  import { abortByNewInteraction, addApdex, addCustomData, addCustomTiming, addHold, addHoldByID, addMark, addNewInteraction, addProfilerTimings, addRequestInfo, addSegment, addSpan, removeHoldByID, removeSegment, tryComplete } from '../interaction-metrics';
11
11
  import UFORouteName from '../route-name-context';
12
- import { withProfiling } from '../self-measurements';
13
12
  import generateId from '../short-id';
14
13
  import scheduleOnPaint from './schedule-on-paint';
15
14
  let tryCompleteHandle;
16
15
  const AsyncSegmentHighlight = /*#__PURE__*/lazy(() => import( /* webpackChunkName: "@atlaskit-internal_ufo-segment-highlight" */'./segment-highlight').then(module => ({
17
16
  default: module.SegmentHighlight
18
17
  })));
19
- const noopIdMap = new Map();
20
18
 
21
19
  // KARL TODO: finish self profiling
22
20
  /** A portion of the page we apply measurement to */
@@ -28,19 +26,12 @@ export default function UFOSegment({
28
26
  var _getConfig2;
29
27
  const parentContext = useContext(UFOInteractionContext);
30
28
  const segmentIdMap = useMemo(() => {
31
- if (!fg('platform_ufo_segment_list_mode')) {
32
- // just in case we cause rerender issues, use noop map
33
- return noopIdMap;
34
- }
35
29
  if (!(parentContext !== null && parentContext !== void 0 && parentContext.segmentIdMap)) {
36
30
  return new Map();
37
31
  }
38
32
  return parentContext.segmentIdMap;
39
33
  }, [parentContext]);
40
34
  const segmentId = useMemo(() => {
41
- if (!fg('platform_ufo_segment_list_mode')) {
42
- return generateId();
43
- }
44
35
  if (mode === 'single') {
45
36
  return generateId();
46
37
  }
@@ -61,7 +52,7 @@ export default function UFOSegment({
61
52
  const interactionId = useContext(UFOInteractionIDContext);
62
53
  const interactionContext = useMemo(() => {
63
54
  let lastCompleteEndTime = 0;
64
- const complete = withProfiling(function complete(endTime = performance.now()) {
55
+ function complete(endTime = performance.now()) {
65
56
  if (interactionId.current) {
66
57
  if (parentContext) {
67
58
  parentContext.complete();
@@ -74,7 +65,7 @@ export default function UFOSegment({
74
65
  var _cancelAnimationFrame;
75
66
  (_cancelAnimationFrame = cancelAnimationFrame) === null || _cancelAnimationFrame === void 0 ? void 0 : _cancelAnimationFrame(tryCompleteHandle);
76
67
  }
77
- const onComplete = withProfiling(function onComplete() {
68
+ const onComplete = () => {
78
69
  if (capturedInteractionId === interactionId.current) {
79
70
  var _globalThis$document;
80
71
  const isPageVisible = (globalThis === null || globalThis === void 0 ? void 0 : (_globalThis$document = globalThis.document) === null || _globalThis$document === void 0 ? void 0 : _globalThis$document.visibilityState) === 'visible';
@@ -91,11 +82,11 @@ export default function UFOSegment({
91
82
  tryComplete(interactionId.current, lastCompleteEndTime);
92
83
  }
93
84
  }
94
- });
85
+ };
95
86
  scheduleCallback(NormalPriority, onComplete);
96
87
  }
97
88
  }
98
- });
89
+ }
99
90
  function _internalHold(labelStack, name, experimental = false) {
100
91
  if (interactionId.current != null) {
101
92
  if (parentContext) {
@@ -1,6 +1,5 @@
1
1
  import { addError, getActiveInteraction } from '../interaction-metrics';
2
- import { withProfiling } from '../self-measurements';
3
- export const setInteractionError = withProfiling(function setInteractionError(interactionName, error) {
2
+ export function setInteractionError(interactionName, error) {
4
3
  const interaction = getActiveInteraction();
5
4
  if (!interaction) {
6
5
  return;
@@ -9,4 +8,4 @@ export const setInteractionError = withProfiling(function setInteractionError(in
9
8
  return;
10
9
  }
11
10
  addError(interaction.id, error.name, null, 'Manual interaction error', error.errorMessage, undefined, true);
12
- });
11
+ }
@@ -1,10 +1,9 @@
1
- import { withProfiling } from '../self-measurements';
2
- const generateId = withProfiling(function generateId(length = 7) {
1
+ function generateId(length = 7) {
3
2
  const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
4
3
  let result = '';
5
4
  for (let i = 0; i < length; i++) {
6
5
  result += characters.charAt(Math.floor(Math.random() * characters.length));
7
6
  }
8
7
  return result;
9
- });
8
+ }
10
9
  export default generateId;
@@ -1,26 +1,25 @@
1
- import { withProfiling } from '../self-measurements';
2
1
  const NESTED_METRIC_SEPARATOR = '/';
3
- const filterEntry = withProfiling(function filterEntry(entry) {
2
+ function filterEntry(entry) {
4
3
  return !(!entry || typeof entry !== 'object' || entry.startTime < 0 || entry.duration < 0);
5
- });
6
- const mapEntry = withProfiling(function mapEntry(entry) {
4
+ }
5
+ function mapEntry(entry) {
7
6
  return {
8
7
  startTime: Math.round(entry.startTime),
9
8
  duration: Math.round(entry.duration)
10
9
  };
11
- });
10
+ }
12
11
  const SSR_PREFIX = 'ssr';
13
- const mapKey = withProfiling(function mapKey(key) {
12
+ function mapKey(key) {
14
13
  if (key === 'total') {
15
14
  return SSR_PREFIX;
16
15
  }
17
16
  return `${SSR_PREFIX}${NESTED_METRIC_SEPARATOR}${key}`;
18
- });
17
+ }
19
18
  let config;
20
- export const configure = withProfiling(function configure(ssrConfig) {
19
+ export function configure(ssrConfig) {
21
20
  config = ssrConfig;
22
- });
23
- export const getSSRTimings = withProfiling(function getSSRTimings() {
21
+ }
22
+ export function getSSRTimings() {
24
23
  var _config;
25
24
  if (!((_config = config) !== null && _config !== void 0 && _config.getTimings)) {
26
25
  return {};
@@ -36,16 +35,16 @@ export const getSSRTimings = withProfiling(function getSSRTimings() {
36
35
  return acc;
37
36
  }, {});
38
37
  return ssrTimings;
39
- });
40
- export const getSSRSuccess = withProfiling(function getSSRSuccess() {
38
+ }
39
+ export function getSSRSuccess() {
41
40
  var _config2;
42
41
  return !!((_config2 = config) !== null && _config2 !== void 0 && _config2.getDoneMark());
43
- });
44
- export const getSSRDoneTime = withProfiling(function getSSRDoneTime() {
42
+ }
43
+ export function getSSRDoneTime() {
45
44
  var _config$getDoneMark, _config3;
46
45
  return (_config$getDoneMark = (_config3 = config) === null || _config3 === void 0 ? void 0 : _config3.getDoneMark()) !== null && _config$getDoneMark !== void 0 ? _config$getDoneMark : undefined;
47
- });
48
- export const getSSRFeatureFlags = withProfiling(function getSSRFeatureFlags() {
46
+ }
47
+ export function getSSRFeatureFlags() {
49
48
  var _config4;
50
49
  if (!((_config4 = config) !== null && _config4 !== void 0 && _config4.getFeatureFlags)) {
51
50
  return undefined;
@@ -56,4 +55,4 @@ export const getSSRFeatureFlags = withProfiling(function getSSRFeatureFlags() {
56
55
  // eslint-disable-next-line no-empty
57
56
  } catch (e) {}
58
57
  return undefined;
59
- });
58
+ }
@@ -4,8 +4,7 @@ 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
- import { withProfiling } from '../self-measurements';
8
- const mapToInteractionType = withProfiling(function mapToInteractionType(eventType) {
7
+ function mapToInteractionType(eventType) {
9
8
  if (eventType === 'click' || eventType === 'dblclick' || eventType === 'mousedown') {
10
9
  return 'press';
11
10
  }
@@ -13,8 +12,8 @@ const mapToInteractionType = withProfiling(function mapToInteractionType(eventTy
13
12
  return 'hover';
14
13
  }
15
14
  return undefined;
16
- });
17
- const traceUFOInteraction = withProfiling(function traceUFOInteraction(name, event) {
15
+ }
16
+ function traceUFOInteraction(name, event) {
18
17
  if (!event || !event.isTrusted) {
19
18
  return;
20
19
  }
@@ -39,5 +38,5 @@ const traceUFOInteraction = withProfiling(function traceUFOInteraction(name, eve
39
38
  DefaultInteractionID.current = newId;
40
39
  addNewInteraction(newId, name, 'press', startTimestamp, rate, [], UFORouteName.current);
41
40
  }
42
- });
41
+ }
43
42
  export default traceUFOInteraction;
@@ -5,9 +5,8 @@ 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';
9
8
  const AWAITING_PAGELOAD_NAME = 'awaiting_pageload_name';
10
- const traceUFOPageLoad = withProfiling(function traceUFOPageLoad(ufoName, routeName = ufoName) {
9
+ function traceUFOPageLoad(ufoName, routeName = ufoName) {
11
10
  const activeInteraction = getActiveInteraction();
12
11
  if (activeInteraction && !ufoName) {
13
12
  return;
@@ -30,9 +29,9 @@ const traceUFOPageLoad = withProfiling(function traceUFOPageLoad(ufoName, routeN
30
29
  updatePageLoadInteractionName(ufoName, routeName);
31
30
  removeHoldByID(activeInteraction.id, AWAITING_PAGELOAD_NAME);
32
31
  }
33
- });
32
+ }
34
33
  export default traceUFOPageLoad;
35
- export const updatePageloadName = withProfiling(function updatePageloadName(ufoName, routeName = ufoName) {
34
+ export function updatePageloadName(ufoName, routeName = ufoName) {
36
35
  const interaction = getActiveInteraction();
37
36
  if (!interaction || interaction.type !== 'page_load' && interaction.type !== 'transition') {
38
37
  return;
@@ -47,4 +46,4 @@ export const updatePageloadName = withProfiling(function updatePageloadName(ufoN
47
46
  }
48
47
  }
49
48
  removeHoldByID(interaction.id, AWAITING_PAGELOAD_NAME);
50
- });
49
+ }
@@ -5,8 +5,7 @@ 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
- import { withProfiling } from '../self-measurements';
9
- const traceUFOPress = withProfiling(function traceUFOPress(name, timestamp) {
8
+ function traceUFOPress(name, timestamp) {
10
9
  const rate = getInteractionRate(name, 'press');
11
10
  const pressInteractionsList = getDoNotAbortActivePressInteraction();
12
11
  if (pressInteractionsList !== null && pressInteractionsList !== void 0 && pressInteractionsList.includes(name)) {
@@ -25,5 +24,5 @@ const traceUFOPress = withProfiling(function traceUFOPress(name, timestamp) {
25
24
  DefaultInteractionID.current = newId;
26
25
  addNewInteraction(newId, name, 'press', startTimestamp, rate, [], UFORouteName.current, getActiveTrace());
27
26
  }
28
- });
27
+ }
29
28
  export default traceUFOPress;
@@ -1,12 +1,11 @@
1
1
  import { DefaultInteractionID } from '../interaction-id-context';
2
2
  import { addRedirect } from '../interaction-metrics';
3
3
  import UFORouteName from '../route-name-context';
4
- import { withProfiling } from '../self-measurements';
5
- const traceUFORedirect = withProfiling(function traceUFORedirect(fromUfoName, nextUfoName, nextRouteName, time) {
4
+ function traceUFORedirect(fromUfoName, nextUfoName, nextRouteName, time) {
6
5
  UFORouteName.current = nextUfoName;
7
6
  const interactionId = DefaultInteractionID.current;
8
7
  if (interactionId) {
9
8
  addRedirect(interactionId, fromUfoName, nextUfoName, nextRouteName, time);
10
9
  }
11
- });
10
+ }
12
11
  export default traceUFORedirect;
@@ -6,9 +6,8 @@ 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';
10
9
  import { setInteractionActiveTrace } from './utils/set-interaction-active-trace';
11
- const traceUFOTransition = withProfiling(function traceUFOTransition(ufoName, routeName = ufoName) {
10
+ function traceUFOTransition(ufoName, routeName = ufoName) {
12
11
  const pressInteractionsList = getDoNotAbortActivePressInteractionOnTransition();
13
12
  const interaction = getActiveInteraction();
14
13
  if (pressInteractionsList && interaction) {
@@ -27,7 +26,7 @@ const traceUFOTransition = withProfiling(function traceUFOTransition(ufoName, ro
27
26
  addNewInteraction(newId, ufoName, 'transition', performance.now(), rate, null, routeName, getActiveTrace());
28
27
  }
29
28
  }
30
- });
29
+ }
31
30
  export function useUFOTransitionCompleter() {
32
31
  const interactionId = useContext(UFOInteractionIDContext);
33
32
  const capturedInteractionId = interactionId.current;
@@ -1,4 +1,3 @@
1
- import { withProfiling } from '../../../self-measurements';
2
- export const generateSpanId = withProfiling(function generateSpanId() {
1
+ export function generateSpanId() {
3
2
  return Array.from(new Array(16), () => Math.floor(Math.random() * 16).toString(16)).join('');
4
- });
3
+ }
@@ -1,6 +1,5 @@
1
1
  import { setActiveTrace } from '../../../experience-trace-id-context';
2
- import { withProfiling } from '../../../self-measurements';
3
2
  import { generateSpanId } from '../generate-span-id';
4
- export const setInteractionActiveTrace = withProfiling(function setInteractionActiveTrace(newId) {
3
+ export function setInteractionActiveTrace(newId) {
5
4
  setActiveTrace(newId.replace(/-/g, ''), generateSpanId(), 'transition');
6
- });
5
+ }
@@ -1,14 +1,12 @@
1
1
  var _process, _process$env;
2
2
  import { fg } from '@atlaskit/platform-feature-flags';
3
3
  import { getConfig } from '../config';
4
- import { markProfilingEnd, markProfilingStart, withProfiling } from '../self-measurements';
5
4
  import { VCObserverNOOP } from './no-op-vc-observer';
6
5
  import { VCObserver } from './vc-observer';
7
6
  import VCObserverNew from './vc-observer-new';
8
7
  class VCObserverWrapper {
9
8
  constructor(opts = {}) {
10
9
  var _getConfig, _getConfig$vc;
11
- const operationTimer = markProfilingStart('VCObserverWrapper constructor');
12
10
  this.newVCObserver = null;
13
11
  const isNewVCObserverEnabled = fg('platform_ufo_vc_observer_new') || ((_getConfig = getConfig()) === null || _getConfig === void 0 ? void 0 : (_getConfig$vc = _getConfig.vc) === null || _getConfig$vc === void 0 ? void 0 : _getConfig$vc.enableVCObserverNew);
14
12
  if (isNewVCObserverEnabled) {
@@ -17,16 +15,6 @@ class VCObserverWrapper {
17
15
  });
18
16
  }
19
17
  this.oldVCObserver = new VCObserver(opts);
20
- this.start = withProfiling(this.start.bind(this), ['vc']);
21
- this.stop = withProfiling(this.stop.bind(this), ['vc']);
22
- this.getVCRawData = withProfiling(this.getVCRawData.bind(this), ['vc']);
23
- this.getVCResult = withProfiling(this.getVCResult.bind(this), ['vc']);
24
- this.setSSRElement = withProfiling(this.setSSRElement.bind(this), ['vc']);
25
- this.setReactRootRenderStart = withProfiling(this.setReactRootRenderStart.bind(this), ['vc']);
26
- this.setReactRootRenderStop = withProfiling(this.setReactRootRenderStop.bind(this), ['vc']);
27
- markProfilingEnd(operationTimer, {
28
- tags: ['vc']
29
- });
30
18
  }
31
19
  start(startArg) {
32
20
  var _this$oldVCObserver, _this$newVCObserver;
@@ -77,7 +65,7 @@ class VCObserverWrapper {
77
65
  let isServer = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.__SERVER__);
78
66
  // Other products set this other variable to indicate it is running in SSR
79
67
  let isReactSSR = typeof process !== 'undefined' && Boolean(((_process = process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.REACT_SSR) || false);
80
- export const isEnvironmentSupported = withProfiling(function isEnvironmentSupported() {
68
+ export function isEnvironmentSupported() {
81
69
  // SSR environment aren't supported
82
70
  if (isReactSSR || isServer) {
83
71
  return false;
@@ -92,11 +80,11 @@ export const isEnvironmentSupported = withProfiling(function isEnvironmentSuppor
92
80
  return false;
93
81
  }
94
82
  return true;
95
- }, ['vc']);
96
- export const getVCObserver = withProfiling(function getVCObserver(opts = {}) {
83
+ }
84
+ export function getVCObserver(opts = {}) {
97
85
  if (!globalThis.__vcObserver) {
98
86
  const shouldMockVCObserver = !isEnvironmentSupported();
99
87
  globalThis.__vcObserver = shouldMockVCObserver ? new VCObserverNOOP() : new VCObserverWrapper(opts);
100
88
  }
101
89
  return globalThis.__vcObserver;
102
- }, ['vc']);
90
+ }
@@ -1,8 +1,7 @@
1
1
  import { bind } from 'bind-event-listener';
2
2
  import { AbortEvent } from '../../common/vc/types';
3
- import { withProfiling } from '../../self-measurements';
4
3
  import { getViewportHeight, getViewportWidth } from './getViewport';
5
- export const attachAbortListeners = withProfiling(function attachAbortListeners(window, initialViewPort, callback) {
4
+ export function attachAbortListeners(window, initialViewPort, callback) {
6
5
  const unbindWheel = bind(window, {
7
6
  type: AbortEvent.wheel,
8
7
  listener: e => {
@@ -32,4 +31,4 @@ export const attachAbortListeners = withProfiling(function attachAbortListeners(
32
31
  }
33
32
  });
34
33
  return [unbindWheel, unbindKeydown, unbindResize];
35
- }, ['vc']);
34
+ }