@safaricom-mxl/web-sdk 0.0.16 → 0.0.17

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 (819) hide show
  1. package/DATA_EXPORT.md +2 -3
  2. package/REACT.md +5 -7
  3. package/README.md +94 -57
  4. package/UPGRADING.md +29 -19
  5. package/dist/api-logs/api/LogAPI/LogAPI.cjs +3 -3
  6. package/dist/api-logs/api/LogAPI/LogAPI.cjs.map +1 -1
  7. package/dist/api-logs/api/LogAPI/LogAPI.js +3 -3
  8. package/dist/api-logs/api/LogAPI/LogAPI.js.map +1 -1
  9. package/dist/api-logs/manager/NoOpLogManager/NoOpLogManager.cjs.map +1 -1
  10. package/dist/api-logs/manager/NoOpLogManager/NoOpLogManager.js.map +1 -1
  11. package/dist/api-logs/manager/types.d.cts +4 -4
  12. package/dist/api-logs/manager/types.d.cts.map +1 -1
  13. package/dist/api-logs/manager/types.d.ts +4 -4
  14. package/dist/api-logs/manager/types.d.ts.map +1 -1
  15. package/dist/api-page/api/PageAPI/PageAPI.cjs +3 -3
  16. package/dist/api-page/api/PageAPI/PageAPI.cjs.map +1 -1
  17. package/dist/api-page/api/PageAPI/PageAPI.js +3 -3
  18. package/dist/api-page/api/PageAPI/PageAPI.js.map +1 -1
  19. package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs +9 -9
  20. package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs.map +1 -1
  21. package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts +5 -7
  22. package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts.map +1 -1
  23. package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts +5 -7
  24. package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts.map +1 -1
  25. package/dist/api-sessions/api/SessionAPI/SessionAPI.js +9 -9
  26. package/dist/api-sessions/api/SessionAPI/SessionAPI.js.map +1 -1
  27. package/dist/api-sessions/index.cjs +4 -4
  28. package/dist/api-sessions/index.d.cts +4 -4
  29. package/dist/api-sessions/index.d.ts +4 -4
  30. package/dist/api-sessions/index.js +3 -3
  31. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs +47 -0
  32. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs.map +1 -0
  33. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.cts +30 -0
  34. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.cts.map +1 -0
  35. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.ts +30 -0
  36. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.ts.map +1 -0
  37. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.js +46 -0
  38. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.js.map +1 -0
  39. package/dist/api-sessions/manager/NoOpUserSessionManager/index.cjs +3 -0
  40. package/dist/api-sessions/manager/NoOpUserSessionManager/index.d.cts +2 -0
  41. package/dist/api-sessions/manager/NoOpUserSessionManager/index.d.ts +2 -0
  42. package/dist/api-sessions/manager/NoOpUserSessionManager/index.js +2 -0
  43. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs +81 -0
  44. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs.map +1 -0
  45. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts +35 -0
  46. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts.map +1 -0
  47. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts +35 -0
  48. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts.map +1 -0
  49. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js +81 -0
  50. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js.map +1 -0
  51. package/dist/api-sessions/manager/ProxyUserSessionManager/index.cjs +3 -0
  52. package/dist/api-sessions/manager/ProxyUserSessionManager/index.d.cts +2 -0
  53. package/dist/api-sessions/manager/ProxyUserSessionManager/index.d.ts +2 -0
  54. package/dist/api-sessions/manager/ProxyUserSessionManager/index.js +2 -0
  55. package/dist/api-sessions/manager/index.cjs +4 -4
  56. package/dist/api-sessions/manager/index.d.cts +4 -4
  57. package/dist/api-sessions/manager/index.d.ts +4 -4
  58. package/dist/api-sessions/manager/index.js +3 -3
  59. package/dist/api-sessions/manager/types.d.cts +14 -24
  60. package/dist/api-sessions/manager/types.d.cts.map +1 -1
  61. package/dist/api-sessions/manager/types.d.ts +14 -24
  62. package/dist/api-sessions/manager/types.d.ts.map +1 -1
  63. package/dist/api-traces/api/TraceAPI/TraceAPI.cjs +3 -3
  64. package/dist/api-traces/api/TraceAPI/TraceAPI.cjs.map +1 -1
  65. package/dist/api-traces/api/TraceAPI/TraceAPI.js +3 -3
  66. package/dist/api-traces/api/TraceAPI/TraceAPI.js.map +1 -1
  67. package/dist/api-traces/api/TraceAPI/types.d.cts +2 -2
  68. package/dist/api-traces/api/TraceAPI/types.d.cts.map +1 -1
  69. package/dist/api-traces/api/TraceAPI/types.d.ts +2 -2
  70. package/dist/api-traces/api/TraceAPI/types.d.ts.map +1 -1
  71. package/dist/api-users/api/UserAPI/UserAPI.cjs +3 -3
  72. package/dist/api-users/api/UserAPI/UserAPI.cjs.map +1 -1
  73. package/dist/api-users/api/UserAPI/UserAPI.js +3 -3
  74. package/dist/api-users/api/UserAPI/UserAPI.js.map +1 -1
  75. package/dist/common/types.d.cts +2 -0
  76. package/dist/common/types.d.cts.map +1 -1
  77. package/dist/common/types.d.ts +2 -0
  78. package/dist/common/types.d.ts.map +1 -1
  79. package/dist/constants/attributes.cjs +28 -0
  80. package/dist/constants/attributes.cjs.map +1 -1
  81. package/dist/constants/attributes.d.cts +17 -2
  82. package/dist/constants/attributes.d.cts.map +1 -1
  83. package/dist/constants/attributes.d.ts +17 -2
  84. package/dist/constants/attributes.d.ts.map +1 -1
  85. package/dist/constants/attributes.js +16 -1
  86. package/dist/constants/attributes.js.map +1 -1
  87. package/dist/constants/index.cjs +13 -0
  88. package/dist/constants/index.d.cts +2 -2
  89. package/dist/constants/index.d.ts +2 -2
  90. package/dist/constants/index.js +2 -2
  91. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs +1 -2
  92. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs.map +1 -1
  93. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts +1 -2
  94. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts.map +1 -1
  95. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts +1 -2
  96. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts.map +1 -1
  97. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js +1 -2
  98. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js.map +1 -1
  99. package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.cjs.map +1 -1
  100. package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.js.map +1 -1
  101. package/dist/exporters/constants.cjs +1 -1
  102. package/dist/exporters/constants.cjs.map +1 -1
  103. package/dist/exporters/constants.d.cts +1 -1
  104. package/dist/exporters/constants.d.ts +1 -1
  105. package/dist/exporters/constants.js +1 -1
  106. package/dist/exporters/constants.js.map +1 -1
  107. package/dist/exporters/otlpBrowserFetchExportDelegate.cjs.map +1 -1
  108. package/dist/exporters/otlpBrowserFetchExportDelegate.js.map +1 -1
  109. package/dist/index.cjs +2 -0
  110. package/dist/index.d.cts +2 -1
  111. package/dist/index.d.ts +2 -1
  112. package/dist/index.js +2 -1
  113. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.cjs +2 -2
  114. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.cjs.map +1 -1
  115. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.cts.map +1 -1
  116. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.ts.map +1 -1
  117. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.js +2 -2
  118. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.js.map +1 -1
  119. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs +6 -7
  120. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs.map +1 -1
  121. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.cts +4 -5
  122. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.cts.map +1 -1
  123. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.ts +4 -5
  124. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.ts.map +1 -1
  125. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js +6 -7
  126. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js.map +1 -1
  127. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs +8 -8
  128. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs.map +1 -1
  129. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.d.cts.map +1 -1
  130. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.d.ts.map +1 -1
  131. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js +8 -8
  132. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js.map +1 -1
  133. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs +10 -10
  134. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs.map +1 -1
  135. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js +10 -10
  136. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js.map +1 -1
  137. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs +2 -2
  138. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs.map +1 -1
  139. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js +2 -2
  140. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js.map +1 -1
  141. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs +5 -5
  142. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs.map +1 -1
  143. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js +5 -5
  144. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js.map +1 -1
  145. package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs +4 -4
  146. package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs.map +1 -1
  147. package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js +4 -4
  148. package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js.map +1 -1
  149. package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs +7 -7
  150. package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs.map +1 -1
  151. package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js +7 -7
  152. package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js.map +1 -1
  153. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs +2 -2
  154. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs.map +1 -1
  155. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts +4 -4
  156. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts.map +1 -1
  157. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.ts +4 -4
  158. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.ts.map +1 -1
  159. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js +2 -2
  160. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js.map +1 -1
  161. package/dist/instrumentations/index.cjs +2 -4
  162. package/dist/instrumentations/index.d.cts +4 -6
  163. package/dist/instrumentations/index.d.ts +4 -6
  164. package/dist/instrumentations/index.js +2 -3
  165. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs +23 -23
  166. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs.map +1 -1
  167. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts +2 -3
  168. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts.map +1 -1
  169. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts +2 -3
  170. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts.map +1 -1
  171. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js +23 -23
  172. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js.map +1 -1
  173. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs +5 -5
  174. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map +1 -1
  175. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.cts.map +1 -1
  176. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.ts.map +1 -1
  177. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js +5 -5
  178. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map +1 -1
  179. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.cjs.map +1 -1
  180. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.js.map +1 -1
  181. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs +1 -1
  182. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs.map +1 -1
  183. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js +1 -1
  184. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js.map +1 -1
  185. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.cts +10 -10
  186. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.cts.map +1 -1
  187. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts +10 -10
  188. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts.map +1 -1
  189. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.cts +2 -2
  190. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.cts.map +1 -1
  191. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts +2 -2
  192. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts.map +1 -1
  193. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.cjs.map +1 -1
  194. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.js.map +1 -1
  195. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs +257 -0
  196. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs.map +1 -0
  197. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts +56 -0
  198. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts.map +1 -0
  199. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts +56 -0
  200. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts.map +1 -0
  201. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js +252 -0
  202. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js.map +1 -0
  203. package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs +15 -0
  204. package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs.map +1 -0
  205. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts +9 -0
  206. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts.map +1 -0
  207. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts +9 -0
  208. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts.map +1 -0
  209. package/dist/instrumentations/replay/ReplayInstrumentation/constants.js +10 -0
  210. package/dist/instrumentations/replay/ReplayInstrumentation/constants.js.map +1 -0
  211. package/dist/instrumentations/replay/ReplayInstrumentation/index.cjs +3 -0
  212. package/dist/instrumentations/replay/ReplayInstrumentation/index.d.cts +3 -0
  213. package/dist/instrumentations/replay/ReplayInstrumentation/index.d.ts +3 -0
  214. package/dist/instrumentations/replay/ReplayInstrumentation/index.js +2 -0
  215. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts +17 -0
  216. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts.map +1 -0
  217. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts +17 -0
  218. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts.map +1 -0
  219. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs +18 -0
  220. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs.map +1 -0
  221. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.cts +8 -0
  222. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.cts.map +1 -0
  223. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.ts +8 -0
  224. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.ts.map +1 -0
  225. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js +17 -0
  226. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js.map +1 -0
  227. package/dist/instrumentations/replay/index.cjs +8 -0
  228. package/dist/instrumentations/replay/index.d.cts +4 -0
  229. package/dist/instrumentations/replay/index.d.ts +4 -0
  230. package/dist/instrumentations/replay/index.js +3 -0
  231. package/dist/instrumentations/replay/utils/index.cjs +5 -0
  232. package/dist/instrumentations/replay/utils/index.d.cts +2 -0
  233. package/dist/instrumentations/replay/utils/index.d.ts +2 -0
  234. package/dist/instrumentations/replay/utils/index.js +2 -0
  235. package/dist/instrumentations/replay/utils/session-recording-utils.cjs +79 -0
  236. package/dist/instrumentations/replay/utils/session-recording-utils.cjs.map +1 -0
  237. package/dist/instrumentations/replay/utils/session-recording-utils.d.cts +32 -0
  238. package/dist/instrumentations/replay/utils/session-recording-utils.d.cts.map +1 -0
  239. package/dist/instrumentations/replay/utils/session-recording-utils.d.ts +32 -0
  240. package/dist/instrumentations/replay/utils/session-recording-utils.d.ts.map +1 -0
  241. package/dist/instrumentations/replay/utils/session-recording-utils.js +73 -0
  242. package/dist/instrumentations/replay/utils/session-recording-utils.js.map +1 -0
  243. package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs +6 -6
  244. package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs.map +1 -1
  245. package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js +6 -6
  246. package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js.map +1 -1
  247. package/dist/instrumentations/session/index.cjs +0 -6
  248. package/dist/instrumentations/session/index.d.cts +2 -7
  249. package/dist/instrumentations/session/index.d.ts +2 -7
  250. package/dist/instrumentations/session/index.js +1 -4
  251. package/dist/instrumentations/session/types.d.cts +5 -5
  252. package/dist/instrumentations/session/types.d.cts.map +1 -1
  253. package/dist/instrumentations/session/types.d.ts +5 -5
  254. package/dist/instrumentations/session/types.d.ts.map +1 -1
  255. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs +10 -10
  256. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs.map +1 -1
  257. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js +10 -10
  258. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js.map +1 -1
  259. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs +15 -15
  260. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs.map +1 -1
  261. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js +15 -15
  262. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js.map +1 -1
  263. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.cts +1 -3
  264. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.cts.map +1 -1
  265. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.ts +1 -3
  266. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.ts.map +1 -1
  267. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs +0 -1
  268. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs.map +1 -1
  269. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.d.cts.map +1 -1
  270. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.d.ts.map +1 -1
  271. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js +0 -1
  272. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js.map +1 -1
  273. package/dist/managers/MXLConfigManager/constants.cjs +2 -2
  274. package/dist/managers/MXLConfigManager/constants.cjs.map +1 -1
  275. package/dist/managers/MXLConfigManager/constants.js +2 -2
  276. package/dist/managers/MXLConfigManager/constants.js.map +1 -1
  277. package/dist/managers/MXLConfigManager/types.d.cts +8 -7
  278. package/dist/managers/MXLConfigManager/types.d.cts.map +1 -1
  279. package/dist/managers/MXLConfigManager/types.d.ts +8 -7
  280. package/dist/managers/MXLConfigManager/types.d.ts.map +1 -1
  281. package/dist/managers/MXLLimitManager/MXLLimitManager.cjs +20 -20
  282. package/dist/managers/MXLLimitManager/MXLLimitManager.cjs.map +1 -1
  283. package/dist/managers/MXLLimitManager/MXLLimitManager.js +20 -20
  284. package/dist/managers/MXLLimitManager/MXLLimitManager.js.map +1 -1
  285. package/dist/managers/MXLLimitManager/constants.cjs +20 -20
  286. package/dist/managers/MXLLimitManager/constants.cjs.map +1 -1
  287. package/dist/managers/MXLLimitManager/constants.js +20 -20
  288. package/dist/managers/MXLLimitManager/constants.js.map +1 -1
  289. package/dist/managers/MXLLimitManager/types.d.cts +8 -8
  290. package/dist/managers/MXLLimitManager/types.d.cts.map +1 -1
  291. package/dist/managers/MXLLimitManager/types.d.ts +8 -8
  292. package/dist/managers/MXLLimitManager/types.d.ts.map +1 -1
  293. package/dist/managers/MXLLogManager/MXLLogManager.cjs +19 -19
  294. package/dist/managers/MXLLogManager/MXLLogManager.cjs.map +1 -1
  295. package/dist/managers/MXLLogManager/MXLLogManager.d.cts +2 -2
  296. package/dist/managers/MXLLogManager/MXLLogManager.d.cts.map +1 -1
  297. package/dist/managers/MXLLogManager/MXLLogManager.d.ts +2 -2
  298. package/dist/managers/MXLLogManager/MXLLogManager.d.ts.map +1 -1
  299. package/dist/managers/MXLLogManager/MXLLogManager.js +19 -19
  300. package/dist/managers/MXLLogManager/MXLLogManager.js.map +1 -1
  301. package/dist/managers/MXLLogManager/types.d.cts +2 -2
  302. package/dist/managers/MXLLogManager/types.d.ts +2 -2
  303. package/dist/managers/MXLPageManager/MXLPageManager.cjs +1 -3
  304. package/dist/managers/MXLPageManager/MXLPageManager.cjs.map +1 -1
  305. package/dist/managers/MXLPageManager/MXLPageManager.d.cts.map +1 -1
  306. package/dist/managers/MXLPageManager/MXLPageManager.d.ts.map +1 -1
  307. package/dist/managers/MXLPageManager/MXLPageManager.js +1 -3
  308. package/dist/managers/MXLPageManager/MXLPageManager.js.map +1 -1
  309. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs +0 -4
  310. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs.map +1 -1
  311. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.cts +0 -1
  312. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.cts.map +1 -1
  313. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.ts +0 -1
  314. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.ts.map +1 -1
  315. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js +0 -4
  316. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js.map +1 -1
  317. package/dist/managers/MXLSDKFeaturesManager/types.d.cts +0 -1
  318. package/dist/managers/MXLSDKFeaturesManager/types.d.cts.map +1 -1
  319. package/dist/managers/MXLSDKFeaturesManager/types.d.ts +0 -1
  320. package/dist/managers/MXLSDKFeaturesManager/types.d.ts.map +1 -1
  321. package/dist/managers/MXLTraceManager/MXLExtendedSpan.cjs.map +1 -1
  322. package/dist/managers/MXLTraceManager/MXLExtendedSpan.js.map +1 -1
  323. package/dist/managers/MXLUserManager/MXLUserManager.cjs +14 -14
  324. package/dist/managers/MXLUserManager/MXLUserManager.cjs.map +1 -1
  325. package/dist/managers/MXLUserManager/MXLUserManager.js +14 -14
  326. package/dist/managers/MXLUserManager/MXLUserManager.js.map +1 -1
  327. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs +574 -0
  328. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs.map +1 -0
  329. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts +142 -0
  330. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts.map +1 -0
  331. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts +142 -0
  332. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts.map +1 -0
  333. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js +572 -0
  334. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js.map +1 -0
  335. package/dist/managers/MXLUserSessionManager/constants.cjs +55 -0
  336. package/dist/managers/MXLUserSessionManager/constants.cjs.map +1 -0
  337. package/dist/managers/MXLUserSessionManager/constants.d.cts +31 -0
  338. package/dist/managers/MXLUserSessionManager/constants.d.cts.map +1 -0
  339. package/dist/managers/MXLUserSessionManager/constants.d.ts +31 -0
  340. package/dist/managers/MXLUserSessionManager/constants.d.ts.map +1 -0
  341. package/dist/managers/MXLUserSessionManager/constants.js +37 -0
  342. package/dist/managers/MXLUserSessionManager/constants.js.map +1 -0
  343. package/dist/managers/MXLUserSessionManager/index.cjs +6 -0
  344. package/dist/managers/MXLUserSessionManager/index.d.cts +4 -0
  345. package/dist/managers/MXLUserSessionManager/index.d.ts +4 -0
  346. package/dist/managers/MXLUserSessionManager/index.js +3 -0
  347. package/dist/managers/MXLUserSessionManager/types.d.cts +84 -0
  348. package/dist/managers/MXLUserSessionManager/types.d.cts.map +1 -0
  349. package/dist/managers/MXLUserSessionManager/types.d.ts +84 -0
  350. package/dist/managers/MXLUserSessionManager/types.d.ts.map +1 -0
  351. package/dist/managers/MXLUserSessionManager/utils/activity.cjs +25 -0
  352. package/dist/managers/MXLUserSessionManager/utils/activity.cjs.map +1 -0
  353. package/dist/managers/MXLUserSessionManager/utils/activity.d.cts +40 -0
  354. package/dist/managers/MXLUserSessionManager/utils/activity.d.cts.map +1 -0
  355. package/dist/managers/MXLUserSessionManager/utils/activity.d.ts +40 -0
  356. package/dist/managers/MXLUserSessionManager/utils/activity.d.ts.map +1 -0
  357. package/dist/managers/MXLUserSessionManager/utils/activity.js +22 -0
  358. package/dist/managers/MXLUserSessionManager/utils/activity.js.map +1 -0
  359. package/dist/managers/MXLUserSessionManager/utils/index.cjs +11 -0
  360. package/dist/managers/MXLUserSessionManager/utils/index.d.cts +3 -0
  361. package/dist/managers/MXLUserSessionManager/utils/index.d.ts +3 -0
  362. package/dist/managers/MXLUserSessionManager/utils/index.js +3 -0
  363. package/dist/managers/MXLUserSessionManager/utils/state.cjs +78 -0
  364. package/dist/managers/MXLUserSessionManager/utils/state.cjs.map +1 -0
  365. package/dist/managers/MXLUserSessionManager/utils/state.d.cts +39 -0
  366. package/dist/managers/MXLUserSessionManager/utils/state.d.cts.map +1 -0
  367. package/dist/managers/MXLUserSessionManager/utils/state.d.ts +39 -0
  368. package/dist/managers/MXLUserSessionManager/utils/state.d.ts.map +1 -0
  369. package/dist/managers/MXLUserSessionManager/utils/state.js +73 -0
  370. package/dist/managers/MXLUserSessionManager/utils/state.js.map +1 -0
  371. package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs +132 -0
  372. package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs.map +1 -0
  373. package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.cts +33 -0
  374. package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.cts.map +1 -0
  375. package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.ts +33 -0
  376. package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.ts.map +1 -0
  377. package/dist/managers/MXLUserSessionManager/utils/tabTracking.js +127 -0
  378. package/dist/managers/MXLUserSessionManager/utils/tabTracking.js.map +1 -0
  379. package/dist/managers/index.cjs +5 -2
  380. package/dist/managers/index.d.cts +4 -3
  381. package/dist/managers/index.d.ts +4 -3
  382. package/dist/managers/index.js +3 -2
  383. package/dist/mxl-web-sdk.js +1 -23
  384. package/dist/mxl-web-sdk.js.map +1 -1
  385. package/dist/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.cjs.map +1 -1
  386. package/dist/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.js.map +1 -1
  387. package/dist/processors/BrowserSpanProcessor/BrowserSpanProcessor.cjs.map +1 -1
  388. package/dist/processors/BrowserSpanProcessor/BrowserSpanProcessor.js.map +1 -1
  389. package/dist/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.cjs.map +1 -1
  390. package/dist/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.js.map +1 -1
  391. package/dist/processors/LogRecordScrubProcessor/types.d.cts +2 -2
  392. package/dist/processors/LogRecordScrubProcessor/types.d.cts.map +1 -1
  393. package/dist/processors/LogRecordScrubProcessor/types.d.ts +2 -2
  394. package/dist/processors/LogRecordScrubProcessor/types.d.ts.map +1 -1
  395. package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.cjs.map +1 -1
  396. package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.js.map +1 -1
  397. package/dist/processors/MXLLogRecordProcessor/types.d.cts +2 -2
  398. package/dist/processors/MXLLogRecordProcessor/types.d.cts.map +1 -1
  399. package/dist/processors/MXLLogRecordProcessor/types.d.ts +2 -2
  400. package/dist/processors/MXLLogRecordProcessor/types.d.ts.map +1 -1
  401. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.cjs.map +1 -1
  402. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.js.map +1 -1
  403. package/dist/processors/MXLNetworkSpanProcessor/types.cjs.map +1 -1
  404. package/dist/processors/MXLNetworkSpanProcessor/types.js.map +1 -1
  405. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.cjs +74 -0
  406. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.cjs.map +1 -0
  407. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.cts +28 -0
  408. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.cts.map +1 -0
  409. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.ts +28 -0
  410. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.ts.map +1 -0
  411. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.js +72 -0
  412. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.js.map +1 -0
  413. package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.cjs +3 -0
  414. package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.d.cts +3 -0
  415. package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.d.ts +3 -0
  416. package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.js +2 -0
  417. package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.cts +15 -0
  418. package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.cts.map +1 -0
  419. package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.ts +15 -0
  420. package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.ts.map +1 -0
  421. package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.cjs.map +1 -1
  422. package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.js.map +1 -1
  423. package/dist/processors/PageSpanProcessor/PageSpanProcessor.cjs.map +1 -1
  424. package/dist/processors/PageSpanProcessor/PageSpanProcessor.js.map +1 -1
  425. package/dist/processors/SpanScrubProcessor/SpanScrubProcessor.cjs.map +1 -1
  426. package/dist/processors/SpanScrubProcessor/SpanScrubProcessor.js.map +1 -1
  427. package/dist/processors/UserLogRecordProcessor/UserLogRecordProcessor.cjs.map +1 -1
  428. package/dist/processors/UserLogRecordProcessor/UserLogRecordProcessor.js.map +1 -1
  429. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs +34 -0
  430. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs.map +1 -0
  431. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts +16 -0
  432. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts.map +1 -0
  433. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts +16 -0
  434. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts.map +1 -0
  435. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js +32 -0
  436. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js.map +1 -0
  437. package/dist/processors/UserSessionLogRecordProcessor/index.cjs +3 -0
  438. package/dist/processors/UserSessionLogRecordProcessor/index.d.cts +3 -0
  439. package/dist/processors/UserSessionLogRecordProcessor/index.d.ts +3 -0
  440. package/dist/processors/UserSessionLogRecordProcessor/index.js +2 -0
  441. package/dist/processors/UserSessionLogRecordProcessor/types.d.cts +8 -0
  442. package/dist/processors/UserSessionLogRecordProcessor/types.d.cts.map +1 -0
  443. package/dist/processors/UserSessionLogRecordProcessor/types.d.ts +8 -0
  444. package/dist/processors/UserSessionLogRecordProcessor/types.d.ts.map +1 -0
  445. package/dist/processors/UserSpanProcessor/UserSpanProcessor.cjs.map +1 -1
  446. package/dist/processors/UserSpanProcessor/UserSpanProcessor.js.map +1 -1
  447. package/dist/processors/index.cjs +4 -4
  448. package/dist/processors/index.d.cts +3 -3
  449. package/dist/processors/index.d.ts +3 -3
  450. package/dist/processors/index.js +3 -3
  451. package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.cjs.map +1 -1
  452. package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.js.map +1 -1
  453. package/dist/resources/appInstanceId.cjs +4 -4
  454. package/dist/resources/appInstanceId.cjs.map +1 -1
  455. package/dist/resources/appInstanceId.js +4 -4
  456. package/dist/resources/appInstanceId.js.map +1 -1
  457. package/dist/resources/constants/index.cjs +1 -1
  458. package/dist/resources/constants/index.cjs.map +1 -1
  459. package/dist/resources/constants/index.d.cts +1 -1
  460. package/dist/resources/constants/index.d.ts +1 -1
  461. package/dist/resources/constants/index.js +1 -1
  462. package/dist/resources/constants/index.js.map +1 -1
  463. package/dist/resources/webSdkResource.cjs +15 -19
  464. package/dist/resources/webSdkResource.cjs.map +1 -1
  465. package/dist/resources/webSdkResource.d.cts.map +1 -1
  466. package/dist/resources/webSdkResource.d.ts.map +1 -1
  467. package/dist/resources/webSdkResource.js +15 -19
  468. package/dist/resources/webSdkResource.js.map +1 -1
  469. package/dist/sdk/defaultAttributeScrubbers.cjs +8 -8
  470. package/dist/sdk/defaultAttributeScrubbers.cjs.map +1 -1
  471. package/dist/sdk/defaultAttributeScrubbers.js +8 -8
  472. package/dist/sdk/defaultAttributeScrubbers.js.map +1 -1
  473. package/dist/sdk/index.d.cts +3 -2
  474. package/dist/sdk/index.d.ts +3 -2
  475. package/dist/sdk/initSDK.cjs +137 -98
  476. package/dist/sdk/initSDK.cjs.map +1 -1
  477. package/dist/sdk/initSDK.d.cts +4 -2
  478. package/dist/sdk/initSDK.d.cts.map +1 -1
  479. package/dist/sdk/initSDK.d.ts +4 -2
  480. package/dist/sdk/initSDK.d.ts.map +1 -1
  481. package/dist/sdk/initSDK.js +137 -98
  482. package/dist/sdk/initSDK.js.map +1 -1
  483. package/dist/sdk/registry.cjs +1 -3
  484. package/dist/sdk/registry.cjs.map +1 -1
  485. package/dist/sdk/registry.d.cts.map +1 -1
  486. package/dist/sdk/registry.d.ts.map +1 -1
  487. package/dist/sdk/registry.js +1 -3
  488. package/dist/sdk/registry.js.map +1 -1
  489. package/dist/sdk/setupDefaultInstrumentations.cjs +9 -5
  490. package/dist/sdk/setupDefaultInstrumentations.cjs.map +1 -1
  491. package/dist/sdk/setupDefaultInstrumentations.d.cts +5 -2
  492. package/dist/sdk/setupDefaultInstrumentations.d.cts.map +1 -1
  493. package/dist/sdk/setupDefaultInstrumentations.d.ts +5 -2
  494. package/dist/sdk/setupDefaultInstrumentations.d.ts.map +1 -1
  495. package/dist/sdk/setupDefaultInstrumentations.js +9 -5
  496. package/dist/sdk/setupDefaultInstrumentations.js.map +1 -1
  497. package/dist/sdk/types.d.cts +68 -56
  498. package/dist/sdk/types.d.cts.map +1 -1
  499. package/dist/sdk/types.d.ts +69 -57
  500. package/dist/sdk/types.d.ts.map +1 -1
  501. package/dist/sdk/utils.cjs +1 -1
  502. package/dist/sdk/utils.cjs.map +1 -1
  503. package/dist/sdk/utils.d.cts.map +1 -1
  504. package/dist/sdk/utils.d.ts.map +1 -1
  505. package/dist/sdk/utils.js +1 -1
  506. package/dist/sdk/utils.js.map +1 -1
  507. package/dist/transport/FetchTransport/FetchTransport.cjs +13 -13
  508. package/dist/transport/FetchTransport/FetchTransport.cjs.map +1 -1
  509. package/dist/transport/FetchTransport/FetchTransport.js +13 -13
  510. package/dist/transport/FetchTransport/FetchTransport.js.map +1 -1
  511. package/dist/transport/RetryingTransport/RetryingTransport.cjs +1 -1
  512. package/dist/transport/RetryingTransport/RetryingTransport.cjs.map +1 -1
  513. package/dist/transport/RetryingTransport/RetryingTransport.js +1 -1
  514. package/dist/transport/RetryingTransport/RetryingTransport.js.map +1 -1
  515. package/dist/utils/NamespacedStorage/NamespacedStorage.cjs +69 -24
  516. package/dist/utils/NamespacedStorage/NamespacedStorage.cjs.map +1 -1
  517. package/dist/utils/NamespacedStorage/NamespacedStorage.d.cts +27 -13
  518. package/dist/utils/NamespacedStorage/NamespacedStorage.d.cts.map +1 -1
  519. package/dist/utils/NamespacedStorage/NamespacedStorage.d.ts +27 -13
  520. package/dist/utils/NamespacedStorage/NamespacedStorage.d.ts.map +1 -1
  521. package/dist/utils/NamespacedStorage/NamespacedStorage.js +68 -24
  522. package/dist/utils/NamespacedStorage/NamespacedStorage.js.map +1 -1
  523. package/dist/utils/PerformanceManager/OTelPerformanceManager.cjs.map +1 -1
  524. package/dist/utils/PerformanceManager/OTelPerformanceManager.js.map +1 -1
  525. package/dist/utils/clampNumber.cjs +23 -0
  526. package/dist/utils/clampNumber.cjs.map +1 -0
  527. package/dist/utils/clampNumber.d.cts +24 -0
  528. package/dist/utils/clampNumber.d.cts.map +1 -0
  529. package/dist/utils/clampNumber.d.ts +24 -0
  530. package/dist/utils/clampNumber.d.ts.map +1 -0
  531. package/dist/utils/clampNumber.js +22 -0
  532. package/dist/utils/clampNumber.js.map +1 -0
  533. package/dist/utils/createSafeProxy/createSafeProxy.cjs +2 -2
  534. package/dist/utils/createSafeProxy/createSafeProxy.cjs.map +1 -1
  535. package/dist/utils/createSafeProxy/createSafeProxy.d.cts.map +1 -1
  536. package/dist/utils/createSafeProxy/createSafeProxy.d.ts.map +1 -1
  537. package/dist/utils/createSafeProxy/createSafeProxy.js +2 -2
  538. package/dist/utils/createSafeProxy/createSafeProxy.js.map +1 -1
  539. package/dist/utils/generateWebVitalID.cjs +1 -3
  540. package/dist/utils/generateWebVitalID.cjs.map +1 -1
  541. package/dist/utils/generateWebVitalID.js +1 -3
  542. package/dist/utils/generateWebVitalID.js.map +1 -1
  543. package/dist/utils/getIncrementedCount.cjs +2 -2
  544. package/dist/utils/getIncrementedCount.cjs.map +1 -1
  545. package/dist/utils/getIncrementedCount.js +2 -2
  546. package/dist/utils/getIncrementedCount.js.map +1 -1
  547. package/dist/utils/globalConfig.cjs.map +1 -1
  548. package/dist/utils/globalConfig.d.cts +2 -2
  549. package/dist/utils/globalConfig.d.cts.map +1 -1
  550. package/dist/utils/globalConfig.d.ts +2 -2
  551. package/dist/utils/globalConfig.d.ts.map +1 -1
  552. package/dist/utils/globalConfig.js.map +1 -1
  553. package/dist/utils/index.cjs +2 -2
  554. package/dist/utils/index.d.cts +3 -3
  555. package/dist/utils/index.d.ts +3 -3
  556. package/dist/utils/index.js +2 -2
  557. package/dist/utils/isDeviceIdEnabled.cjs.map +1 -1
  558. package/dist/utils/isDeviceIdEnabled.js.map +1 -1
  559. package/dist/utils/performanceObserver/performanceObserver.cjs +3 -3
  560. package/dist/utils/performanceObserver/performanceObserver.cjs.map +1 -1
  561. package/dist/utils/performanceObserver/performanceObserver.js +3 -3
  562. package/dist/utils/performanceObserver/performanceObserver.js.map +1 -1
  563. package/dist/utils/throttle.cjs +13 -9
  564. package/dist/utils/throttle.cjs.map +1 -1
  565. package/dist/utils/throttle.d.cts +6 -3
  566. package/dist/utils/throttle.d.cts.map +1 -1
  567. package/dist/utils/throttle.d.ts +6 -3
  568. package/dist/utils/throttle.d.ts.map +1 -1
  569. package/dist/utils/throttle.js +13 -9
  570. package/dist/utils/throttle.js.map +1 -1
  571. package/package.json +56 -56
  572. package/dist/api-sessions/api/SessionAPI/types.d.cts +0 -8
  573. package/dist/api-sessions/api/SessionAPI/types.d.cts.map +0 -1
  574. package/dist/api-sessions/api/SessionAPI/types.d.ts +0 -8
  575. package/dist/api-sessions/api/SessionAPI/types.d.ts.map +0 -1
  576. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs +0 -31
  577. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs.map +0 -1
  578. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.cts +0 -24
  579. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.cts.map +0 -1
  580. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.ts +0 -24
  581. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.ts.map +0 -1
  582. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js +0 -30
  583. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js.map +0 -1
  584. package/dist/api-sessions/manager/NoOpSpanSessionManager/index.cjs +0 -3
  585. package/dist/api-sessions/manager/NoOpSpanSessionManager/index.d.cts +0 -2
  586. package/dist/api-sessions/manager/NoOpSpanSessionManager/index.d.ts +0 -2
  587. package/dist/api-sessions/manager/NoOpSpanSessionManager/index.js +0 -2
  588. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs +0 -55
  589. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs.map +0 -1
  590. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.cts +0 -27
  591. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.cts.map +0 -1
  592. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts +0 -27
  593. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts.map +0 -1
  594. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js +0 -55
  595. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js.map +0 -1
  596. package/dist/api-sessions/manager/ProxySpanSessionManager/index.cjs +0 -3
  597. package/dist/api-sessions/manager/ProxySpanSessionManager/index.d.cts +0 -2
  598. package/dist/api-sessions/manager/ProxySpanSessionManager/index.d.ts +0 -2
  599. package/dist/api-sessions/manager/ProxySpanSessionManager/index.js +0 -2
  600. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs +0 -27
  601. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs.map +0 -1
  602. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.cts +0 -15
  603. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.cts.map +0 -1
  604. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.ts +0 -15
  605. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.ts.map +0 -1
  606. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js +0 -25
  607. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js.map +0 -1
  608. package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.cjs +0 -3
  609. package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.d.cts +0 -2
  610. package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.d.ts +0 -2
  611. package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.js +0 -2
  612. package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.cts +0 -9
  613. package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.cts.map +0 -1
  614. package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.ts +0 -9
  615. package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.ts.map +0 -1
  616. package/dist/instrumentations/fetch/index.cjs +0 -3
  617. package/dist/instrumentations/fetch/index.d.cts +0 -3
  618. package/dist/instrumentations/fetch/index.d.ts +0 -3
  619. package/dist/instrumentations/fetch/index.js +0 -2
  620. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs +0 -60
  621. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs.map +0 -1
  622. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.cts +0 -24
  623. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.cts.map +0 -1
  624. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.ts +0 -24
  625. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.ts.map +0 -1
  626. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js +0 -59
  627. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js.map +0 -1
  628. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.cjs +0 -19
  629. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.cjs.map +0 -1
  630. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.cts +0 -10
  631. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.cts.map +0 -1
  632. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.ts +0 -10
  633. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.ts.map +0 -1
  634. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.js +0 -16
  635. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.js.map +0 -1
  636. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.cjs +0 -3
  637. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.d.cts +0 -3
  638. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.d.ts +0 -3
  639. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.js +0 -2
  640. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.cts +0 -6
  641. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.cts.map +0 -1
  642. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.ts +0 -6
  643. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.ts.map +0 -1
  644. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs +0 -24
  645. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs.map +0 -1
  646. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.cts +0 -14
  647. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.cts.map +0 -1
  648. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.ts +0 -14
  649. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.ts.map +0 -1
  650. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js +0 -23
  651. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js.map +0 -1
  652. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.cjs +0 -3
  653. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.d.cts +0 -3
  654. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.d.ts +0 -3
  655. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.js +0 -2
  656. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.cts +0 -6
  657. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.cts.map +0 -1
  658. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.ts +0 -6
  659. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.ts.map +0 -1
  660. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs +0 -55
  661. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs.map +0 -1
  662. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.cts +0 -22
  663. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.cts.map +0 -1
  664. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.ts +0 -22
  665. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.ts.map +0 -1
  666. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js +0 -54
  667. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js.map +0 -1
  668. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.cjs +0 -7
  669. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.cjs.map +0 -1
  670. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.cts +0 -5
  671. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.cts.map +0 -1
  672. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.ts +0 -5
  673. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.ts.map +0 -1
  674. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.js +0 -6
  675. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.js.map +0 -1
  676. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.cjs +0 -3
  677. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.d.cts +0 -3
  678. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.d.ts +0 -3
  679. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.js +0 -2
  680. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.cjs +0 -0
  681. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.cts +0 -6
  682. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.cts.map +0 -1
  683. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.ts +0 -6
  684. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.ts.map +0 -1
  685. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.js +0 -0
  686. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs +0 -38
  687. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs.map +0 -1
  688. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.cts +0 -17
  689. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.cts.map +0 -1
  690. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.ts +0 -17
  691. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.ts.map +0 -1
  692. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js +0 -37
  693. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js.map +0 -1
  694. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.cjs +0 -3
  695. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.d.cts +0 -3
  696. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.d.ts +0 -3
  697. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.js +0 -2
  698. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.cjs +0 -0
  699. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.cts +0 -10
  700. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.cts.map +0 -1
  701. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.ts +0 -10
  702. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.ts.map +0 -1
  703. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.js +0 -0
  704. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs +0 -27
  705. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs.map +0 -1
  706. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.cts +0 -15
  707. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.cts.map +0 -1
  708. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.ts +0 -15
  709. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.ts.map +0 -1
  710. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js +0 -25
  711. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js.map +0 -1
  712. package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.cjs +0 -3
  713. package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.d.cts +0 -2
  714. package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.d.ts +0 -2
  715. package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.js +0 -2
  716. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.cjs +0 -0
  717. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.cts +0 -9
  718. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.cts.map +0 -1
  719. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.ts +0 -9
  720. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.ts.map +0 -1
  721. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.js +0 -0
  722. package/dist/instrumentations/xhr/index.cjs +0 -3
  723. package/dist/instrumentations/xhr/index.d.cts +0 -3
  724. package/dist/instrumentations/xhr/index.d.ts +0 -3
  725. package/dist/instrumentations/xhr/index.js +0 -2
  726. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs +0 -350
  727. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs.map +0 -1
  728. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts +0 -72
  729. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts.map +0 -1
  730. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts +0 -72
  731. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts.map +0 -1
  732. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js +0 -348
  733. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js.map +0 -1
  734. package/dist/managers/MXLSpanSessionManager/constants.cjs +0 -11
  735. package/dist/managers/MXLSpanSessionManager/constants.cjs.map +0 -1
  736. package/dist/managers/MXLSpanSessionManager/constants.d.cts +0 -7
  737. package/dist/managers/MXLSpanSessionManager/constants.d.cts.map +0 -1
  738. package/dist/managers/MXLSpanSessionManager/constants.d.ts +0 -7
  739. package/dist/managers/MXLSpanSessionManager/constants.d.ts.map +0 -1
  740. package/dist/managers/MXLSpanSessionManager/constants.js +0 -8
  741. package/dist/managers/MXLSpanSessionManager/constants.js.map +0 -1
  742. package/dist/managers/MXLSpanSessionManager/index.cjs +0 -3
  743. package/dist/managers/MXLSpanSessionManager/index.d.cts +0 -3
  744. package/dist/managers/MXLSpanSessionManager/index.d.ts +0 -3
  745. package/dist/managers/MXLSpanSessionManager/index.js +0 -2
  746. package/dist/managers/MXLSpanSessionManager/types.cjs +0 -0
  747. package/dist/managers/MXLSpanSessionManager/types.d.cts +0 -41
  748. package/dist/managers/MXLSpanSessionManager/types.d.cts.map +0 -1
  749. package/dist/managers/MXLSpanSessionManager/types.d.ts +0 -41
  750. package/dist/managers/MXLSpanSessionManager/types.d.ts.map +0 -1
  751. package/dist/managers/MXLSpanSessionManager/types.js +0 -0
  752. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs +0 -28
  753. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs.map +0 -1
  754. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.cts +0 -16
  755. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.cts.map +0 -1
  756. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.ts +0 -16
  757. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.ts.map +0 -1
  758. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.js +0 -26
  759. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.js.map +0 -1
  760. package/dist/processors/IdentifiableSessionLogRecordProcessor/index.cjs +0 -3
  761. package/dist/processors/IdentifiableSessionLogRecordProcessor/index.d.cts +0 -2
  762. package/dist/processors/IdentifiableSessionLogRecordProcessor/index.d.ts +0 -2
  763. package/dist/processors/IdentifiableSessionLogRecordProcessor/index.js +0 -2
  764. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.cjs +0 -0
  765. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.cts +0 -9
  766. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.cts.map +0 -1
  767. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.ts +0 -9
  768. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.ts.map +0 -1
  769. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.js +0 -0
  770. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs +0 -95
  771. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs.map +0 -1
  772. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.cts +0 -34
  773. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.cts.map +0 -1
  774. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.ts +0 -34
  775. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.ts.map +0 -1
  776. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js +0 -93
  777. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js.map +0 -1
  778. package/dist/processors/MXLSessionBatchedSpanProcessor/index.cjs +0 -3
  779. package/dist/processors/MXLSessionBatchedSpanProcessor/index.d.cts +0 -2
  780. package/dist/processors/MXLSessionBatchedSpanProcessor/index.d.ts +0 -2
  781. package/dist/processors/MXLSessionBatchedSpanProcessor/index.js +0 -2
  782. package/dist/processors/MXLSessionBatchedSpanProcessor/types.cjs +0 -0
  783. package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.cts +0 -19
  784. package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.cts.map +0 -1
  785. package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.ts +0 -19
  786. package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.ts.map +0 -1
  787. package/dist/processors/MXLSessionBatchedSpanProcessor/types.js +0 -0
  788. package/dist/sdk/setupSessionRecorder.cjs +0 -87
  789. package/dist/sdk/setupSessionRecorder.cjs.map +0 -1
  790. package/dist/sdk/setupSessionRecorder.d.cts +0 -30
  791. package/dist/sdk/setupSessionRecorder.d.cts.map +0 -1
  792. package/dist/sdk/setupSessionRecorder.d.ts +0 -30
  793. package/dist/sdk/setupSessionRecorder.d.ts.map +0 -1
  794. package/dist/sdk/setupSessionRecorder.js +0 -83
  795. package/dist/sdk/setupSessionRecorder.js.map +0 -1
  796. package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs +0 -116
  797. package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs.map +0 -1
  798. package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.cts +0 -42
  799. package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.cts.map +0 -1
  800. package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.ts +0 -42
  801. package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.ts.map +0 -1
  802. package/dist/utils/MXLSpanStorage/MXLSpanStorage.js +0 -114
  803. package/dist/utils/MXLSpanStorage/MXLSpanStorage.js.map +0 -1
  804. package/dist/utils/MXLSpanStorage/index.cjs +0 -3
  805. package/dist/utils/MXLSpanStorage/index.d.cts +0 -2
  806. package/dist/utils/MXLSpanStorage/index.d.ts +0 -2
  807. package/dist/utils/MXLSpanStorage/index.js +0 -2
  808. package/dist/utils/MXLSpanStorage/types.cjs +0 -0
  809. package/dist/utils/MXLSpanStorage/types.d.cts +0 -2
  810. package/dist/utils/MXLSpanStorage/types.d.ts +0 -2
  811. package/dist/utils/MXLSpanStorage/types.js +0 -0
  812. /package/dist/{api-sessions/api/SessionAPI → instrumentations/replay/ReplayInstrumentation}/types.cjs +0 -0
  813. /package/dist/{api-sessions/api/SessionAPI → instrumentations/replay/ReplayInstrumentation}/types.js +0 -0
  814. /package/dist/{instrumentations/fetch/MXLFetchInstrumentation → managers/MXLUserSessionManager}/types.cjs +0 -0
  815. /package/dist/{instrumentations/fetch/MXLFetchInstrumentation → managers/MXLUserSessionManager}/types.js +0 -0
  816. /package/dist/{instrumentations/session/SpanSessionBrowserActivityInstrumentation → processors/MXLSessionPartBatchedSpanProcessor}/types.cjs +0 -0
  817. /package/dist/{instrumentations/session/SpanSessionBrowserActivityInstrumentation → processors/MXLSessionPartBatchedSpanProcessor}/types.js +0 -0
  818. /package/dist/{instrumentations/session/SpanSessionOnLoadInstrumentation → processors/UserSessionLogRecordProcessor}/types.cjs +0 -0
  819. /package/dist/{instrumentations/session/SpanSessionOnLoadInstrumentation → processors/UserSessionLogRecordProcessor}/types.js +0 -0
@@ -1,30 +0,0 @@
1
- import { SessionRecorderUserConfig, SessionRecordingControl } from "./types.js";
2
- import { DiagLogger } from "@opentelemetry/api";
3
- import { Resource } from "@opentelemetry/resources";
4
- import { WebTracerProvider } from "@opentelemetry/sdk-trace-web";
5
- import * as _$_safaricom_mxl_session_recorder0 from "@safaricom-mxl/session-recorder";
6
-
7
- //#region src/sdk/setupSessionRecorder.d.ts
8
- type SessionRecorderModule = typeof _$_safaricom_mxl_session_recorder0;
9
- declare function loadSessionRecorderModule(): Promise<SessionRecorderModule>;
10
- declare function resetSessionRecorderModuleCache(): void;
11
- declare function setSessionRecorderModuleLoaderForTests(loader: (() => Promise<SessionRecorderModule>) | undefined): void;
12
- interface SpanSessionManagerForRecorder {
13
- getSessionId: () => string | null;
14
- addSessionStartedListener: (listener: () => void) => () => void;
15
- }
16
- interface CreateSessionRecordingControlArgs {
17
- resource: Resource;
18
- spanSessionManager: SpanSessionManagerForRecorder;
19
- tracerProvider: WebTracerProvider;
20
- appID: string;
21
- userID: string;
22
- mxlDataURL?: string;
23
- recordUserSessions: boolean;
24
- sessionRecorder?: SessionRecorderUserConfig;
25
- diagLogger: DiagLogger;
26
- }
27
- declare function createSessionRecordingControl(args: CreateSessionRecordingControlArgs): SessionRecordingControl;
28
- //#endregion
29
- export { createSessionRecordingControl, loadSessionRecorderModule, resetSessionRecorderModuleCache, setSessionRecorderModuleLoaderForTests };
30
- //# sourceMappingURL=setupSessionRecorder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setupSessionRecorder.d.ts","names":[],"sources":["../../src/sdk/setupSessionRecorder.ts"],"mappings":";;;;;;;KAWK,qBAAA,UAAqB,kCAAA;AAAA,iBAOV,yBAAA,CAAA,GAA6B,OAAA,CAAQ,qBAAA;AAAA,iBASrC,+BAAA,CAAA;AAAA,iBAKA,sCAAA,CACd,MAAA,SAAe,OAAA,CAAQ,qBAAA;AAAA,UAMf,6BAAA;EACR,YAAA;EACA,yBAAA,GAA4B,QAAA;AAAA;AAAA,UAGpB,iCAAA;EACR,QAAA,EAAU,QAAA;EACV,kBAAA,EAAoB,6BAAA;EACpB,cAAA,EAAgB,iBAAA;EAChB,KAAA;EACA,MAAA;EACA,UAAA;EACA,kBAAA;EACA,eAAA,GAAkB,yBAAA;EAClB,UAAA,EAAY,UAAA;AAAA;AAAA,iBA6BE,6BAAA,CACd,IAAA,EAAM,iCAAA,GACL,uBAAA"}
@@ -1,83 +0,0 @@
1
- import { getMXLHeaders } from "../exporters/utils.js";
2
- import { getLogEndpoint } from "../exporters/MXLLogExporter/utils.js";
3
- //#region src/sdk/setupSessionRecorder.ts
4
- let sessionRecorderModulePromise;
5
- let sessionRecorderModuleLoaderOverride;
6
- function loadSessionRecorderModule() {
7
- if (sessionRecorderModuleLoaderOverride) return sessionRecorderModuleLoaderOverride();
8
- sessionRecorderModulePromise ??= import("@safaricom-mxl/session-recorder");
9
- return sessionRecorderModulePromise;
10
- }
11
- function resetSessionRecorderModuleCache() {
12
- sessionRecorderModulePromise = void 0;
13
- sessionRecorderModuleLoaderOverride = void 0;
14
- }
15
- function setSessionRecorderModuleLoaderForTests(loader) {
16
- sessionRecorderModuleLoaderOverride = loader;
17
- sessionRecorderModulePromise = void 0;
18
- }
19
- function buildInitConfig({ resource, spanSessionManager, tracerProvider, appID, userID, mxlDataURL, sessionRecorder: userOptions }, sessionRecorderVersion) {
20
- return {
21
- resource,
22
- getSessionId: () => spanSessionManager.getSessionId(),
23
- tracer: tracerProvider.getTracer("mxl.session-recorder", sessionRecorderVersion),
24
- url: getLogEndpoint(appID, mxlDataURL),
25
- headers: getMXLHeaders(appID, userID),
26
- ...userOptions
27
- };
28
- }
29
- function createSessionRecordingControl(args) {
30
- let sessionRecorderModule;
31
- let initStarted = false;
32
- let initComplete = false;
33
- let initFailed = false;
34
- let pendingInit;
35
- const getSessionRecorder = () => sessionRecorderModule?.SessionRecorder;
36
- const waitForSessionStart = () => new Promise((resolve) => {
37
- const removeListener = args.spanSessionManager.addSessionStartedListener(() => {
38
- removeListener();
39
- resolve();
40
- });
41
- });
42
- const initSessionRecorderWhenReady = () => {
43
- if (initComplete || initFailed) return Promise.resolve();
44
- pendingInit ??= (async () => {
45
- if (args.spanSessionManager.getSessionId() === null) await waitForSessionStart();
46
- if (initComplete || initFailed || initStarted) return;
47
- initStarted = true;
48
- try {
49
- sessionRecorderModule = await loadSessionRecorderModule();
50
- const config = buildInitConfig(args, sessionRecorderModule.VERSION);
51
- sessionRecorderModule.SessionRecorder.init(config);
52
- initComplete = true;
53
- } catch (error) {
54
- initFailed = true;
55
- args.diagLogger.error("Failed to initialize session recorder", error);
56
- } finally {
57
- pendingInit = void 0;
58
- }
59
- })();
60
- return pendingInit;
61
- };
62
- if (args.recordUserSessions) initSessionRecorderWhenReady();
63
- return {
64
- isRecording: () => Boolean(getSessionRecorder()?.isRecording()),
65
- setEnabled: (enabled) => {
66
- if (enabled) {
67
- if (initComplete) {
68
- getSessionRecorder()?.setEnabled(true);
69
- return;
70
- }
71
- initSessionRecorderWhenReady().then(() => {
72
- if (initComplete) getSessionRecorder()?.setEnabled(true);
73
- });
74
- return;
75
- }
76
- if (initComplete) getSessionRecorder()?.setEnabled(false);
77
- }
78
- };
79
- }
80
- //#endregion
81
- export { createSessionRecordingControl, loadSessionRecorderModule, resetSessionRecorderModuleCache, setSessionRecorderModuleLoaderForTests };
82
-
83
- //# sourceMappingURL=setupSessionRecorder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setupSessionRecorder.js","names":[],"sources":["../../src/sdk/setupSessionRecorder.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { WebTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport type { SessionRecorderConfig } from '@safaricom-mxl/session-recorder';\nimport { getLogEndpoint } from '../exporters/MXLLogExporter/utils';\nimport { getMXLHeaders } from '../exporters/utils';\nimport type {\n SessionRecorderUserConfig,\n SessionRecordingControl,\n} from './types';\n\ntype SessionRecorderModule = typeof import('@safaricom-mxl/session-recorder');\n\nlet sessionRecorderModulePromise: Promise<SessionRecorderModule> | undefined;\nlet sessionRecorderModuleLoaderOverride:\n | (() => Promise<SessionRecorderModule>)\n | undefined;\n\nexport function loadSessionRecorderModule(): Promise<SessionRecorderModule> {\n if (sessionRecorderModuleLoaderOverride) {\n return sessionRecorderModuleLoaderOverride();\n }\n\n sessionRecorderModulePromise ??= import('@safaricom-mxl/session-recorder');\n return sessionRecorderModulePromise;\n}\n\nexport function resetSessionRecorderModuleCache(): void {\n sessionRecorderModulePromise = undefined;\n sessionRecorderModuleLoaderOverride = undefined;\n}\n\nexport function setSessionRecorderModuleLoaderForTests(\n loader: (() => Promise<SessionRecorderModule>) | undefined,\n): void {\n sessionRecorderModuleLoaderOverride = loader;\n sessionRecorderModulePromise = undefined;\n}\n\ninterface SpanSessionManagerForRecorder {\n getSessionId: () => string | null;\n addSessionStartedListener: (listener: () => void) => () => void;\n}\n\ninterface CreateSessionRecordingControlArgs {\n resource: Resource;\n spanSessionManager: SpanSessionManagerForRecorder;\n tracerProvider: WebTracerProvider;\n appID: string;\n userID: string;\n mxlDataURL?: string;\n recordUserSessions: boolean;\n sessionRecorder?: SessionRecorderUserConfig;\n diagLogger: DiagLogger;\n}\n\nfunction buildInitConfig(\n {\n resource,\n spanSessionManager,\n tracerProvider,\n appID,\n userID,\n mxlDataURL,\n sessionRecorder: userOptions,\n }: CreateSessionRecordingControlArgs,\n sessionRecorderVersion: string,\n): SessionRecorderConfig {\n const tracer = tracerProvider.getTracer(\n 'mxl.session-recorder',\n sessionRecorderVersion,\n );\n return {\n resource,\n getSessionId: () => spanSessionManager.getSessionId(),\n tracer,\n url: getLogEndpoint(appID, mxlDataURL),\n headers: getMXLHeaders(appID, userID),\n ...userOptions,\n } as SessionRecorderConfig;\n}\n\nexport function createSessionRecordingControl(\n args: CreateSessionRecordingControlArgs,\n): SessionRecordingControl {\n let sessionRecorderModule: SessionRecorderModule | undefined;\n let initStarted = false;\n let initComplete = false;\n let initFailed = false;\n let pendingInit: Promise<void> | undefined;\n\n const getSessionRecorder = ():\n | SessionRecorderModule['SessionRecorder']\n | undefined => sessionRecorderModule?.SessionRecorder;\n\n const waitForSessionStart = (): Promise<void> =>\n new Promise((resolve) => {\n const removeListener = args.spanSessionManager.addSessionStartedListener(\n () => {\n removeListener();\n resolve();\n },\n );\n });\n\n const initSessionRecorderWhenReady = (): Promise<void> => {\n if (initComplete || initFailed) {\n return Promise.resolve();\n }\n\n pendingInit ??= (async () => {\n if (args.spanSessionManager.getSessionId() === null) {\n await waitForSessionStart();\n }\n\n if (initComplete || initFailed || initStarted) {\n return;\n }\n initStarted = true;\n\n try {\n sessionRecorderModule = await loadSessionRecorderModule();\n const config = buildInitConfig(args, sessionRecorderModule.VERSION);\n sessionRecorderModule.SessionRecorder.init(config);\n initComplete = true;\n } catch (error) {\n initFailed = true;\n args.diagLogger.error('Failed to initialize session recorder', error);\n } finally {\n pendingInit = undefined;\n }\n })();\n\n return pendingInit;\n };\n\n if (args.recordUserSessions) {\n void initSessionRecorderWhenReady();\n }\n\n return {\n isRecording: () => Boolean(getSessionRecorder()?.isRecording()),\n setEnabled: (enabled: boolean) => {\n if (enabled) {\n if (initComplete) {\n getSessionRecorder()?.setEnabled(true);\n return;\n }\n void initSessionRecorderWhenReady().then(() => {\n if (initComplete) {\n getSessionRecorder()?.setEnabled(true);\n }\n });\n return;\n }\n\n if (initComplete) {\n getSessionRecorder()?.setEnabled(false);\n }\n },\n };\n}\n"],"mappings":";;;AAaA,IAAI;AACJ,IAAI;AAIJ,SAAgB,4BAA4D;AAC1E,KAAI,oCACF,QAAO,qCAAqC;AAG9C,kCAAiC,OAAO;AACxC,QAAO;;AAGT,SAAgB,kCAAwC;AACtD,gCAA+B,KAAA;AAC/B,uCAAsC,KAAA;;AAGxC,SAAgB,uCACd,QACM;AACN,uCAAsC;AACtC,gCAA+B,KAAA;;AAoBjC,SAAS,gBACP,EACE,UACA,oBACA,gBACA,OACA,QACA,YACA,iBAAiB,eAEnB,wBACuB;AAKvB,QAAO;EACL;EACA,oBAAoB,mBAAmB,cAAc;EACrD,QAPa,eAAe,UAC5B,wBACA,uBAKM;EACN,KAAK,eAAe,OAAO,WAAW;EACtC,SAAS,cAAc,OAAO,OAAO;EACrC,GAAG;EACJ;;AAGH,SAAgB,8BACd,MACyB;CACzB,IAAI;CACJ,IAAI,cAAc;CAClB,IAAI,eAAe;CACnB,IAAI,aAAa;CACjB,IAAI;CAEJ,MAAM,2BAEW,uBAAuB;CAExC,MAAM,4BACJ,IAAI,SAAS,YAAY;EACvB,MAAM,iBAAiB,KAAK,mBAAmB,gCACvC;AACJ,mBAAgB;AAChB,YAAS;IAEZ;GACD;CAEJ,MAAM,qCAAoD;AACxD,MAAI,gBAAgB,WAClB,QAAO,QAAQ,SAAS;AAG1B,mBAAiB,YAAY;AAC3B,OAAI,KAAK,mBAAmB,cAAc,KAAK,KAC7C,OAAM,qBAAqB;AAG7B,OAAI,gBAAgB,cAAc,YAChC;AAEF,iBAAc;AAEd,OAAI;AACF,4BAAwB,MAAM,2BAA2B;IACzD,MAAM,SAAS,gBAAgB,MAAM,sBAAsB,QAAQ;AACnE,0BAAsB,gBAAgB,KAAK,OAAO;AAClD,mBAAe;YACR,OAAO;AACd,iBAAa;AACb,SAAK,WAAW,MAAM,yCAAyC,MAAM;aAC7D;AACR,kBAAc,KAAA;;MAEd;AAEJ,SAAO;;AAGT,KAAI,KAAK,mBACF,+BAA8B;AAGrC,QAAO;EACL,mBAAmB,QAAQ,oBAAoB,EAAE,aAAa,CAAC;EAC/D,aAAa,YAAqB;AAChC,OAAI,SAAS;AACX,QAAI,cAAc;AAChB,yBAAoB,EAAE,WAAW,KAAK;AACtC;;AAEG,kCAA8B,CAAC,WAAW;AAC7C,SAAI,aACF,qBAAoB,EAAE,WAAW,KAAK;MAExC;AACF;;AAGF,OAAI,aACF,qBAAoB,EAAE,WAAW,MAAM;;EAG5C"}
@@ -1,116 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../../_virtual/_rolldown/runtime.cjs");
3
- const require_constants_attributes = require("../../constants/attributes.cjs");
4
- let _opentelemetry_api = require("@opentelemetry/api");
5
- let _opentelemetry_resources = require("@opentelemetry/resources");
6
- let _opentelemetry_sdk_trace_web = require("@opentelemetry/sdk-trace-web");
7
- //#region src/utils/MXLSpanStorage/MXLSpanStorage.ts
8
- const PENDING_SPANS_STORAGE_KEY_PREFIX = "mxl_pending_";
9
- const MAX_PENDING_SPANS_ITEMS = 10;
10
- var MXLSpanStorage = class {
11
- _noExportTracer;
12
- _storage;
13
- _diag;
14
- _onExpiredSpansExport;
15
- _storedSpansExpireTimeoutMS;
16
- _spanSessionManager;
17
- _checkExpiredSpansInterval;
18
- constructor({ resource = (0, _opentelemetry_resources.emptyResource)(), storage = window.localStorage, diag: diagParam = _opentelemetry_api.diag.createComponentLogger({ namespace: "MXLSpanStorage" }), storedSpansExpireTimeoutMS = 3600 * 1e3, onExpiredSpansExport, spanSessionManager }) {
19
- this._noExportTracer = new _opentelemetry_sdk_trace_web.BasicTracerProvider({ resource }).getTracer("mxl-web-sdk-sessions");
20
- this._storage = storage;
21
- this._diag = diagParam;
22
- this._storedSpansExpireTimeoutMS = storedSpansExpireTimeoutMS;
23
- this._onExpiredSpansExport = onExpiredSpansExport;
24
- this._spanSessionManager = spanSessionManager;
25
- this.startExpiredSpansCheck();
26
- }
27
- storePendingSpans(sessionId, sessionSpan, pendingSpans) {
28
- try {
29
- this.clearStoredSpans(sessionId);
30
- if (this._getPendingSpansKeys().length >= MAX_PENDING_SPANS_ITEMS) {
31
- this._spanSessionManager.incrSessionCountForKey(require_constants_attributes.KEY_MXL_MAX_PENDING_SPANS_REACHED);
32
- this._diag.warn("Not storing pending spans as the max number of items was reached");
33
- return;
34
- }
35
- const key = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_${Date.now()}`;
36
- this._storage.setItem(key, JSON.stringify([sessionSpan, ...pendingSpans], (key, value) => key.startsWith("_") ? void 0 : value));
37
- this._diag.debug(`Stored pending span: ${key}`);
38
- } catch (error) {
39
- this._diag.error("Failed to store spans to storage:", error);
40
- }
41
- }
42
- clearStoredSpans(sessionId) {
43
- try {
44
- const prefix = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_`;
45
- this._getPendingSpansKeys().forEach((key) => {
46
- if (key.startsWith(prefix)) this._storage.removeItem(key);
47
- });
48
- } catch (error) {
49
- this._diag.error("Failed to clear stored spans from storage:", error);
50
- }
51
- }
52
- startExpiredSpansCheck() {
53
- this._checkExpiredSpansInterval = setInterval(() => {
54
- this.checkAndExportExpiredSpans();
55
- }, 300 * 1e3);
56
- }
57
- stopExpiredSpansCheck() {
58
- if (this._checkExpiredSpansInterval) {
59
- clearInterval(this._checkExpiredSpansInterval);
60
- this._checkExpiredSpansInterval = void 0;
61
- }
62
- }
63
- checkAndExportExpiredSpans() {
64
- try {
65
- const keys = this._getPendingSpansKeys();
66
- if (keys.length === 0) return;
67
- const currentTime = Date.now();
68
- keys.forEach((key) => {
69
- const parts = key.split("_");
70
- const storedTime = parseInt(parts[parts.length - 1], 10);
71
- if (Number.isNaN(storedTime)) {
72
- this._diag.error("Found invalid timestamp in stored span:", storedTime);
73
- this._storage.removeItem(key);
74
- }
75
- if (currentTime - storedTime <= this._storedSpansExpireTimeoutMS) return;
76
- const storedData = this._storage.getItem(key);
77
- if (!storedData) return;
78
- try {
79
- const spans = [];
80
- for (const storedSpan of JSON.parse(storedData)) {
81
- const span = this._noExportTracer.startSpan(storedSpan.name, {
82
- kind: storedSpan.kind,
83
- attributes: storedSpan.attributes,
84
- links: storedSpan.links,
85
- startTime: storedSpan.startTime
86
- });
87
- span.setStatus(storedSpan.status);
88
- span.end(storedSpan.endTime);
89
- spans.push(span);
90
- }
91
- if (this._onExpiredSpansExport && spans.length > 0) this._onExpiredSpansExport(spans);
92
- } catch (e) {
93
- this._diag.error("Failed to process expired spans:", e);
94
- }
95
- this._storage.removeItem(key);
96
- });
97
- } catch (e) {
98
- this._diag.error("Failed to check and export expired spans:", e);
99
- }
100
- }
101
- _getPendingSpansKeys() {
102
- const keys = [];
103
- for (let i = 0; i < this._storage.length; i++) {
104
- const key = this._storage.key(i);
105
- if (key?.startsWith(PENDING_SPANS_STORAGE_KEY_PREFIX)) keys.push(key);
106
- }
107
- return keys;
108
- }
109
- destroy() {
110
- this.stopExpiredSpansCheck();
111
- }
112
- };
113
- //#endregion
114
- exports.MXLSpanStorage = MXLSpanStorage;
115
-
116
- //# sourceMappingURL=MXLSpanStorage.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MXLSpanStorage.cjs","names":["diag","BasicTracerProvider","KEY_MXL_MAX_PENDING_SPANS_REACHED"],"sources":["../../../src/utils/MXLSpanStorage/MXLSpanStorage.ts"],"sourcesContent":["import type { DiagLogger, Tracer } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Resource } from '@opentelemetry/resources';\nimport { emptyResource } from '@opentelemetry/resources';\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-web';\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport { KEY_MXL_MAX_PENDING_SPANS_REACHED } from '../../constants';\nimport type { SpanSessionManagerInternal } from '../../managers';\n\nconst PENDING_SPANS_STORAGE_KEY_PREFIX = 'mxl_pending_';\nconst MAX_PENDING_SPANS_ITEMS = 10;\n\nexport interface SpanStorageOptions {\n spanSessionManager: SpanSessionManagerInternal;\n resource?: Resource;\n storage?: Storage;\n diag?: DiagLogger;\n storedSpansExpireTimeoutMS?: number;\n onExpiredSpansExport?: (spans: ReadableSpan[]) => void;\n}\n\n// MXLSpanStorage is used to keep pending spans that are not meant to be exported (yet) in localStorage,\n// and periodically checks whenever those stored spans are ready to be exported.\n// This functionality has some custom logic to be able to store these spans as JSONs and then recreate them back\n// that could eventually be improved. In particular the things that would need to be improved are:\n// - Avoid serializing as JSON and instead try to use a customExporter that produces the body as it was going to be\n// sent over the wire (serialized, compressed, etc), and store that, so that later when it decides to export those,\n// it's just using that body as a regular fetch call.\n// - Create a service worker that is responsible for tracking the pending spans and deciding when to actually export them.\n// That way we would avoid a potential race condition where two different tabs would try to export the same data.\n// - Make this a more comprehensive component so that the MXLSessionBatchedSpanProcessor doesn't need to be in the\n// middle of SpanSessionVisibilityInstrumentation and this component. Ideally this component would know when and how\n// to take snapshots of the current pending spans and the current session span at any moment, so that the visibility\n// instrumentation doesn't need to be telling that to the batch span processor.\nexport class MXLSpanStorage {\n private readonly _noExportTracer: Tracer;\n private readonly _storage: Storage;\n private readonly _diag: DiagLogger;\n private readonly _onExpiredSpansExport?: (spans: ReadableSpan[]) => void;\n private readonly _storedSpansExpireTimeoutMS: number;\n private readonly _spanSessionManager: SpanSessionManagerInternal;\n private _checkExpiredSpansInterval?: ReturnType<typeof setInterval>;\n\n public constructor({\n resource = emptyResource(),\n storage = window.localStorage,\n diag: diagParam = diag.createComponentLogger({\n namespace: 'MXLSpanStorage',\n }),\n storedSpansExpireTimeoutMS = 60 * 60 * 1000, // 1 hour\n onExpiredSpansExport,\n spanSessionManager,\n }: SpanStorageOptions) {\n this._noExportTracer = new BasicTracerProvider({ resource }).getTracer(\n 'mxl-web-sdk-sessions',\n );\n this._storage = storage;\n this._diag = diagParam;\n this._storedSpansExpireTimeoutMS = storedSpansExpireTimeoutMS;\n this._onExpiredSpansExport = onExpiredSpansExport;\n this._spanSessionManager = spanSessionManager;\n\n this.startExpiredSpansCheck();\n }\n\n public storePendingSpans(\n sessionId: string,\n sessionSpan: ReadableSpan,\n pendingSpans: ReadableSpan[],\n ): void {\n try {\n // If this session was already stored, clear it first:\n this.clearStoredSpans(sessionId);\n\n if (this._getPendingSpansKeys().length >= MAX_PENDING_SPANS_ITEMS) {\n this._spanSessionManager.incrSessionCountForKey(\n KEY_MXL_MAX_PENDING_SPANS_REACHED,\n );\n this._diag.warn(\n 'Not storing pending spans as the max number of items was reached',\n );\n return;\n }\n\n const key = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_${Date.now()}`;\n this._storage.setItem(\n key,\n JSON.stringify([sessionSpan, ...pendingSpans], (key, value) =>\n key.startsWith('_') ? undefined : value,\n ),\n );\n\n this._diag.debug(`Stored pending span: ${key}`);\n } catch (error) {\n this._diag.error('Failed to store spans to storage:', error);\n }\n }\n\n public clearStoredSpans(sessionId: string): void {\n try {\n const prefix = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_`;\n this._getPendingSpansKeys().forEach((key) => {\n if (key.startsWith(prefix)) {\n this._storage.removeItem(key);\n }\n });\n } catch (error) {\n this._diag.error('Failed to clear stored spans from storage:', error);\n }\n }\n\n public startExpiredSpansCheck(): void {\n this._checkExpiredSpansInterval = setInterval(\n () => {\n this.checkAndExportExpiredSpans();\n },\n 5 * 60 * 1000,\n ); // Check every 5 minutes\n }\n\n public stopExpiredSpansCheck(): void {\n if (this._checkExpiredSpansInterval) {\n clearInterval(this._checkExpiredSpansInterval);\n this._checkExpiredSpansInterval = undefined;\n }\n }\n\n public checkAndExportExpiredSpans(): void {\n try {\n const keys = this._getPendingSpansKeys();\n if (keys.length === 0) {\n return;\n }\n\n const currentTime = Date.now();\n keys.forEach((key) => {\n const parts = key.split('_');\n const storedTime = parseInt(parts[parts.length - 1], 10);\n\n if (Number.isNaN(storedTime)) {\n this._diag.error(\n 'Found invalid timestamp in stored span:',\n storedTime,\n );\n this._storage.removeItem(key);\n }\n\n if (currentTime - storedTime <= this._storedSpansExpireTimeoutMS) {\n return;\n }\n\n const storedData = this._storage.getItem(key);\n if (!storedData) return;\n\n try {\n const spans: ReadableSpan[] = [];\n for (const storedSpan of JSON.parse(storedData) as ReadableSpan[]) {\n const span = this._noExportTracer.startSpan(storedSpan.name, {\n kind: storedSpan.kind,\n attributes: storedSpan.attributes,\n links: storedSpan.links,\n startTime: storedSpan.startTime,\n });\n span.setStatus(storedSpan.status);\n span.end(storedSpan.endTime);\n spans.push(span as unknown as ReadableSpan);\n }\n\n if (this._onExpiredSpansExport && spans.length > 0) {\n this._onExpiredSpansExport(spans);\n }\n } catch (e) {\n this._diag.error('Failed to process expired spans:', e);\n }\n\n // Always remove the storage item even if processing failed\n this._storage.removeItem(key);\n });\n } catch (e) {\n this._diag.error('Failed to check and export expired spans:', e);\n }\n }\n\n public _getPendingSpansKeys(): string[] {\n const keys: string[] = [];\n for (let i = 0; i < this._storage.length; i++) {\n const key = this._storage.key(i);\n if (key?.startsWith(PENDING_SPANS_STORAGE_KEY_PREFIX)) {\n keys.push(key);\n }\n }\n return keys;\n }\n\n public destroy(): void {\n this.stopExpiredSpansCheck();\n }\n}\n"],"mappings":";;;;;;;AASA,MAAM,mCAAmC;AACzC,MAAM,0BAA0B;AAwBhC,IAAa,iBAAb,MAA4B;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAmB,EACjB,YAAA,GAAA,yBAAA,gBAA0B,EAC1B,UAAU,OAAO,cACjB,MAAM,YAAYA,mBAAAA,KAAK,sBAAsB,EAC3C,WAAW,kBACZ,CAAC,EACF,6BAA6B,OAAU,KACvC,sBACA,sBACqB;AACrB,OAAK,kBAAkB,IAAIC,6BAAAA,oBAAoB,EAAE,UAAU,CAAC,CAAC,UAC3D,uBACD;AACD,OAAK,WAAW;AAChB,OAAK,QAAQ;AACb,OAAK,8BAA8B;AACnC,OAAK,wBAAwB;AAC7B,OAAK,sBAAsB;AAE3B,OAAK,wBAAwB;;CAG/B,kBACE,WACA,aACA,cACM;AACN,MAAI;AAEF,QAAK,iBAAiB,UAAU;AAEhC,OAAI,KAAK,sBAAsB,CAAC,UAAU,yBAAyB;AACjE,SAAK,oBAAoB,uBACvBC,6BAAAA,kCACD;AACD,SAAK,MAAM,KACT,mEACD;AACD;;GAGF,MAAM,MAAM,GAAG,mCAAmC,UAAU,GAAG,KAAK,KAAK;AACzE,QAAK,SAAS,QACZ,KACA,KAAK,UAAU,CAAC,aAAa,GAAG,aAAa,GAAG,KAAK,UACnD,IAAI,WAAW,IAAI,GAAG,KAAA,IAAY,MACnC,CACF;AAED,QAAK,MAAM,MAAM,wBAAwB,MAAM;WACxC,OAAO;AACd,QAAK,MAAM,MAAM,qCAAqC,MAAM;;;CAIhE,iBAAwB,WAAyB;AAC/C,MAAI;GACF,MAAM,SAAS,GAAG,mCAAmC,UAAU;AAC/D,QAAK,sBAAsB,CAAC,SAAS,QAAQ;AAC3C,QAAI,IAAI,WAAW,OAAO,CACxB,MAAK,SAAS,WAAW,IAAI;KAE/B;WACK,OAAO;AACd,QAAK,MAAM,MAAM,8CAA8C,MAAM;;;CAIzE,yBAAsC;AACpC,OAAK,6BAA6B,kBAC1B;AACJ,QAAK,4BAA4B;KAEnC,MAAS,IACV;;CAGH,wBAAqC;AACnC,MAAI,KAAK,4BAA4B;AACnC,iBAAc,KAAK,2BAA2B;AAC9C,QAAK,6BAA6B,KAAA;;;CAItC,6BAA0C;AACxC,MAAI;GACF,MAAM,OAAO,KAAK,sBAAsB;AACxC,OAAI,KAAK,WAAW,EAClB;GAGF,MAAM,cAAc,KAAK,KAAK;AAC9B,QAAK,SAAS,QAAQ;IACpB,MAAM,QAAQ,IAAI,MAAM,IAAI;IAC5B,MAAM,aAAa,SAAS,MAAM,MAAM,SAAS,IAAI,GAAG;AAExD,QAAI,OAAO,MAAM,WAAW,EAAE;AAC5B,UAAK,MAAM,MACT,2CACA,WACD;AACD,UAAK,SAAS,WAAW,IAAI;;AAG/B,QAAI,cAAc,cAAc,KAAK,4BACnC;IAGF,MAAM,aAAa,KAAK,SAAS,QAAQ,IAAI;AAC7C,QAAI,CAAC,WAAY;AAEjB,QAAI;KACF,MAAM,QAAwB,EAAE;AAChC,UAAK,MAAM,cAAc,KAAK,MAAM,WAAW,EAAoB;MACjE,MAAM,OAAO,KAAK,gBAAgB,UAAU,WAAW,MAAM;OAC3D,MAAM,WAAW;OACjB,YAAY,WAAW;OACvB,OAAO,WAAW;OAClB,WAAW,WAAW;OACvB,CAAC;AACF,WAAK,UAAU,WAAW,OAAO;AACjC,WAAK,IAAI,WAAW,QAAQ;AAC5B,YAAM,KAAK,KAAgC;;AAG7C,SAAI,KAAK,yBAAyB,MAAM,SAAS,EAC/C,MAAK,sBAAsB,MAAM;aAE5B,GAAG;AACV,UAAK,MAAM,MAAM,oCAAoC,EAAE;;AAIzD,SAAK,SAAS,WAAW,IAAI;KAC7B;WACK,GAAG;AACV,QAAK,MAAM,MAAM,6CAA6C,EAAE;;;CAIpE,uBAAwC;EACtC,MAAM,OAAiB,EAAE;AACzB,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,SAAS,QAAQ,KAAK;GAC7C,MAAM,MAAM,KAAK,SAAS,IAAI,EAAE;AAChC,OAAI,KAAK,WAAW,iCAAiC,CACnD,MAAK,KAAK,IAAI;;AAGlB,SAAO;;CAGT,UAAuB;AACrB,OAAK,uBAAuB"}
@@ -1,42 +0,0 @@
1
- import { SpanSessionManagerInternal } from "../../managers/MXLSpanSessionManager/types.cjs";
2
- import { DiagLogger } from "@opentelemetry/api";
3
- import { ReadableSpan } from "@opentelemetry/sdk-trace-web";
4
- import { Resource } from "@opentelemetry/resources";
5
-
6
- //#region src/utils/MXLSpanStorage/MXLSpanStorage.d.ts
7
- interface SpanStorageOptions {
8
- spanSessionManager: SpanSessionManagerInternal;
9
- resource?: Resource;
10
- storage?: Storage;
11
- diag?: DiagLogger;
12
- storedSpansExpireTimeoutMS?: number;
13
- onExpiredSpansExport?: (spans: ReadableSpan[]) => void;
14
- }
15
- declare class MXLSpanStorage {
16
- private readonly _noExportTracer;
17
- private readonly _storage;
18
- private readonly _diag;
19
- private readonly _onExpiredSpansExport?;
20
- private readonly _storedSpansExpireTimeoutMS;
21
- private readonly _spanSessionManager;
22
- private _checkExpiredSpansInterval?;
23
- constructor({
24
- resource,
25
- storage,
26
- diag: diagParam,
27
- storedSpansExpireTimeoutMS,
28
- // 1 hour
29
- onExpiredSpansExport,
30
- spanSessionManager
31
- }: SpanStorageOptions);
32
- storePendingSpans(sessionId: string, sessionSpan: ReadableSpan, pendingSpans: ReadableSpan[]): void;
33
- clearStoredSpans(sessionId: string): void;
34
- startExpiredSpansCheck(): void;
35
- stopExpiredSpansCheck(): void;
36
- checkAndExportExpiredSpans(): void;
37
- _getPendingSpansKeys(): string[];
38
- destroy(): void;
39
- }
40
- //#endregion
41
- export { MXLSpanStorage, SpanStorageOptions };
42
- //# sourceMappingURL=MXLSpanStorage.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MXLSpanStorage.d.cts","names":[],"sources":["../../../src/utils/MXLSpanStorage/MXLSpanStorage.ts"],"mappings":";;;;;;UAYiB,kBAAA;EACf,kBAAA,EAAoB,0BAAA;EACpB,QAAA,GAAW,QAAA;EACX,OAAA,GAAU,OAAA;EACV,IAAA,GAAO,UAAA;EACP,0BAAA;EACA,oBAAA,IAAwB,KAAA,EAAO,YAAA;AAAA;AAAA,cAgBpB,cAAA;EAAA,iBACM,eAAA;EAAA,iBACA,QAAA;EAAA,iBACA,KAAA;EAAA,iBACA,qBAAA;EAAA,iBACA,2BAAA;EAAA,iBACA,mBAAA;EAAA,QACT,0BAAA;;IAGN,QAAA;IACA,OAAA;IACA,IAAA,EAAM,SAAA;IAGN,0BAAA;IAAA;IACA,oBAAA;IACA;EAAA,GACC,kBAAA;EAaI,iBAAA,CACL,SAAA,UACA,WAAA,EAAa,YAAA,EACb,YAAA,EAAc,YAAA;EA8BT,gBAAA,CAAiB,SAAA;EAajB,sBAAA,CAAA;EASA,qBAAA,CAAA;EAOA,0BAAA,CAAA;EAwDA,oBAAA,CAAA;EAWA,OAAA,CAAA;AAAA"}
@@ -1,42 +0,0 @@
1
- import { SpanSessionManagerInternal } from "../../managers/MXLSpanSessionManager/types.js";
2
- import { DiagLogger } from "@opentelemetry/api";
3
- import { Resource } from "@opentelemetry/resources";
4
- import { ReadableSpan } from "@opentelemetry/sdk-trace-web";
5
-
6
- //#region src/utils/MXLSpanStorage/MXLSpanStorage.d.ts
7
- interface SpanStorageOptions {
8
- spanSessionManager: SpanSessionManagerInternal;
9
- resource?: Resource;
10
- storage?: Storage;
11
- diag?: DiagLogger;
12
- storedSpansExpireTimeoutMS?: number;
13
- onExpiredSpansExport?: (spans: ReadableSpan[]) => void;
14
- }
15
- declare class MXLSpanStorage {
16
- private readonly _noExportTracer;
17
- private readonly _storage;
18
- private readonly _diag;
19
- private readonly _onExpiredSpansExport?;
20
- private readonly _storedSpansExpireTimeoutMS;
21
- private readonly _spanSessionManager;
22
- private _checkExpiredSpansInterval?;
23
- constructor({
24
- resource,
25
- storage,
26
- diag: diagParam,
27
- storedSpansExpireTimeoutMS,
28
- // 1 hour
29
- onExpiredSpansExport,
30
- spanSessionManager
31
- }: SpanStorageOptions);
32
- storePendingSpans(sessionId: string, sessionSpan: ReadableSpan, pendingSpans: ReadableSpan[]): void;
33
- clearStoredSpans(sessionId: string): void;
34
- startExpiredSpansCheck(): void;
35
- stopExpiredSpansCheck(): void;
36
- checkAndExportExpiredSpans(): void;
37
- _getPendingSpansKeys(): string[];
38
- destroy(): void;
39
- }
40
- //#endregion
41
- export { MXLSpanStorage, SpanStorageOptions };
42
- //# sourceMappingURL=MXLSpanStorage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MXLSpanStorage.d.ts","names":[],"sources":["../../../src/utils/MXLSpanStorage/MXLSpanStorage.ts"],"mappings":";;;;;;UAYiB,kBAAA;EACf,kBAAA,EAAoB,0BAAA;EACpB,QAAA,GAAW,QAAA;EACX,OAAA,GAAU,OAAA;EACV,IAAA,GAAO,UAAA;EACP,0BAAA;EACA,oBAAA,IAAwB,KAAA,EAAO,YAAA;AAAA;AAAA,cAgBpB,cAAA;EAAA,iBACM,eAAA;EAAA,iBACA,QAAA;EAAA,iBACA,KAAA;EAAA,iBACA,qBAAA;EAAA,iBACA,2BAAA;EAAA,iBACA,mBAAA;EAAA,QACT,0BAAA;;IAGN,QAAA;IACA,OAAA;IACA,IAAA,EAAM,SAAA;IAGN,0BAAA;IAAA;IACA,oBAAA;IACA;EAAA,GACC,kBAAA;EAaI,iBAAA,CACL,SAAA,UACA,WAAA,EAAa,YAAA,EACb,YAAA,EAAc,YAAA;EA8BT,gBAAA,CAAiB,SAAA;EAajB,sBAAA,CAAA;EASA,qBAAA,CAAA;EAOA,0BAAA,CAAA;EAwDA,oBAAA,CAAA;EAWA,OAAA,CAAA;AAAA"}
@@ -1,114 +0,0 @@
1
- import { KEY_MXL_MAX_PENDING_SPANS_REACHED } from "../../constants/attributes.js";
2
- import { diag } from "@opentelemetry/api";
3
- import { emptyResource } from "@opentelemetry/resources";
4
- import { BasicTracerProvider } from "@opentelemetry/sdk-trace-web";
5
- //#region src/utils/MXLSpanStorage/MXLSpanStorage.ts
6
- const PENDING_SPANS_STORAGE_KEY_PREFIX = "mxl_pending_";
7
- const MAX_PENDING_SPANS_ITEMS = 10;
8
- var MXLSpanStorage = class {
9
- _noExportTracer;
10
- _storage;
11
- _diag;
12
- _onExpiredSpansExport;
13
- _storedSpansExpireTimeoutMS;
14
- _spanSessionManager;
15
- _checkExpiredSpansInterval;
16
- constructor({ resource = emptyResource(), storage = window.localStorage, diag: diagParam = diag.createComponentLogger({ namespace: "MXLSpanStorage" }), storedSpansExpireTimeoutMS = 3600 * 1e3, onExpiredSpansExport, spanSessionManager }) {
17
- this._noExportTracer = new BasicTracerProvider({ resource }).getTracer("mxl-web-sdk-sessions");
18
- this._storage = storage;
19
- this._diag = diagParam;
20
- this._storedSpansExpireTimeoutMS = storedSpansExpireTimeoutMS;
21
- this._onExpiredSpansExport = onExpiredSpansExport;
22
- this._spanSessionManager = spanSessionManager;
23
- this.startExpiredSpansCheck();
24
- }
25
- storePendingSpans(sessionId, sessionSpan, pendingSpans) {
26
- try {
27
- this.clearStoredSpans(sessionId);
28
- if (this._getPendingSpansKeys().length >= MAX_PENDING_SPANS_ITEMS) {
29
- this._spanSessionManager.incrSessionCountForKey(KEY_MXL_MAX_PENDING_SPANS_REACHED);
30
- this._diag.warn("Not storing pending spans as the max number of items was reached");
31
- return;
32
- }
33
- const key = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_${Date.now()}`;
34
- this._storage.setItem(key, JSON.stringify([sessionSpan, ...pendingSpans], (key, value) => key.startsWith("_") ? void 0 : value));
35
- this._diag.debug(`Stored pending span: ${key}`);
36
- } catch (error) {
37
- this._diag.error("Failed to store spans to storage:", error);
38
- }
39
- }
40
- clearStoredSpans(sessionId) {
41
- try {
42
- const prefix = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_`;
43
- this._getPendingSpansKeys().forEach((key) => {
44
- if (key.startsWith(prefix)) this._storage.removeItem(key);
45
- });
46
- } catch (error) {
47
- this._diag.error("Failed to clear stored spans from storage:", error);
48
- }
49
- }
50
- startExpiredSpansCheck() {
51
- this._checkExpiredSpansInterval = setInterval(() => {
52
- this.checkAndExportExpiredSpans();
53
- }, 300 * 1e3);
54
- }
55
- stopExpiredSpansCheck() {
56
- if (this._checkExpiredSpansInterval) {
57
- clearInterval(this._checkExpiredSpansInterval);
58
- this._checkExpiredSpansInterval = void 0;
59
- }
60
- }
61
- checkAndExportExpiredSpans() {
62
- try {
63
- const keys = this._getPendingSpansKeys();
64
- if (keys.length === 0) return;
65
- const currentTime = Date.now();
66
- keys.forEach((key) => {
67
- const parts = key.split("_");
68
- const storedTime = parseInt(parts[parts.length - 1], 10);
69
- if (Number.isNaN(storedTime)) {
70
- this._diag.error("Found invalid timestamp in stored span:", storedTime);
71
- this._storage.removeItem(key);
72
- }
73
- if (currentTime - storedTime <= this._storedSpansExpireTimeoutMS) return;
74
- const storedData = this._storage.getItem(key);
75
- if (!storedData) return;
76
- try {
77
- const spans = [];
78
- for (const storedSpan of JSON.parse(storedData)) {
79
- const span = this._noExportTracer.startSpan(storedSpan.name, {
80
- kind: storedSpan.kind,
81
- attributes: storedSpan.attributes,
82
- links: storedSpan.links,
83
- startTime: storedSpan.startTime
84
- });
85
- span.setStatus(storedSpan.status);
86
- span.end(storedSpan.endTime);
87
- spans.push(span);
88
- }
89
- if (this._onExpiredSpansExport && spans.length > 0) this._onExpiredSpansExport(spans);
90
- } catch (e) {
91
- this._diag.error("Failed to process expired spans:", e);
92
- }
93
- this._storage.removeItem(key);
94
- });
95
- } catch (e) {
96
- this._diag.error("Failed to check and export expired spans:", e);
97
- }
98
- }
99
- _getPendingSpansKeys() {
100
- const keys = [];
101
- for (let i = 0; i < this._storage.length; i++) {
102
- const key = this._storage.key(i);
103
- if (key?.startsWith(PENDING_SPANS_STORAGE_KEY_PREFIX)) keys.push(key);
104
- }
105
- return keys;
106
- }
107
- destroy() {
108
- this.stopExpiredSpansCheck();
109
- }
110
- };
111
- //#endregion
112
- export { MXLSpanStorage };
113
-
114
- //# sourceMappingURL=MXLSpanStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MXLSpanStorage.js","names":[],"sources":["../../../src/utils/MXLSpanStorage/MXLSpanStorage.ts"],"sourcesContent":["import type { DiagLogger, Tracer } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Resource } from '@opentelemetry/resources';\nimport { emptyResource } from '@opentelemetry/resources';\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-web';\nimport { BasicTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport { KEY_MXL_MAX_PENDING_SPANS_REACHED } from '../../constants';\nimport type { SpanSessionManagerInternal } from '../../managers';\n\nconst PENDING_SPANS_STORAGE_KEY_PREFIX = 'mxl_pending_';\nconst MAX_PENDING_SPANS_ITEMS = 10;\n\nexport interface SpanStorageOptions {\n spanSessionManager: SpanSessionManagerInternal;\n resource?: Resource;\n storage?: Storage;\n diag?: DiagLogger;\n storedSpansExpireTimeoutMS?: number;\n onExpiredSpansExport?: (spans: ReadableSpan[]) => void;\n}\n\n// MXLSpanStorage is used to keep pending spans that are not meant to be exported (yet) in localStorage,\n// and periodically checks whenever those stored spans are ready to be exported.\n// This functionality has some custom logic to be able to store these spans as JSONs and then recreate them back\n// that could eventually be improved. In particular the things that would need to be improved are:\n// - Avoid serializing as JSON and instead try to use a customExporter that produces the body as it was going to be\n// sent over the wire (serialized, compressed, etc), and store that, so that later when it decides to export those,\n// it's just using that body as a regular fetch call.\n// - Create a service worker that is responsible for tracking the pending spans and deciding when to actually export them.\n// That way we would avoid a potential race condition where two different tabs would try to export the same data.\n// - Make this a more comprehensive component so that the MXLSessionBatchedSpanProcessor doesn't need to be in the\n// middle of SpanSessionVisibilityInstrumentation and this component. Ideally this component would know when and how\n// to take snapshots of the current pending spans and the current session span at any moment, so that the visibility\n// instrumentation doesn't need to be telling that to the batch span processor.\nexport class MXLSpanStorage {\n private readonly _noExportTracer: Tracer;\n private readonly _storage: Storage;\n private readonly _diag: DiagLogger;\n private readonly _onExpiredSpansExport?: (spans: ReadableSpan[]) => void;\n private readonly _storedSpansExpireTimeoutMS: number;\n private readonly _spanSessionManager: SpanSessionManagerInternal;\n private _checkExpiredSpansInterval?: ReturnType<typeof setInterval>;\n\n public constructor({\n resource = emptyResource(),\n storage = window.localStorage,\n diag: diagParam = diag.createComponentLogger({\n namespace: 'MXLSpanStorage',\n }),\n storedSpansExpireTimeoutMS = 60 * 60 * 1000, // 1 hour\n onExpiredSpansExport,\n spanSessionManager,\n }: SpanStorageOptions) {\n this._noExportTracer = new BasicTracerProvider({ resource }).getTracer(\n 'mxl-web-sdk-sessions',\n );\n this._storage = storage;\n this._diag = diagParam;\n this._storedSpansExpireTimeoutMS = storedSpansExpireTimeoutMS;\n this._onExpiredSpansExport = onExpiredSpansExport;\n this._spanSessionManager = spanSessionManager;\n\n this.startExpiredSpansCheck();\n }\n\n public storePendingSpans(\n sessionId: string,\n sessionSpan: ReadableSpan,\n pendingSpans: ReadableSpan[],\n ): void {\n try {\n // If this session was already stored, clear it first:\n this.clearStoredSpans(sessionId);\n\n if (this._getPendingSpansKeys().length >= MAX_PENDING_SPANS_ITEMS) {\n this._spanSessionManager.incrSessionCountForKey(\n KEY_MXL_MAX_PENDING_SPANS_REACHED,\n );\n this._diag.warn(\n 'Not storing pending spans as the max number of items was reached',\n );\n return;\n }\n\n const key = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_${Date.now()}`;\n this._storage.setItem(\n key,\n JSON.stringify([sessionSpan, ...pendingSpans], (key, value) =>\n key.startsWith('_') ? undefined : value,\n ),\n );\n\n this._diag.debug(`Stored pending span: ${key}`);\n } catch (error) {\n this._diag.error('Failed to store spans to storage:', error);\n }\n }\n\n public clearStoredSpans(sessionId: string): void {\n try {\n const prefix = `${PENDING_SPANS_STORAGE_KEY_PREFIX}${sessionId}_`;\n this._getPendingSpansKeys().forEach((key) => {\n if (key.startsWith(prefix)) {\n this._storage.removeItem(key);\n }\n });\n } catch (error) {\n this._diag.error('Failed to clear stored spans from storage:', error);\n }\n }\n\n public startExpiredSpansCheck(): void {\n this._checkExpiredSpansInterval = setInterval(\n () => {\n this.checkAndExportExpiredSpans();\n },\n 5 * 60 * 1000,\n ); // Check every 5 minutes\n }\n\n public stopExpiredSpansCheck(): void {\n if (this._checkExpiredSpansInterval) {\n clearInterval(this._checkExpiredSpansInterval);\n this._checkExpiredSpansInterval = undefined;\n }\n }\n\n public checkAndExportExpiredSpans(): void {\n try {\n const keys = this._getPendingSpansKeys();\n if (keys.length === 0) {\n return;\n }\n\n const currentTime = Date.now();\n keys.forEach((key) => {\n const parts = key.split('_');\n const storedTime = parseInt(parts[parts.length - 1], 10);\n\n if (Number.isNaN(storedTime)) {\n this._diag.error(\n 'Found invalid timestamp in stored span:',\n storedTime,\n );\n this._storage.removeItem(key);\n }\n\n if (currentTime - storedTime <= this._storedSpansExpireTimeoutMS) {\n return;\n }\n\n const storedData = this._storage.getItem(key);\n if (!storedData) return;\n\n try {\n const spans: ReadableSpan[] = [];\n for (const storedSpan of JSON.parse(storedData) as ReadableSpan[]) {\n const span = this._noExportTracer.startSpan(storedSpan.name, {\n kind: storedSpan.kind,\n attributes: storedSpan.attributes,\n links: storedSpan.links,\n startTime: storedSpan.startTime,\n });\n span.setStatus(storedSpan.status);\n span.end(storedSpan.endTime);\n spans.push(span as unknown as ReadableSpan);\n }\n\n if (this._onExpiredSpansExport && spans.length > 0) {\n this._onExpiredSpansExport(spans);\n }\n } catch (e) {\n this._diag.error('Failed to process expired spans:', e);\n }\n\n // Always remove the storage item even if processing failed\n this._storage.removeItem(key);\n });\n } catch (e) {\n this._diag.error('Failed to check and export expired spans:', e);\n }\n }\n\n public _getPendingSpansKeys(): string[] {\n const keys: string[] = [];\n for (let i = 0; i < this._storage.length; i++) {\n const key = this._storage.key(i);\n if (key?.startsWith(PENDING_SPANS_STORAGE_KEY_PREFIX)) {\n keys.push(key);\n }\n }\n return keys;\n }\n\n public destroy(): void {\n this.stopExpiredSpansCheck();\n }\n}\n"],"mappings":";;;;;AASA,MAAM,mCAAmC;AACzC,MAAM,0BAA0B;AAwBhC,IAAa,iBAAb,MAA4B;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YAAmB,EACjB,WAAW,eAAe,EAC1B,UAAU,OAAO,cACjB,MAAM,YAAY,KAAK,sBAAsB,EAC3C,WAAW,kBACZ,CAAC,EACF,6BAA6B,OAAU,KACvC,sBACA,sBACqB;AACrB,OAAK,kBAAkB,IAAI,oBAAoB,EAAE,UAAU,CAAC,CAAC,UAC3D,uBACD;AACD,OAAK,WAAW;AAChB,OAAK,QAAQ;AACb,OAAK,8BAA8B;AACnC,OAAK,wBAAwB;AAC7B,OAAK,sBAAsB;AAE3B,OAAK,wBAAwB;;CAG/B,kBACE,WACA,aACA,cACM;AACN,MAAI;AAEF,QAAK,iBAAiB,UAAU;AAEhC,OAAI,KAAK,sBAAsB,CAAC,UAAU,yBAAyB;AACjE,SAAK,oBAAoB,uBACvB,kCACD;AACD,SAAK,MAAM,KACT,mEACD;AACD;;GAGF,MAAM,MAAM,GAAG,mCAAmC,UAAU,GAAG,KAAK,KAAK;AACzE,QAAK,SAAS,QACZ,KACA,KAAK,UAAU,CAAC,aAAa,GAAG,aAAa,GAAG,KAAK,UACnD,IAAI,WAAW,IAAI,GAAG,KAAA,IAAY,MACnC,CACF;AAED,QAAK,MAAM,MAAM,wBAAwB,MAAM;WACxC,OAAO;AACd,QAAK,MAAM,MAAM,qCAAqC,MAAM;;;CAIhE,iBAAwB,WAAyB;AAC/C,MAAI;GACF,MAAM,SAAS,GAAG,mCAAmC,UAAU;AAC/D,QAAK,sBAAsB,CAAC,SAAS,QAAQ;AAC3C,QAAI,IAAI,WAAW,OAAO,CACxB,MAAK,SAAS,WAAW,IAAI;KAE/B;WACK,OAAO;AACd,QAAK,MAAM,MAAM,8CAA8C,MAAM;;;CAIzE,yBAAsC;AACpC,OAAK,6BAA6B,kBAC1B;AACJ,QAAK,4BAA4B;KAEnC,MAAS,IACV;;CAGH,wBAAqC;AACnC,MAAI,KAAK,4BAA4B;AACnC,iBAAc,KAAK,2BAA2B;AAC9C,QAAK,6BAA6B,KAAA;;;CAItC,6BAA0C;AACxC,MAAI;GACF,MAAM,OAAO,KAAK,sBAAsB;AACxC,OAAI,KAAK,WAAW,EAClB;GAGF,MAAM,cAAc,KAAK,KAAK;AAC9B,QAAK,SAAS,QAAQ;IACpB,MAAM,QAAQ,IAAI,MAAM,IAAI;IAC5B,MAAM,aAAa,SAAS,MAAM,MAAM,SAAS,IAAI,GAAG;AAExD,QAAI,OAAO,MAAM,WAAW,EAAE;AAC5B,UAAK,MAAM,MACT,2CACA,WACD;AACD,UAAK,SAAS,WAAW,IAAI;;AAG/B,QAAI,cAAc,cAAc,KAAK,4BACnC;IAGF,MAAM,aAAa,KAAK,SAAS,QAAQ,IAAI;AAC7C,QAAI,CAAC,WAAY;AAEjB,QAAI;KACF,MAAM,QAAwB,EAAE;AAChC,UAAK,MAAM,cAAc,KAAK,MAAM,WAAW,EAAoB;MACjE,MAAM,OAAO,KAAK,gBAAgB,UAAU,WAAW,MAAM;OAC3D,MAAM,WAAW;OACjB,YAAY,WAAW;OACvB,OAAO,WAAW;OAClB,WAAW,WAAW;OACvB,CAAC;AACF,WAAK,UAAU,WAAW,OAAO;AACjC,WAAK,IAAI,WAAW,QAAQ;AAC5B,YAAM,KAAK,KAAgC;;AAG7C,SAAI,KAAK,yBAAyB,MAAM,SAAS,EAC/C,MAAK,sBAAsB,MAAM;aAE5B,GAAG;AACV,UAAK,MAAM,MAAM,oCAAoC,EAAE;;AAIzD,SAAK,SAAS,WAAW,IAAI;KAC7B;WACK,GAAG;AACV,QAAK,MAAM,MAAM,6CAA6C,EAAE;;;CAIpE,uBAAwC;EACtC,MAAM,OAAiB,EAAE;AACzB,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,SAAS,QAAQ,KAAK;GAC7C,MAAM,MAAM,KAAK,SAAS,IAAI,EAAE;AAChC,OAAI,KAAK,WAAW,iCAAiC,CACnD,MAAK,KAAK,IAAI;;AAGlB,SAAO;;CAGT,UAAuB;AACrB,OAAK,uBAAuB"}
@@ -1,3 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_utils_MXLSpanStorage_MXLSpanStorage = require("./MXLSpanStorage.cjs");
3
- exports.MXLSpanStorage = require_utils_MXLSpanStorage_MXLSpanStorage.MXLSpanStorage;
@@ -1,2 +0,0 @@
1
- import { MXLSpanStorage, SpanStorageOptions } from "./MXLSpanStorage.cjs";
2
- export { MXLSpanStorage, type SpanStorageOptions };
@@ -1,2 +0,0 @@
1
- import { MXLSpanStorage, SpanStorageOptions } from "./MXLSpanStorage.js";
2
- export { MXLSpanStorage, type SpanStorageOptions };
@@ -1,2 +0,0 @@
1
- import { MXLSpanStorage } from "./MXLSpanStorage.js";
2
- export { MXLSpanStorage };
File without changes
@@ -1,2 +0,0 @@
1
- import { SpanStorageOptions } from "./MXLSpanStorage.cjs";
2
- export { type SpanStorageOptions };
@@ -1,2 +0,0 @@
1
- import { SpanStorageOptions } from "./MXLSpanStorage.js";
2
- export { type SpanStorageOptions };
File without changes