@atlaskit/react-ufo 3.4.14 → 3.5.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 (405) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/additional-payload/utils/cache-hit-ratio/index.js +5 -4
  3. package/dist/cjs/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
  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 -2
  6. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
  7. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
  8. package/dist/cjs/assets/index.js +17 -14
  9. package/dist/cjs/assets/utils.js +9 -8
  10. package/dist/cjs/bundle-eval-timing/index.js +8 -8
  11. package/dist/cjs/coinflip/index.js +5 -3
  12. package/dist/cjs/common/constants.js +3 -2
  13. package/dist/cjs/common/react-ufo-payload-schema.js +5 -0
  14. package/dist/cjs/config/index.js +30 -42
  15. package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +29 -39
  16. package/dist/cjs/create-payload/common/utils/index.js +16 -20
  17. package/dist/cjs/create-payload/index.js +150 -140
  18. package/dist/cjs/create-payload/utils/get-interaction-status.js +5 -3
  19. package/dist/cjs/create-payload/utils/get-page-visibility-up-to-ttai.js +5 -3
  20. package/dist/cjs/create-payload/utils/get-ssr-done-time-value.js +5 -3
  21. package/dist/cjs/create-payload/utils/get-vc-metrics.js +10 -8
  22. package/dist/cjs/create-post-interaction-log-payload/index.js +15 -13
  23. package/dist/cjs/custom-data/index.js +4 -3
  24. package/dist/cjs/custom-mark/index.js +4 -3
  25. package/dist/cjs/custom-spans/index.js +4 -3
  26. package/dist/cjs/custom-timings/index.js +6 -6
  27. package/dist/cjs/experience-trace-id-context/index.js +15 -14
  28. package/dist/cjs/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +3 -2
  29. package/dist/cjs/feature-flags-accessed/common/utils/index.js +11 -10
  30. package/dist/cjs/feature-flags-accessed/index.js +3 -2
  31. package/dist/cjs/generate-id/index.js +5 -3
  32. package/dist/cjs/global-error-handler/index.js +14 -13
  33. package/dist/cjs/initial-page-load-extra-timing/index.js +6 -6
  34. package/dist/cjs/interaction-metrics/index.js +110 -145
  35. package/dist/cjs/interaction-metrics/post-interaction-log.js +10 -0
  36. package/dist/cjs/interaction-metrics-init/index.js +17 -10
  37. package/dist/cjs/interaction-metrics-init/schedule-idle-callback.js +8 -4
  38. package/dist/cjs/resource-timing/common/utils/config.js +10 -10
  39. package/dist/cjs/resource-timing/common/utils/resource-timing-buffer.js +13 -12
  40. package/dist/cjs/resource-timing/main.js +25 -19
  41. package/dist/cjs/resource-timing/utils.js +4 -3
  42. package/dist/cjs/round-number/index.js +3 -2
  43. package/dist/cjs/route-name/index.js +5 -3
  44. package/dist/cjs/segment/schedule-on-paint.js +6 -3
  45. package/dist/cjs/segment/segment.js +7 -3
  46. package/dist/cjs/self-measurements/index.js +261 -0
  47. package/dist/cjs/set-interaction-error/index.js +4 -3
  48. package/dist/cjs/short-id/index.js +5 -3
  49. package/dist/cjs/ssr/index.js +18 -21
  50. package/dist/cjs/trace-interaction/index.js +7 -5
  51. package/dist/cjs/trace-pageload/index.js +7 -6
  52. package/dist/cjs/trace-press/index.js +5 -3
  53. package/dist/cjs/trace-redirect/index.js +5 -3
  54. package/dist/cjs/trace-transition/index.js +6 -4
  55. package/dist/cjs/trace-transition/utils/generate-span-id/index.js +3 -2
  56. package/dist/cjs/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
  57. package/dist/cjs/vc/index.js +17 -6
  58. package/dist/cjs/vc/vc-observer/attachAbortListeners.js +3 -2
  59. package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +41 -22
  60. package/dist/cjs/vc/vc-observer/getViewport.js +6 -6
  61. package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +28 -12
  62. package/dist/cjs/vc/vc-observer/index.js +172 -133
  63. package/dist/cjs/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
  64. package/dist/cjs/vc/vc-observer/observers/editor-lnv/index.js +17 -0
  65. package/dist/cjs/vc/vc-observer/observers/index.js +82 -25
  66. package/dist/cjs/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +5 -3
  67. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +16 -0
  68. package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +2 -0
  69. package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +2 -0
  70. package/dist/cjs/vc/vc-observer/revisions/revisions.js +3 -2
  71. package/dist/cjs/vc/vc-observer-new/entries-timeline/index.js +9 -0
  72. package/dist/cjs/vc/vc-observer-new/get-element-name.js +5 -3
  73. package/dist/cjs/vc/vc-observer-new/get-unique-element-name.js +13 -11
  74. package/dist/cjs/vc/vc-observer-new/index.js +9 -0
  75. package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
  76. package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +6 -1
  77. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +20 -12
  78. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +27 -26
  79. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
  80. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +27 -14
  81. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +10 -8
  82. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +50 -40
  83. package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +10 -8
  84. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +5 -3
  85. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +5 -3
  86. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +5 -3
  87. package/dist/cjs/vc/vc-observer-new/metric-calculator/utils/task-yield.js +10 -8
  88. package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +15 -7
  89. package/dist/cjs/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
  90. package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +16 -13
  91. package/dist/cjs/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -9
  92. package/dist/cjs/vc/vc-observer-new/window-event-observer/index.js +7 -1
  93. package/dist/es2019/additional-payload/utils/cache-hit-ratio/index.js +6 -5
  94. package/dist/es2019/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
  95. package/dist/es2019/additional-payload/utils/lighthouse-metrics/index.js +6 -5
  96. package/dist/es2019/additional-payload/utils/lighthouse-metrics/tbt/index.js +16 -13
  97. package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
  98. package/dist/es2019/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
  99. package/dist/es2019/assets/index.js +19 -14
  100. package/dist/es2019/assets/utils.js +11 -9
  101. package/dist/es2019/bundle-eval-timing/index.js +7 -6
  102. package/dist/es2019/coinflip/index.js +5 -2
  103. package/dist/es2019/common/constants.js +3 -2
  104. package/dist/es2019/common/react-ufo-payload-schema.js +1 -0
  105. package/dist/es2019/config/index.js +29 -28
  106. package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +18 -15
  107. package/dist/es2019/create-payload/common/utils/index.js +15 -14
  108. package/dist/es2019/create-payload/index.js +87 -71
  109. package/dist/es2019/create-payload/utils/get-interaction-status.js +5 -2
  110. package/dist/es2019/create-payload/utils/get-page-visibility-up-to-ttai.js +4 -2
  111. package/dist/es2019/create-payload/utils/get-ssr-done-time-value.js +4 -2
  112. package/dist/es2019/create-payload/utils/get-vc-metrics.js +4 -2
  113. package/dist/es2019/create-post-interaction-log-payload/index.js +14 -12
  114. package/dist/es2019/custom-data/index.js +3 -2
  115. package/dist/es2019/custom-mark/index.js +3 -2
  116. package/dist/es2019/custom-spans/index.js +3 -2
  117. package/dist/es2019/custom-timings/index.js +5 -4
  118. package/dist/es2019/experience-trace-id-context/index.js +16 -13
  119. package/dist/es2019/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +6 -3
  120. package/dist/es2019/feature-flags-accessed/common/utils/index.js +14 -7
  121. package/dist/es2019/feature-flags-accessed/index.js +3 -2
  122. package/dist/es2019/generate-id/index.js +4 -2
  123. package/dist/es2019/global-error-handler/index.js +15 -12
  124. package/dist/es2019/initial-page-load-extra-timing/index.js +5 -4
  125. package/dist/es2019/interaction-metrics/index.js +109 -108
  126. package/dist/es2019/interaction-metrics/post-interaction-log.js +10 -0
  127. package/dist/es2019/interaction-metrics-init/index.js +17 -10
  128. package/dist/es2019/interaction-metrics-init/schedule-idle-callback.js +7 -3
  129. package/dist/es2019/resource-timing/common/utils/config.js +10 -7
  130. package/dist/es2019/resource-timing/common/utils/resource-timing-buffer.js +14 -11
  131. package/dist/es2019/resource-timing/main.js +31 -17
  132. package/dist/es2019/resource-timing/utils.js +3 -2
  133. package/dist/es2019/round-number/index.js +3 -2
  134. package/dist/es2019/route-name/index.js +4 -2
  135. package/dist/es2019/segment/schedule-on-paint.js +5 -2
  136. package/dist/es2019/segment/segment.js +7 -3
  137. package/dist/es2019/self-measurements/index.js +213 -0
  138. package/dist/es2019/set-interaction-error/index.js +3 -2
  139. package/dist/es2019/short-id/index.js +4 -2
  140. package/dist/es2019/ssr/index.js +21 -16
  141. package/dist/es2019/trace-interaction/index.js +6 -4
  142. package/dist/es2019/trace-pageload/index.js +6 -4
  143. package/dist/es2019/trace-press/index.js +4 -2
  144. package/dist/es2019/trace-redirect/index.js +4 -2
  145. package/dist/es2019/trace-transition/index.js +5 -3
  146. package/dist/es2019/trace-transition/utils/generate-span-id/index.js +4 -1
  147. package/dist/es2019/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
  148. package/dist/es2019/vc/index.js +16 -4
  149. package/dist/es2019/vc/vc-observer/attachAbortListeners.js +3 -2
  150. package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +41 -21
  151. package/dist/es2019/vc/vc-observer/getViewport.js +5 -4
  152. package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +28 -10
  153. package/dist/es2019/vc/vc-observer/index.js +160 -116
  154. package/dist/es2019/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
  155. package/dist/es2019/vc/vc-observer/observers/editor-lnv/index.js +17 -0
  156. package/dist/es2019/vc/vc-observer/observers/index.js +80 -25
  157. package/dist/es2019/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +4 -2
  158. package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +16 -0
  159. package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +2 -0
  160. package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +2 -0
  161. package/dist/es2019/vc/vc-observer/revisions/revisions.js +3 -2
  162. package/dist/es2019/vc/vc-observer-new/entries-timeline/index.js +9 -0
  163. package/dist/es2019/vc/vc-observer-new/get-element-name.js +4 -2
  164. package/dist/es2019/vc/vc-observer-new/get-unique-element-name.js +12 -10
  165. package/dist/es2019/vc/vc-observer-new/index.js +9 -0
  166. package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
  167. package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +3 -0
  168. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +14 -4
  169. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +6 -4
  170. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
  171. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +21 -8
  172. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +4 -2
  173. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +10 -8
  174. package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +4 -2
  175. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +4 -2
  176. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +4 -2
  177. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +4 -2
  178. package/dist/es2019/vc/vc-observer-new/metric-calculator/utils/task-yield.js +5 -2
  179. package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +15 -7
  180. package/dist/es2019/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
  181. package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +15 -13
  182. package/dist/es2019/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -9
  183. package/dist/es2019/vc/vc-observer-new/window-event-observer/index.js +7 -1
  184. package/dist/esm/additional-payload/utils/cache-hit-ratio/index.js +5 -4
  185. package/dist/esm/additional-payload/utils/lighthouse-metrics/cls/index.js +3 -2
  186. package/dist/esm/additional-payload/utils/lighthouse-metrics/index.js +5 -4
  187. package/dist/esm/additional-payload/utils/lighthouse-metrics/tbt/index.js +3 -2
  188. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +3 -0
  189. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/observer/index.js +9 -7
  190. package/dist/esm/assets/index.js +17 -14
  191. package/dist/esm/assets/utils.js +10 -8
  192. package/dist/esm/bundle-eval-timing/index.js +7 -6
  193. package/dist/esm/coinflip/index.js +5 -2
  194. package/dist/esm/common/constants.js +3 -2
  195. package/dist/esm/common/react-ufo-payload-schema.js +1 -0
  196. package/dist/esm/config/index.js +29 -28
  197. package/dist/esm/create-experimental-interaction-metrics-payload/index.js +28 -35
  198. package/dist/esm/create-payload/common/utils/index.js +15 -14
  199. package/dist/esm/create-payload/index.js +149 -139
  200. package/dist/esm/create-payload/utils/get-interaction-status.js +5 -2
  201. package/dist/esm/create-payload/utils/get-page-visibility-up-to-ttai.js +4 -2
  202. package/dist/esm/create-payload/utils/get-ssr-done-time-value.js +4 -2
  203. package/dist/esm/create-payload/utils/get-vc-metrics.js +9 -7
  204. package/dist/esm/create-post-interaction-log-payload/index.js +14 -12
  205. package/dist/esm/custom-data/index.js +3 -2
  206. package/dist/esm/custom-mark/index.js +3 -2
  207. package/dist/esm/custom-spans/index.js +3 -2
  208. package/dist/esm/custom-timings/index.js +5 -4
  209. package/dist/esm/experience-trace-id-context/index.js +15 -14
  210. package/dist/esm/experience-trace-id-context/utils/make-trace-http-request-headers/index.js +3 -2
  211. package/dist/esm/feature-flags-accessed/common/utils/index.js +11 -10
  212. package/dist/esm/feature-flags-accessed/index.js +3 -2
  213. package/dist/esm/generate-id/index.js +4 -2
  214. package/dist/esm/global-error-handler/index.js +14 -13
  215. package/dist/esm/initial-page-load-extra-timing/index.js +5 -4
  216. package/dist/esm/interaction-metrics/index.js +109 -108
  217. package/dist/esm/interaction-metrics/post-interaction-log.js +10 -0
  218. package/dist/esm/interaction-metrics-init/index.js +17 -10
  219. package/dist/esm/interaction-metrics-init/schedule-idle-callback.js +7 -3
  220. package/dist/esm/resource-timing/common/utils/config.js +9 -8
  221. package/dist/esm/resource-timing/common/utils/resource-timing-buffer.js +13 -12
  222. package/dist/esm/resource-timing/main.js +25 -19
  223. package/dist/esm/resource-timing/utils.js +3 -2
  224. package/dist/esm/round-number/index.js +3 -2
  225. package/dist/esm/route-name/index.js +4 -2
  226. package/dist/esm/segment/schedule-on-paint.js +5 -2
  227. package/dist/esm/segment/segment.js +7 -3
  228. package/dist/esm/self-measurements/index.js +246 -0
  229. package/dist/esm/set-interaction-error/index.js +3 -2
  230. package/dist/esm/short-id/index.js +4 -2
  231. package/dist/esm/ssr/index.js +17 -16
  232. package/dist/esm/trace-interaction/index.js +6 -4
  233. package/dist/esm/trace-pageload/index.js +6 -4
  234. package/dist/esm/trace-press/index.js +4 -2
  235. package/dist/esm/trace-redirect/index.js +4 -2
  236. package/dist/esm/trace-transition/index.js +5 -3
  237. package/dist/esm/trace-transition/utils/generate-span-id/index.js +3 -2
  238. package/dist/esm/trace-transition/utils/set-interaction-active-trace/index.js +3 -2
  239. package/dist/esm/vc/index.js +16 -4
  240. package/dist/esm/vc/vc-observer/attachAbortListeners.js +3 -2
  241. package/dist/esm/vc/vc-observer/getVCRevisionsData.js +40 -21
  242. package/dist/esm/vc/vc-observer/getViewport.js +5 -4
  243. package/dist/esm/vc/vc-observer/heatmap/heatmap.js +28 -12
  244. package/dist/esm/vc/vc-observer/index.js +172 -133
  245. package/dist/esm/vc/vc-observer/media-wrapper/vc-utils.js +3 -2
  246. package/dist/esm/vc/vc-observer/observers/editor-lnv/index.js +17 -0
  247. package/dist/esm/vc/vc-observer/observers/index.js +82 -25
  248. package/dist/esm/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.js +4 -2
  249. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +16 -0
  250. package/dist/esm/vc/vc-observer/revisions/fy25_01.js +2 -0
  251. package/dist/esm/vc/vc-observer/revisions/fy25_02.js +2 -0
  252. package/dist/esm/vc/vc-observer/revisions/revisions.js +3 -2
  253. package/dist/esm/vc/vc-observer-new/entries-timeline/index.js +9 -0
  254. package/dist/esm/vc/vc-observer-new/get-element-name.js +4 -2
  255. package/dist/esm/vc/vc-observer-new/get-unique-element-name.js +12 -10
  256. package/dist/esm/vc/vc-observer-new/index.js +9 -0
  257. package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +2 -0
  258. package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +6 -1
  259. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.js +19 -9
  260. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +26 -24
  261. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +18 -6
  262. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +26 -13
  263. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +9 -7
  264. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +49 -39
  265. package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +9 -7
  266. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.js +4 -2
  267. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.js +4 -2
  268. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.js +4 -2
  269. package/dist/esm/vc/vc-observer-new/metric-calculator/utils/task-yield.js +10 -7
  270. package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +15 -7
  271. package/dist/esm/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +15 -12
  272. package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +15 -12
  273. package/dist/esm/vc/vc-observer-new/viewport-observer/performance-observer/index.js +11 -7
  274. package/dist/esm/vc/vc-observer-new/window-event-observer/index.js +7 -1
  275. package/dist/types/additional-payload/utils/cache-hit-ratio/index.d.ts +1 -1
  276. package/dist/types/additional-payload/utils/lighthouse-metrics/index.d.ts +2 -2
  277. package/dist/types/assets/index.d.ts +3 -1
  278. package/dist/types/assets/utils.d.ts +1 -1
  279. package/dist/types/bundle-eval-timing/index.d.ts +2 -2
  280. package/dist/types/coinflip/index.d.ts +2 -1
  281. package/dist/types/common/index.d.ts +2 -1
  282. package/dist/types/common/react-ufo-payload-schema.d.ts +175 -0
  283. package/dist/types/common/vc/types.d.ts +20 -10
  284. package/dist/types/config/index.d.ts +14 -16
  285. package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +4 -3
  286. package/dist/types/create-payload/common/utils/index.d.ts +6 -7
  287. package/dist/types/create-payload/index.d.ts +1250 -1537
  288. package/dist/types/create-payload/utils/get-interaction-status.d.ts +2 -1
  289. package/dist/types/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +2 -1
  290. package/dist/types/create-payload/utils/get-ssr-done-time-value.d.ts +2 -1
  291. package/dist/types/create-payload/utils/get-vc-metrics.d.ts +3 -2
  292. package/dist/types/create-post-interaction-log-payload/index.d.ts +3 -2
  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/generate-id/index.d.ts +2 -1
  298. package/dist/types/hidden-timing/index.d.ts +1 -1
  299. package/dist/types/initial-page-load-extra-timing/index.d.ts +2 -2
  300. package/dist/types/interaction-context/index.d.ts +3 -3
  301. package/dist/types/interaction-metrics/index.d.ts +42 -42
  302. package/dist/types/interaction-metrics/post-interaction-log.d.ts +1 -0
  303. package/dist/types/interaction-metrics-init/schedule-idle-callback.d.ts +2 -1
  304. package/dist/types/resource-timing/common/utils/config.d.ts +1 -1
  305. package/dist/types/resource-timing/utils.d.ts +1 -1
  306. package/dist/types/round-number/index.d.ts +1 -1
  307. package/dist/types/route-name/index.d.ts +4 -3
  308. package/dist/types/segment/schedule-on-paint.d.ts +2 -1
  309. package/dist/types/self-measurements/index.d.ts +57 -0
  310. package/dist/types/set-interaction-error/index.d.ts +1 -1
  311. package/dist/types/short-id/index.d.ts +2 -1
  312. package/dist/types/ssr/index.d.ts +5 -5
  313. package/dist/types/trace-interaction/index.d.ts +2 -1
  314. package/dist/types/trace-pageload/index.d.ts +3 -2
  315. package/dist/types/trace-press/index.d.ts +2 -1
  316. package/dist/types/trace-redirect/index.d.ts +2 -1
  317. package/dist/types/trace-transition/index.d.ts +2 -1
  318. package/dist/types/vc/index.d.ts +2 -2
  319. package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +7 -7
  320. package/dist/types/vc/vc-observer/getViewport.d.ts +2 -2
  321. package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +7 -4
  322. package/dist/types/vc/vc-observer/index.d.ts +4 -4
  323. package/dist/types/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +5 -4
  324. package/dist/types/vc/vc-observer/observers/types.d.ts +1 -1
  325. package/dist/types/vc/vc-observer-new/get-element-name.d.ts +2 -1
  326. package/dist/types/vc/vc-observer-new/get-unique-element-name.d.ts +2 -1
  327. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +2 -3
  328. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +3 -2
  329. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +3 -2
  330. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -1
  331. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +2 -1
  332. package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +3 -2
  333. package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +2 -1
  334. package/dist/types/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +2 -1
  335. package/dist/types/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +2 -1
  336. package/dist/types/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +2 -1
  337. package/dist/types/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
  338. package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -1
  339. package/dist/types/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +3 -3
  340. package/dist/types-ts4.5/additional-payload/utils/cache-hit-ratio/index.d.ts +1 -1
  341. package/dist/types-ts4.5/additional-payload/utils/lighthouse-metrics/index.d.ts +2 -2
  342. package/dist/types-ts4.5/assets/index.d.ts +3 -1
  343. package/dist/types-ts4.5/assets/utils.d.ts +1 -1
  344. package/dist/types-ts4.5/bundle-eval-timing/index.d.ts +2 -2
  345. package/dist/types-ts4.5/coinflip/index.d.ts +2 -1
  346. package/dist/types-ts4.5/common/index.d.ts +2 -1
  347. package/dist/types-ts4.5/common/react-ufo-payload-schema.d.ts +177 -0
  348. package/dist/types-ts4.5/common/vc/types.d.ts +20 -10
  349. package/dist/types-ts4.5/config/index.d.ts +14 -20
  350. package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +4 -3
  351. package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +6 -7
  352. package/dist/types-ts4.5/create-payload/index.d.ts +1250 -1537
  353. package/dist/types-ts4.5/create-payload/utils/get-interaction-status.d.ts +2 -1
  354. package/dist/types-ts4.5/create-payload/utils/get-page-visibility-up-to-ttai.d.ts +2 -1
  355. package/dist/types-ts4.5/create-payload/utils/get-ssr-done-time-value.d.ts +2 -1
  356. package/dist/types-ts4.5/create-payload/utils/get-vc-metrics.d.ts +3 -2
  357. package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +3 -2
  358. package/dist/types-ts4.5/custom-data/index.d.ts +1 -1
  359. package/dist/types-ts4.5/custom-mark/index.d.ts +1 -1
  360. package/dist/types-ts4.5/custom-spans/index.d.ts +1 -1
  361. package/dist/types-ts4.5/custom-timings/index.d.ts +2 -2
  362. package/dist/types-ts4.5/generate-id/index.d.ts +2 -1
  363. package/dist/types-ts4.5/hidden-timing/index.d.ts +1 -1
  364. package/dist/types-ts4.5/initial-page-load-extra-timing/index.d.ts +2 -2
  365. package/dist/types-ts4.5/interaction-context/index.d.ts +3 -3
  366. package/dist/types-ts4.5/interaction-metrics/index.d.ts +42 -42
  367. package/dist/types-ts4.5/interaction-metrics/post-interaction-log.d.ts +1 -0
  368. package/dist/types-ts4.5/interaction-metrics-init/schedule-idle-callback.d.ts +2 -1
  369. package/dist/types-ts4.5/resource-timing/common/utils/config.d.ts +1 -1
  370. package/dist/types-ts4.5/resource-timing/utils.d.ts +1 -1
  371. package/dist/types-ts4.5/round-number/index.d.ts +1 -1
  372. package/dist/types-ts4.5/route-name/index.d.ts +4 -3
  373. package/dist/types-ts4.5/segment/schedule-on-paint.d.ts +2 -1
  374. package/dist/types-ts4.5/self-measurements/index.d.ts +57 -0
  375. package/dist/types-ts4.5/set-interaction-error/index.d.ts +1 -1
  376. package/dist/types-ts4.5/short-id/index.d.ts +2 -1
  377. package/dist/types-ts4.5/ssr/index.d.ts +5 -5
  378. package/dist/types-ts4.5/trace-interaction/index.d.ts +2 -1
  379. package/dist/types-ts4.5/trace-pageload/index.d.ts +3 -2
  380. package/dist/types-ts4.5/trace-press/index.d.ts +2 -1
  381. package/dist/types-ts4.5/trace-redirect/index.d.ts +2 -1
  382. package/dist/types-ts4.5/trace-transition/index.d.ts +2 -1
  383. package/dist/types-ts4.5/vc/index.d.ts +2 -2
  384. package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +7 -7
  385. package/dist/types-ts4.5/vc/vc-observer/getViewport.d.ts +2 -2
  386. package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +7 -4
  387. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +4 -4
  388. package/dist/types-ts4.5/vc/vc-observer/observers/non-visual-styles/is-non-visual-style-mutation.d.ts +5 -4
  389. package/dist/types-ts4.5/vc/vc-observer/observers/types.d.ts +1 -1
  390. package/dist/types-ts4.5/vc/vc-observer-new/get-element-name.d.ts +2 -1
  391. package/dist/types-ts4.5/vc/vc-observer-new/get-unique-element-name.d.ts +2 -1
  392. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/canvas-pixel.d.ts +2 -3
  393. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +3 -2
  394. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +3 -2
  395. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -1
  396. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +2 -1
  397. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +3 -2
  398. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-height.d.ts +2 -1
  399. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/get-viewport-width.d.ts +2 -1
  400. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/is-viewport-entry-data.d.ts +2 -1
  401. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/utils/task-yield.d.ts +2 -1
  402. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/index.d.ts +1 -1
  403. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -1
  404. package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/performance-observer/index.d.ts +3 -3
  405. package/package.json +10 -1
@@ -13,14 +13,15 @@ var _config = require("../config");
13
13
  var _createExperimentalInteractionMetricsPayload = require("../create-experimental-interaction-metrics-payload");
14
14
  var _hiddenTiming = require("../hidden-timing");
15
15
  var _interactionMetrics = require("../interaction-metrics");
16
+ var _selfMeasurements = require("../self-measurements");
16
17
  var _vc = require("../vc");
17
18
  var _scheduleIdleCallback = _interopRequireDefault(require("./schedule-idle-callback"));
18
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2.default)(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
21
  var initialized = false;
21
- function sinkInteraction(instance, payloadPackage) {
22
- (0, _interactionMetrics.sinkInteractionHandler)(function (interactionId, interaction) {
23
- (0, _scheduleIdleCallback.default)(function () {
22
+ var sinkInteraction = (0, _selfMeasurements.withProfiling)(function sinkInteraction(instance, payloadPackage) {
23
+ var sinkFn = (0, _selfMeasurements.withProfiling)(function sinkFn(interactionId, interaction) {
24
+ var onIdle = (0, _selfMeasurements.withProfiling)(function onIdle() {
24
25
  payloadPackage.createPayloads(interactionId, interaction).then(function (payloads) {
25
26
  // NOTE: This API is used by the UFO DevTool Chrome Extension and Criterion
26
27
  var devToolObserver = globalThis.__ufo_devtool_onUfoPayload;
@@ -34,14 +35,17 @@ function sinkInteraction(instance, payloadPackage) {
34
35
  throw error;
35
36
  });
36
37
  });
38
+ (0, _scheduleIdleCallback.default)(onIdle);
37
39
  });
38
- }
39
- function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
40
- (0, _createExperimentalInteractionMetricsPayload.sinkExperimentalHandler)(function (interactionId, interaction) {
41
- (0, _scheduleIdleCallback.default)(function () {
40
+ (0, _interactionMetrics.sinkInteractionHandler)(sinkFn);
41
+ });
42
+ var sinkExperimentalInteractionMetrics = (0, _selfMeasurements.withProfiling)(function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
43
+ var experimentalMetricsSinkFn = (0, _selfMeasurements.withProfiling)(function experimentalMetricsSinkFn(interactionId, interaction) {
44
+ var experimentalMetricsOnIdle = (0, _selfMeasurements.withProfiling)(function experimentalMetricsOnIdle() {
42
45
  var payloadPromise = payloadPackage.createExperimentalMetricsPayload(interactionId, interaction);
43
46
  payloadPromise.then(function (payload) {
44
47
  if (payload) {
48
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
45
49
  if ((0, _platformFeatureFlags.fg)('enable_ufo_devtools_api_for_extra_events')) {
46
50
  // NOTE: This API is used by the UFO DevTool Chrome Extension and Criterion
47
51
  var devToolObserver = globalThis.__ufo_devtool_onUfoPayload;
@@ -53,14 +57,17 @@ function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
53
57
  }
54
58
  });
55
59
  });
60
+ (0, _scheduleIdleCallback.default)(experimentalMetricsOnIdle);
56
61
  });
57
- }
62
+ (0, _createExperimentalInteractionMetricsPayload.sinkExperimentalHandler)(experimentalMetricsSinkFn);
63
+ });
58
64
  function sinkPostInteractionLog(instance, createPostInteractionLogPayload) {
59
65
  (0, _interactionMetrics.sinkPostInteractionLogHandler)(function (logOutput) {
60
66
  (0, _scheduleIdleCallback.default)(function () {
61
67
  var payload = createPostInteractionLogPayload(logOutput);
62
68
  if (payload) {
63
69
  // NOTE: This API is used by the UFO DevTool Chrome Extension and also by Criterion
70
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
64
71
  if ((0, _platformFeatureFlags.fg)('enable_ufo_devtools_api_for_extra_events')) {
65
72
  var devToolObserver = globalThis.__ufo_devtool_onUfoPayload;
66
73
  if (typeof devToolObserver === 'function') {
@@ -72,7 +79,7 @@ function sinkPostInteractionLog(instance, createPostInteractionLogPayload) {
72
79
  });
73
80
  });
74
81
  }
75
- var init = exports.init = function init(analyticsWebClientAsync, config) {
82
+ var init = exports.init = (0, _selfMeasurements.withProfiling)(function init(analyticsWebClientAsync, config) {
76
83
  var _config$vc;
77
84
  if (initialized) {
78
85
  return;
@@ -134,4 +141,4 @@ var init = exports.init = function init(analyticsWebClientAsync, config) {
134
141
  }
135
142
  }
136
143
  });
137
- };
144
+ });
@@ -3,13 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = scheduleIdleCallback;
6
+ exports.default = void 0;
7
7
  var _scheduler = require("scheduler");
8
8
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
9
- function scheduleIdleCallback(work) {
10
- if (typeof window !== 'undefined' && typeof window.requestIdleCallback === 'function' && (0, _platformFeatureFlags.fg)('ufo_payload_use_idle_callback')) {
9
+ var _selfMeasurements = require("../self-measurements");
10
+ var scheduleIdleCallback = (0, _selfMeasurements.withProfiling)(function scheduleIdleCallback(work) {
11
+ if (typeof window !== 'undefined' && typeof window.requestIdleCallback === 'function' &&
12
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
13
+ (0, _platformFeatureFlags.fg)('ufo_payload_use_idle_callback')) {
11
14
  window.requestIdleCallback(work);
12
15
  } else {
13
16
  (0, _scheduler.unstable_scheduleCallback)(_scheduler.unstable_IdlePriority, work);
14
17
  }
15
- }
18
+ });
19
+ var _default = exports.default = scheduleIdleCallback;
@@ -4,19 +4,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.configure = configure;
8
- exports.getConfig = void 0;
7
+ exports.getConfig = exports.configure = void 0;
9
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
9
  var _config = require("../../../config");
10
+ var _selfMeasurements = require("../../../self-measurements");
11
11
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
12
12
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
13
13
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14
14
  var defaultAllowedParams = ['operationName', 'operation', 'q'];
15
- var getAllowedParams = function getAllowedParams() {
15
+ var getAllowedParams = (0, _selfMeasurements.withProfiling)(function getAllowedParams() {
16
16
  var config = (0, _config.getConfig)();
17
17
  return (config === null || config === void 0 ? void 0 : config.allowedResourcesParams) || defaultAllowedParams;
18
- };
19
- var handleQueryParams = function handleQueryParams(urlString) {
18
+ });
19
+ var handleQueryParams = (0, _selfMeasurements.withProfiling)(function handleQueryParams(urlString) {
20
20
  try {
21
21
  if (typeof urlString !== 'string') {
22
22
  return urlString;
@@ -43,7 +43,7 @@ var handleQueryParams = function handleQueryParams(urlString) {
43
43
  } catch (e) {
44
44
  return urlString;
45
45
  }
46
- };
46
+ });
47
47
  var config = {
48
48
  mapResources: function mapResources(url) {
49
49
  return url;
@@ -52,7 +52,7 @@ var config = {
52
52
  return handleQueryParams(url);
53
53
  }
54
54
  };
55
- function configure(resourceTimingConfig) {
55
+ var configure = exports.configure = (0, _selfMeasurements.withProfiling)(function configure(resourceTimingConfig) {
56
56
  var newConfig = {
57
57
  mapResources: resourceTimingConfig.mapResources,
58
58
  sanitiseEndpoints: function sanitiseEndpoints(url) {
@@ -64,7 +64,7 @@ function configure(resourceTimingConfig) {
64
64
  }
65
65
  };
66
66
  config = newConfig;
67
- }
68
- var getConfig = exports.getConfig = function getConfig() {
67
+ });
68
+ var getConfig = exports.getConfig = (0, _selfMeasurements.withProfiling)(function getConfig() {
69
69
  return config;
70
- };
70
+ });
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.resourceTimingBuffer = exports.filterResourceTimings = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _roundNumber = require("../../../round-number");
10
+ var _selfMeasurements = require("../../../self-measurements");
10
11
  var getPerformanceObject = function getPerformanceObject() {
11
12
  var _window;
12
13
  return ((_window = window) !== null && _window !== void 0 ? _window : {}).performance;
@@ -19,7 +20,7 @@ var resourceTimingBuffer = exports.resourceTimingBuffer = {
19
20
  timings: [],
20
21
  maxSize: 1000,
21
22
  observer: null,
22
- transformResource: function transformResource(entry) {
23
+ transformResource: (0, _selfMeasurements.withProfiling)(function transformResource(entry) {
23
24
  var _entry$serverTiming, _entry$serverTiming2;
24
25
  var duration = (0, _roundNumber.roundEpsilon)(entry.duration);
25
26
 
@@ -48,8 +49,8 @@ var resourceTimingBuffer = exports.resourceTimingBuffer = {
48
49
  encodedSize: (0, _roundNumber.roundEpsilon)(entry.encodedBodySize),
49
50
  decodedSize: (0, _roundNumber.roundEpsilon)(entry.decodedBodySize)
50
51
  };
51
- },
52
- start: function start() {
52
+ }),
53
+ start: (0, _selfMeasurements.withProfiling)(function start() {
53
54
  var _performance$getEntri;
54
55
  var performance = getPerformanceObject();
55
56
  var PerformanceObserver = getPerformanceObserverObject();
@@ -69,15 +70,15 @@ var resourceTimingBuffer = exports.resourceTimingBuffer = {
69
70
  resourceTimingBuffer.observer.observe({
70
71
  entryTypes: ['resource']
71
72
  });
72
- },
73
- stop: function stop() {
73
+ }),
74
+ stop: (0, _selfMeasurements.withProfiling)(function stop() {
74
75
  if (resourceTimingBuffer.observer) {
75
76
  resourceTimingBuffer.observer.disconnect();
76
77
  resourceTimingBuffer.observer = null;
77
78
  }
78
79
  resourceTimingBuffer.timings = [];
79
- },
80
- addTimings: function addTimings(list) {
80
+ }),
81
+ addTimings: (0, _selfMeasurements.withProfiling)(function addTimings(list) {
81
82
  var _resourceTimingBuffer;
82
83
  var entries = list.getEntries().map(function (entry) {
83
84
  return resourceTimingBuffer.transformResource(entry);
@@ -88,12 +89,12 @@ var resourceTimingBuffer = exports.resourceTimingBuffer = {
88
89
  resourceTimingBuffer.timings.splice(0, fieldsToRemove);
89
90
  }
90
91
  (_resourceTimingBuffer = resourceTimingBuffer.timings).push.apply(_resourceTimingBuffer, (0, _toConsumableArray2.default)(entries));
91
- }
92
+ })
92
93
  };
93
- var isValidTiming = function isValidTiming(timing, startTime, endTime) {
94
+ var isValidTiming = (0, _selfMeasurements.withProfiling)(function isValidTiming(timing, startTime, endTime) {
94
95
  return timing.startTime >= startTime && timing.startTime + timing.duration <= endTime;
95
- };
96
- var filterResourceTimings = exports.filterResourceTimings = function filterResourceTimings(startTime, endTime) {
96
+ });
97
+ var filterResourceTimings = exports.filterResourceTimings = (0, _selfMeasurements.withProfiling)(function filterResourceTimings(startTime, endTime) {
97
98
  var performance = getPerformanceObject();
98
99
  var PerformanceObserver = getPerformanceObserverObject();
99
100
  if (!PerformanceObserver || !resourceTimingBuffer.observer) {
@@ -108,4 +109,4 @@ var filterResourceTimings = exports.filterResourceTimings = function filterResou
108
109
  return resourceTimingBuffer.timings.filter(function (timing) {
109
110
  return isValidTiming(timing, startTime, endTime);
110
111
  });
111
- };
112
+ });
@@ -9,6 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
9
9
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
10
  var _config = require("../config");
11
11
  var _roundNumber = require("../round-number");
12
+ var _selfMeasurements = require("../self-measurements");
12
13
  var _config2 = require("./common/utils/config");
13
14
  var _resourceTimingBuffer = require("./common/utils/resource-timing-buffer");
14
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -18,18 +19,20 @@ var resourceTypes = ['fetch', 'xmlhttprequest'];
18
19
  var CACHE_NETWORK = 'network';
19
20
  var CACHE_MEMORY = 'memory';
20
21
  var CACHE_DISK = 'disk';
21
- var isCacheableType = function isCacheableType(url, type) {
22
+ var isCacheableType = (0, _selfMeasurements.withProfiling)(function isCacheableType(url, type) {
22
23
  if (alwaysCacheableTypes.includes(type)) {
23
24
  return true;
24
25
  }
26
+
27
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
25
28
  if (type === 'other' && url.includes('.js') && (0, _platformFeatureFlags.fg)('ufo_support_other_resource_type_js')) {
26
29
  return true;
27
30
  }
28
31
  return false;
29
- };
32
+ });
30
33
 
31
34
  // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
32
- var calculateTransferType = function calculateTransferType(name, type, duration, size) {
35
+ var calculateTransferType = (0, _selfMeasurements.withProfiling)(function calculateTransferType(name, type, duration, size) {
33
36
  if (!isCacheableType(name, type)) {
34
37
  return CACHE_NETWORK;
35
38
  }
@@ -43,16 +46,17 @@ var calculateTransferType = function calculateTransferType(name, type, duration,
43
46
  return null;
44
47
  }
45
48
  return CACHE_NETWORK;
46
- };
47
- var getWindowObject = function getWindowObject() {
49
+ });
50
+ var getWindowObject = (0, _selfMeasurements.withProfiling)(function getWindowObject() {
48
51
  return typeof window !== 'undefined' && !!window ? window : undefined;
49
- };
50
- var hasAccessToResourceSize = function hasAccessToResourceSize(url, type, entry, hasTimingHeaders) {
52
+ });
53
+ var hasAccessToResourceSize = (0, _selfMeasurements.withProfiling)(function hasAccessToResourceSize(url, type, entry, hasTimingHeaders) {
51
54
  return !isCacheableType(url, type) || url.includes('localhost') || !!getWindowObject() && url.includes(window.location.hostname) || hasTimingHeaders(url, entry);
52
- };
53
- var getReportedInitiatorTypes = function getReportedInitiatorTypes(xhrEnabled) {
55
+ });
56
+ var getReportedInitiatorTypes = (0, _selfMeasurements.withProfiling)(function getReportedInitiatorTypes(xhrEnabled) {
54
57
  var ufoConfig = (0, _config.getConfig)();
55
58
  if (!(ufoConfig !== null && ufoConfig !== void 0 && ufoConfig.allowedResources)) {
59
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
56
60
  if ((0, _platformFeatureFlags.fg)('ufo_support_other_resource_type_js')) {
57
61
  if (xhrEnabled) {
58
62
  return ['script', 'link', 'fetch', 'other', 'xmlhttprequest'];
@@ -66,18 +70,18 @@ var getReportedInitiatorTypes = function getReportedInitiatorTypes(xhrEnabled) {
66
70
  }
67
71
  }
68
72
  return ufoConfig.allowedResources;
69
- };
70
- var evaluateAccessToResourceTimings = function evaluateAccessToResourceTimings(url, entry) {
73
+ });
74
+ var evaluateAccessToResourceTimings = (0, _selfMeasurements.withProfiling)(function evaluateAccessToResourceTimings(url, entry) {
71
75
  return !(entry.responseStart === 0 && entry.startTime > entry.responseStart);
72
- };
76
+ });
73
77
 
74
78
  // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
75
- var getSizeObject = function getSizeObject(size) {
79
+ var getSizeObject = (0, _selfMeasurements.withProfiling)(function getSizeObject(size) {
76
80
  return size !== undefined ? {
77
81
  size: size
78
82
  } : null;
79
- };
80
- var getNetworkData = function getNetworkData(item, eventStart) {
83
+ });
84
+ var getNetworkData = (0, _selfMeasurements.withProfiling)(function getNetworkData(item, eventStart) {
81
85
  var hasTimingHeaders = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : evaluateAccessToResourceTimings;
82
86
  var name = item.name,
83
87
  duration = item.duration,
@@ -110,8 +114,8 @@ var getNetworkData = function getNetworkData(item, eventStart) {
110
114
  networkTime: networkTime,
111
115
  requestStart: requestStart
112
116
  }, getSizeObject(transferSize));
113
- };
114
- var getResourceTimings = exports.getResourceTimings = function getResourceTimings(interactionStart, interactionEnd) {
117
+ });
118
+ var getResourceTimings = exports.getResourceTimings = (0, _selfMeasurements.withProfiling)(function getResourceTimings(interactionStart, interactionEnd) {
115
119
  var resourceTiming = {};
116
120
  if (interactionStart === null) {
117
121
  return resourceTiming;
@@ -142,7 +146,9 @@ var getResourceTimings = exports.getResourceTimings = function getResourceTiming
142
146
  if (initiatorType === 'xmlhttprequest' && (xhrFilter === undefined || xhrFilter(name) === false)) {
143
147
  return;
144
148
  }
145
- if (initiatorType === 'other' && !name.includes('.js') && (0, _platformFeatureFlags.fg)('ufo_support_other_resource_type_js')) {
149
+ if (initiatorType === 'other' && !name.includes('.js') &&
150
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
151
+ (0, _platformFeatureFlags.fg)('ufo_support_other_resource_type_js')) {
146
152
  return;
147
153
  }
148
154
  var url = resourceTypes.includes(initiatorType) ? sanitiseEndpoints(name) : mapResources(name);
@@ -162,4 +168,4 @@ var getResourceTimings = exports.getResourceTimings = function getResourceTiming
162
168
  }, getNetworkData(item, interactionStart, hasTimingHeaders));
163
169
  });
164
170
  return resourceTiming;
165
- };
171
+ });
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.startResourceTimingBuffer = startResourceTimingBuffer;
6
+ exports.startResourceTimingBuffer = void 0;
7
+ var _selfMeasurements = require("../self-measurements");
7
8
  var _resourceTimingBuffer = require("./common/utils/resource-timing-buffer");
8
- function startResourceTimingBuffer() {
9
+ var startResourceTimingBuffer = exports.startResourceTimingBuffer = (0, _selfMeasurements.withProfiling)(function startResourceTimingBuffer() {
9
10
  _resourceTimingBuffer.resourceTimingBuffer.start();
10
- }
11
+ });
@@ -4,8 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.roundEpsilon = void 0;
7
- var roundEpsilon = exports.roundEpsilon = function roundEpsilon(num) {
7
+ var _selfMeasurements = require("../self-measurements");
8
+ var roundEpsilon = exports.roundEpsilon = (0, _selfMeasurements.withProfiling)(function roundEpsilon(num) {
8
9
  var places = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
9
10
  var factor = Math.pow(10, places);
10
11
  return Math.round((num + Number.EPSILON) * factor) / factor;
11
- };
12
+ });
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = getUFORouteName;
7
- function getUFORouteName(route) {
6
+ exports.default = void 0;
7
+ var _selfMeasurements = require("../self-measurements");
8
+ var getUFORouteName = (0, _selfMeasurements.withProfiling)(function getUFORouteName(route) {
8
9
  if (route.ufoName != null) {
9
10
  return route.ufoName;
10
11
  }
11
12
  return route.name;
12
- }
13
+ });
14
+ var _default = exports.default = getUFORouteName;
@@ -3,9 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = scheduleOnPaint;
7
- function scheduleOnPaint(callback) {
6
+ exports.default = void 0;
7
+ var _selfMeasurements = require("../self-measurements");
8
+ var scheduleOnPaint = (0, _selfMeasurements.withProfiling)(function scheduleOnPaint(_callback) {
8
9
  var _document;
10
+ var callback = (0, _selfMeasurements.withProfiling)(_callback);
9
11
  if (((_document = document) === null || _document === void 0 ? void 0 : _document.visibilityState) !== 'visible') {
10
12
  // last resort fallback
11
13
  setTimeout(callback, 100);
@@ -32,4 +34,5 @@ function scheduleOnPaint(callback) {
32
34
  });
33
35
  });
34
36
  }
35
- }
37
+ });
38
+ var _default = exports.default = scheduleOnPaint;
@@ -19,6 +19,7 @@ var _interactionContext = _interopRequireDefault(require("../interaction-context
19
19
  var _interactionIdContext = _interopRequireDefault(require("../interaction-id-context"));
20
20
  var _interactionMetrics = require("../interaction-metrics");
21
21
  var _routeNameContext = _interopRequireDefault(require("../route-name-context"));
22
+ var _selfMeasurements = require("../self-measurements");
22
23
  var _shortId = _interopRequireDefault(require("../short-id"));
23
24
  var _scheduleOnPaint = _interopRequireDefault(require("./schedule-on-paint"));
24
25
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -37,6 +38,7 @@ var AsyncSegmentHighlight = /*#__PURE__*/(0, _react.lazy)(function () {
37
38
  });
38
39
  var noopIdMap = new Map();
39
40
 
41
+ // KARL TODO: finish self profiling
40
42
  /** A portion of the page we apply measurement to */
41
43
  function UFOSegment(_ref) {
42
44
  var _getConfig2;
@@ -80,11 +82,12 @@ function UFOSegment(_ref) {
80
82
  }, [parentContext, segmentName, segmentId]);
81
83
  var interactionId = (0, _react.useContext)(_interactionIdContext.default);
82
84
  var interactionContext = (0, _react.useMemo)(function () {
85
+ // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
83
86
  if (!(0, _platformFeatureFlags.fg)('platform-ufo-add-segment-use-effect')) {
84
87
  (0, _interactionMetrics.addSegment)(labelStack);
85
88
  }
86
89
  var lastCompleteEndTime = 0;
87
- function complete() {
90
+ var complete = (0, _selfMeasurements.withProfiling)(function complete() {
88
91
  var endTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : performance.now();
89
92
  if (interactionId.current) {
90
93
  if (parentContext) {
@@ -98,7 +101,7 @@ function UFOSegment(_ref) {
98
101
  var _cancelAnimationFrame;
99
102
  (_cancelAnimationFrame = cancelAnimationFrame) === null || _cancelAnimationFrame === void 0 || _cancelAnimationFrame(tryCompleteHandle);
100
103
  }
101
- (0, _scheduler.unstable_scheduleCallback)(_scheduler.unstable_NormalPriority, function () {
104
+ var onComplete = (0, _selfMeasurements.withProfiling)(function onComplete() {
102
105
  if (capturedInteractionId === interactionId.current) {
103
106
  var _document;
104
107
  var isPageVisible = ((_document = document) === null || _document === void 0 ? void 0 : _document.visibilityState) === 'visible';
@@ -116,9 +119,10 @@ function UFOSegment(_ref) {
116
119
  }
117
120
  }
118
121
  });
122
+ (0, _scheduler.unstable_scheduleCallback)(_scheduler.unstable_NormalPriority, onComplete);
119
123
  }
120
124
  }
121
- }
125
+ });
122
126
  function _internalHold(labelStack, name) {
123
127
  var experimental = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
124
128
  if (interactionId.current != null) {