@dxos/observability 0.8.4-main.bc674ce → 0.8.4-main.bcb3aa67d6

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 (346) hide show
  1. package/README.md +14 -11
  2. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  3. package/dist/lib/browser/chunk-K4VFBKST.mjs +13 -0
  4. package/dist/lib/browser/chunk-K4VFBKST.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +922 -278
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/log-processor-FDLTDQEM.mjs +45 -0
  8. package/dist/lib/browser/log-processor-FDLTDQEM.mjs.map +7 -0
  9. package/dist/lib/browser/logs-ATTRIUTL.mjs +113 -0
  10. package/dist/lib/browser/logs-ATTRIUTL.mjs.map +7 -0
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/metrics-PKTV6IGF.mjs +130 -0
  13. package/dist/lib/browser/metrics-PKTV6IGF.mjs.map +7 -0
  14. package/dist/lib/browser/traces-browser-PUNCJ5KV.mjs +112 -0
  15. package/dist/lib/browser/traces-browser-PUNCJ5KV.mjs.map +7 -0
  16. package/dist/lib/node-esm/chunk-FEVP3MK4.mjs +15 -0
  17. package/dist/lib/node-esm/chunk-FEVP3MK4.mjs.map +7 -0
  18. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  19. package/dist/lib/node-esm/index.mjs +939 -293
  20. package/dist/lib/node-esm/index.mjs.map +4 -4
  21. package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs +46 -0
  22. package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs.map +7 -0
  23. package/dist/lib/node-esm/logs-7J45KLM7.mjs +114 -0
  24. package/dist/lib/node-esm/logs-7J45KLM7.mjs.map +7 -0
  25. package/dist/lib/node-esm/meta.json +1 -1
  26. package/dist/lib/node-esm/metrics-H7DDLYSG.mjs +131 -0
  27. package/dist/lib/node-esm/metrics-H7DDLYSG.mjs.map +7 -0
  28. package/dist/lib/node-esm/{chunk-WAGGA7IT.mjs → traces-KMTHMYFX.mjs} +8 -16
  29. package/dist/lib/node-esm/traces-KMTHMYFX.mjs.map +7 -0
  30. package/dist/types/src/cli-observability-secrets.json +3 -4
  31. package/dist/types/src/extensions/index.d.ts +3 -0
  32. package/dist/types/src/extensions/index.d.ts.map +1 -0
  33. package/dist/types/src/extensions/index.js +6 -0
  34. package/dist/types/src/extensions/index.js.map +1 -0
  35. package/dist/types/src/extensions/otel/extension.d.ts +23 -0
  36. package/dist/types/src/extensions/otel/extension.d.ts.map +1 -0
  37. package/dist/types/src/extensions/otel/extension.js +124 -0
  38. package/dist/types/src/extensions/otel/extension.js.map +1 -0
  39. package/dist/types/src/extensions/otel/index.d.ts +2 -0
  40. package/dist/types/src/extensions/otel/index.d.ts.map +1 -0
  41. package/dist/types/src/extensions/otel/index.js +5 -0
  42. package/dist/types/src/extensions/otel/index.js.map +1 -0
  43. package/dist/types/src/{otel → extensions/otel}/logs.d.ts +4 -3
  44. package/dist/types/src/extensions/otel/logs.d.ts.map +1 -0
  45. package/dist/types/src/{otel → extensions/otel}/logs.js +48 -18
  46. package/dist/types/src/extensions/otel/logs.js.map +1 -0
  47. package/dist/types/src/extensions/otel/metrics.d.ts.map +1 -0
  48. package/dist/types/src/{otel → extensions/otel}/metrics.js +2 -10
  49. package/dist/types/src/extensions/otel/metrics.js.map +1 -0
  50. package/dist/types/src/{otel → extensions/otel}/otel.d.ts +3 -3
  51. package/dist/types/src/extensions/otel/otel.d.ts.map +1 -0
  52. package/dist/types/src/extensions/otel/otel.js.map +1 -0
  53. package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -0
  54. package/dist/types/src/extensions/otel/traces-browser.js +85 -0
  55. package/dist/types/src/extensions/otel/traces-browser.js.map +1 -0
  56. package/dist/types/src/extensions/otel/traces.d.ts.map +1 -0
  57. package/dist/types/src/{otel → extensions/otel}/traces.js +5 -13
  58. package/dist/types/src/extensions/otel/traces.js.map +1 -0
  59. package/dist/types/src/extensions/posthog/extension.d.ts +18 -0
  60. package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -0
  61. package/dist/types/src/extensions/posthog/extension.js +142 -0
  62. package/dist/types/src/extensions/posthog/extension.js.map +1 -0
  63. package/dist/types/src/extensions/posthog/index.d.ts +2 -0
  64. package/dist/types/src/extensions/posthog/index.d.ts.map +1 -0
  65. package/dist/types/src/extensions/posthog/index.js +5 -0
  66. package/dist/types/src/extensions/posthog/index.js.map +1 -0
  67. package/dist/types/src/extensions/posthog/log-processor.d.ts +3 -0
  68. package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -0
  69. package/dist/types/src/extensions/posthog/log-processor.js +45 -0
  70. package/dist/types/src/extensions/posthog/log-processor.js.map +1 -0
  71. package/dist/types/src/extensions/posthog/log-processor.test.d.ts +2 -0
  72. package/dist/types/src/extensions/posthog/log-processor.test.d.ts.map +1 -0
  73. package/dist/types/src/extensions/posthog/log-processor.test.js +146 -0
  74. package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -0
  75. package/dist/types/src/extensions/stub.d.ts +3 -0
  76. package/dist/types/src/extensions/stub.d.ts.map +1 -0
  77. package/dist/types/src/extensions/stub.js +16 -0
  78. package/dist/types/src/extensions/stub.js.map +1 -0
  79. package/dist/types/src/index.d.ts +3 -2
  80. package/dist/types/src/index.d.ts.map +1 -1
  81. package/dist/types/src/index.js +4 -3
  82. package/dist/types/src/index.js.map +1 -1
  83. package/dist/types/src/observability-extension.d.ts +74 -0
  84. package/dist/types/src/observability-extension.d.ts.map +1 -0
  85. package/dist/types/src/observability-extension.js +5 -0
  86. package/dist/types/src/observability-extension.js.map +1 -0
  87. package/dist/types/src/observability.d.ts +32 -110
  88. package/dist/types/src/observability.d.ts.map +1 -1
  89. package/dist/types/src/observability.js +177 -465
  90. package/dist/types/src/observability.js.map +1 -1
  91. package/dist/types/src/observability.test.d.ts +2 -0
  92. package/dist/types/src/observability.test.d.ts.map +1 -0
  93. package/dist/types/src/observability.test.js +312 -0
  94. package/dist/types/src/observability.test.js.map +1 -0
  95. package/dist/types/src/providers/client-observability.d.ts +11 -0
  96. package/dist/types/src/providers/client-observability.d.ts.map +1 -0
  97. package/dist/types/src/providers/client-observability.js +200 -0
  98. package/dist/types/src/providers/client-observability.js.map +1 -0
  99. package/dist/types/src/providers/index.d.ts +4 -0
  100. package/dist/types/src/providers/index.d.ts.map +1 -0
  101. package/dist/types/src/providers/index.js +7 -0
  102. package/dist/types/src/providers/index.js.map +1 -0
  103. package/dist/types/src/providers/ip-data.d.ts +5 -0
  104. package/dist/types/src/providers/ip-data.d.ts.map +1 -0
  105. package/dist/types/src/providers/ip-data.js +57 -0
  106. package/dist/types/src/providers/ip-data.js.map +1 -0
  107. package/dist/types/src/providers/storage.d.ts +3 -0
  108. package/dist/types/src/providers/storage.d.ts.map +1 -0
  109. package/dist/types/src/providers/storage.js +19 -0
  110. package/dist/types/src/providers/storage.js.map +1 -0
  111. package/dist/types/src/storage/browser.d.ts +19 -0
  112. package/dist/types/src/storage/browser.d.ts.map +1 -0
  113. package/dist/types/src/storage/browser.js +59 -0
  114. package/dist/types/src/storage/browser.js.map +1 -0
  115. package/dist/types/src/storage/index.d.ts +2 -0
  116. package/dist/types/src/storage/index.d.ts.map +1 -0
  117. package/dist/types/src/storage/index.js.map +1 -0
  118. package/dist/types/src/storage/node.d.ts +26 -0
  119. package/dist/types/src/storage/node.d.ts.map +1 -0
  120. package/dist/types/src/{helpers/node-observability.js → storage/node.js} +37 -42
  121. package/dist/types/src/storage/node.js.map +1 -0
  122. package/dist/types/src/storage/node.test.d.ts +2 -0
  123. package/dist/types/src/storage/node.test.d.ts.map +1 -0
  124. package/dist/types/src/storage/node.test.js +103 -0
  125. package/dist/types/src/storage/node.test.js.map +1 -0
  126. package/dist/types/tsconfig.tsbuildinfo +1 -1
  127. package/package.json +26 -47
  128. package/src/cli-observability-secrets.json +3 -4
  129. package/src/extensions/index.ts +6 -0
  130. package/src/extensions/otel/extension.ts +178 -0
  131. package/src/extensions/otel/index.ts +5 -0
  132. package/src/{otel → extensions/otel}/logs.ts +55 -23
  133. package/src/{otel → extensions/otel}/metrics.ts +2 -12
  134. package/src/{otel → extensions/otel}/otel.ts +3 -3
  135. package/src/extensions/otel/traces-browser.ts +110 -0
  136. package/src/{otel → extensions/otel}/traces.ts +10 -21
  137. package/src/extensions/posthog/extension.ts +174 -0
  138. package/src/extensions/posthog/index.ts +5 -0
  139. package/src/extensions/posthog/log-processor.test.ts +185 -0
  140. package/src/extensions/posthog/log-processor.ts +54 -0
  141. package/src/extensions/stub.ts +19 -0
  142. package/src/index.ts +4 -3
  143. package/src/observability-extension.ts +94 -0
  144. package/src/observability.test.ts +531 -0
  145. package/src/observability.ts +236 -577
  146. package/src/providers/client-observability.ts +253 -0
  147. package/src/providers/index.ts +7 -0
  148. package/src/providers/ip-data.ts +91 -0
  149. package/src/providers/storage.ts +23 -0
  150. package/src/storage/browser.ts +62 -0
  151. package/src/{segment → storage}/index.ts +0 -1
  152. package/src/storage/node.test.ts +130 -0
  153. package/src/{helpers/node-observability.ts → storage/node.ts} +40 -69
  154. package/dist/lib/browser/chunk-5ICT2XF2.mjs +0 -1
  155. package/dist/lib/browser/chunk-5LN7D6GM.mjs +0 -148
  156. package/dist/lib/browser/chunk-5LN7D6GM.mjs.map +0 -7
  157. package/dist/lib/browser/chunk-JJQT5TQH.mjs +0 -672
  158. package/dist/lib/browser/chunk-JJQT5TQH.mjs.map +0 -7
  159. package/dist/lib/browser/chunk-O4BG5MRL.mjs +0 -164
  160. package/dist/lib/browser/chunk-O4BG5MRL.mjs.map +0 -7
  161. package/dist/lib/browser/chunk-U6JWT3E2.mjs +0 -1
  162. package/dist/lib/browser/chunk-VL6LVQPU.mjs +0 -69
  163. package/dist/lib/browser/chunk-VL6LVQPU.mjs.map +0 -7
  164. package/dist/lib/browser/observability-XK652NZG.mjs +0 -11
  165. package/dist/lib/browser/observability-XK652NZG.mjs.map +0 -7
  166. package/dist/lib/browser/otel/traces-browser.mjs +0 -7
  167. package/dist/lib/browser/otel/traces-browser.mjs.map +0 -7
  168. package/dist/lib/browser/otel/traces.mjs +0 -7
  169. package/dist/lib/browser/otel/traces.mjs.map +0 -7
  170. package/dist/lib/browser/otel-DI4ASU7Y.mjs +0 -226
  171. package/dist/lib/browser/otel-DI4ASU7Y.mjs.map +0 -7
  172. package/dist/lib/browser/segment/browser.mjs +0 -9
  173. package/dist/lib/browser/segment/browser.mjs.map +0 -7
  174. package/dist/lib/browser/segment/index.mjs +0 -12
  175. package/dist/lib/browser/segment/index.mjs.map +0 -7
  176. package/dist/lib/browser/segment/node.mjs +0 -9
  177. package/dist/lib/browser/segment/node.mjs.map +0 -7
  178. package/dist/lib/browser/sentry/browser.mjs +0 -23
  179. package/dist/lib/browser/sentry/browser.mjs.map +0 -7
  180. package/dist/lib/browser/sentry/index.mjs +0 -24
  181. package/dist/lib/browser/sentry/index.mjs.map +0 -7
  182. package/dist/lib/browser/sentry/node.mjs +0 -23
  183. package/dist/lib/browser/sentry/node.mjs.map +0 -7
  184. package/dist/lib/browser/sentry-log-processor-W7LI6WXA.mjs +0 -146
  185. package/dist/lib/browser/sentry-log-processor-W7LI6WXA.mjs.map +0 -7
  186. package/dist/lib/node-esm/chunk-KKNY7TRV.mjs +0 -673
  187. package/dist/lib/node-esm/chunk-KKNY7TRV.mjs.map +0 -7
  188. package/dist/lib/node-esm/chunk-KLJGCUYA.mjs +0 -2
  189. package/dist/lib/node-esm/chunk-KLJGCUYA.mjs.map +0 -7
  190. package/dist/lib/node-esm/chunk-KVJTNW3F.mjs +0 -147
  191. package/dist/lib/node-esm/chunk-KVJTNW3F.mjs.map +0 -7
  192. package/dist/lib/node-esm/chunk-M4627SMT.mjs +0 -135
  193. package/dist/lib/node-esm/chunk-M4627SMT.mjs.map +0 -7
  194. package/dist/lib/node-esm/chunk-QUZL7LKE.mjs +0 -2
  195. package/dist/lib/node-esm/chunk-QUZL7LKE.mjs.map +0 -7
  196. package/dist/lib/node-esm/chunk-UIVXGEGJ.mjs +0 -62
  197. package/dist/lib/node-esm/chunk-UIVXGEGJ.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-WAGGA7IT.mjs.map +0 -7
  199. package/dist/lib/node-esm/observability-CXQ3CZGB.mjs +0 -13
  200. package/dist/lib/node-esm/observability-CXQ3CZGB.mjs.map +0 -7
  201. package/dist/lib/node-esm/otel/traces-browser.mjs +0 -70
  202. package/dist/lib/node-esm/otel/traces-browser.mjs.map +0 -7
  203. package/dist/lib/node-esm/otel/traces.mjs +0 -8
  204. package/dist/lib/node-esm/otel/traces.mjs.map +0 -7
  205. package/dist/lib/node-esm/otel-JFXO22WD.mjs +0 -227
  206. package/dist/lib/node-esm/otel-JFXO22WD.mjs.map +0 -7
  207. package/dist/lib/node-esm/segment/browser.mjs +0 -92
  208. package/dist/lib/node-esm/segment/browser.mjs.map +0 -7
  209. package/dist/lib/node-esm/segment/index.mjs +0 -15
  210. package/dist/lib/node-esm/segment/index.mjs.map +0 -7
  211. package/dist/lib/node-esm/segment/node.mjs +0 -11
  212. package/dist/lib/node-esm/segment/node.mjs.map +0 -7
  213. package/dist/lib/node-esm/sentry/browser.mjs +0 -165
  214. package/dist/lib/node-esm/sentry/browser.mjs.map +0 -7
  215. package/dist/lib/node-esm/sentry/index.mjs +0 -25
  216. package/dist/lib/node-esm/sentry/index.mjs.map +0 -7
  217. package/dist/lib/node-esm/sentry/node.mjs +0 -24
  218. package/dist/lib/node-esm/sentry/node.mjs.map +0 -7
  219. package/dist/lib/node-esm/sentry-log-processor-W3SG4RQL.mjs +0 -147
  220. package/dist/lib/node-esm/sentry-log-processor-W3SG4RQL.mjs.map +0 -7
  221. package/dist/types/src/helpers/browser-observability.d.ts +0 -17
  222. package/dist/types/src/helpers/browser-observability.d.ts.map +0 -1
  223. package/dist/types/src/helpers/browser-observability.js +0 -138
  224. package/dist/types/src/helpers/browser-observability.js.map +0 -1
  225. package/dist/types/src/helpers/common.d.ts +0 -12
  226. package/dist/types/src/helpers/common.d.ts.map +0 -1
  227. package/dist/types/src/helpers/common.js +0 -23
  228. package/dist/types/src/helpers/common.js.map +0 -1
  229. package/dist/types/src/helpers/index.d.ts +0 -6
  230. package/dist/types/src/helpers/index.d.ts.map +0 -1
  231. package/dist/types/src/helpers/index.js +0 -9
  232. package/dist/types/src/helpers/index.js.map +0 -1
  233. package/dist/types/src/helpers/map-spaces.d.ts +0 -18
  234. package/dist/types/src/helpers/map-spaces.d.ts.map +0 -1
  235. package/dist/types/src/helpers/map-spaces.js +0 -36
  236. package/dist/types/src/helpers/map-spaces.js.map +0 -1
  237. package/dist/types/src/helpers/node-observability.d.ts +0 -24
  238. package/dist/types/src/helpers/node-observability.d.ts.map +0 -1
  239. package/dist/types/src/helpers/node-observability.js.map +0 -1
  240. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts +0 -4
  241. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +0 -1
  242. package/dist/types/src/helpers/setup-telemetry-listeners.js +0 -94
  243. package/dist/types/src/helpers/setup-telemetry-listeners.js.map +0 -1
  244. package/dist/types/src/otel/index.d.ts +0 -5
  245. package/dist/types/src/otel/index.d.ts.map +0 -1
  246. package/dist/types/src/otel/index.js +0 -8
  247. package/dist/types/src/otel/index.js.map +0 -1
  248. package/dist/types/src/otel/logs.d.ts.map +0 -1
  249. package/dist/types/src/otel/logs.js.map +0 -1
  250. package/dist/types/src/otel/metrics.d.ts.map +0 -1
  251. package/dist/types/src/otel/metrics.js.map +0 -1
  252. package/dist/types/src/otel/otel.d.ts.map +0 -1
  253. package/dist/types/src/otel/otel.js.map +0 -1
  254. package/dist/types/src/otel/traces-browser.d.ts.map +0 -1
  255. package/dist/types/src/otel/traces-browser.js +0 -53
  256. package/dist/types/src/otel/traces-browser.js.map +0 -1
  257. package/dist/types/src/otel/traces.d.ts.map +0 -1
  258. package/dist/types/src/otel/traces.js.map +0 -1
  259. package/dist/types/src/segment/base.d.ts +0 -15
  260. package/dist/types/src/segment/base.d.ts.map +0 -1
  261. package/dist/types/src/segment/base.js +0 -51
  262. package/dist/types/src/segment/base.js.map +0 -1
  263. package/dist/types/src/segment/browser.d.ts +0 -15
  264. package/dist/types/src/segment/browser.d.ts.map +0 -1
  265. package/dist/types/src/segment/browser.js +0 -63
  266. package/dist/types/src/segment/browser.js.map +0 -1
  267. package/dist/types/src/segment/index.d.ts +0 -3
  268. package/dist/types/src/segment/index.d.ts.map +0 -1
  269. package/dist/types/src/segment/index.js +0 -6
  270. package/dist/types/src/segment/index.js.map +0 -1
  271. package/dist/types/src/segment/node.d.ts +0 -16
  272. package/dist/types/src/segment/node.d.ts.map +0 -1
  273. package/dist/types/src/segment/node.js +0 -84
  274. package/dist/types/src/segment/node.js.map +0 -1
  275. package/dist/types/src/segment/types.d.ts +0 -52
  276. package/dist/types/src/segment/types.d.ts.map +0 -1
  277. package/dist/types/src/segment/types.js +0 -18
  278. package/dist/types/src/segment/types.js.map +0 -1
  279. package/dist/types/src/sentry/browser.d.ts +0 -32
  280. package/dist/types/src/sentry/browser.d.ts.map +0 -1
  281. package/dist/types/src/sentry/browser.js +0 -110
  282. package/dist/types/src/sentry/browser.js.map +0 -1
  283. package/dist/types/src/sentry/index.d.ts +0 -3
  284. package/dist/types/src/sentry/index.d.ts.map +0 -1
  285. package/dist/types/src/sentry/index.js.map +0 -1
  286. package/dist/types/src/sentry/node.d.ts +0 -32
  287. package/dist/types/src/sentry/node.d.ts.map +0 -1
  288. package/dist/types/src/sentry/node.js +0 -106
  289. package/dist/types/src/sentry/node.js.map +0 -1
  290. package/dist/types/src/sentry/node.node.test.d.ts +0 -2
  291. package/dist/types/src/sentry/node.node.test.d.ts.map +0 -1
  292. package/dist/types/src/sentry/node.node.test.js +0 -32
  293. package/dist/types/src/sentry/node.node.test.js.map +0 -1
  294. package/dist/types/src/sentry/sentry-log-processor.d.ts +0 -9
  295. package/dist/types/src/sentry/sentry-log-processor.d.ts.map +0 -1
  296. package/dist/types/src/sentry/sentry-log-processor.js +0 -144
  297. package/dist/types/src/sentry/sentry-log-processor.js.map +0 -1
  298. package/dist/types/src/sentry/sentry.node.test.d.ts +0 -2
  299. package/dist/types/src/sentry/sentry.node.test.d.ts.map +0 -1
  300. package/dist/types/src/sentry/sentry.node.test.js +0 -28
  301. package/dist/types/src/sentry/sentry.node.test.js.map +0 -1
  302. package/dist/types/src/sentry/types.d.ts +0 -18
  303. package/dist/types/src/sentry/types.d.ts.map +0 -1
  304. package/dist/types/src/sentry/types.js +0 -4
  305. package/dist/types/src/sentry/types.js.map +0 -1
  306. package/dist/types/src/testing/index.d.ts +0 -2
  307. package/dist/types/src/testing/index.d.ts.map +0 -1
  308. package/dist/types/src/testing/index.js +0 -5
  309. package/dist/types/src/testing/index.js.map +0 -1
  310. package/dist/types/src/testing/testkit/browser.d.ts +0 -2
  311. package/dist/types/src/testing/testkit/browser.d.ts.map +0 -1
  312. package/dist/types/src/testing/testkit/browser.js +0 -7
  313. package/dist/types/src/testing/testkit/browser.js.map +0 -1
  314. package/dist/types/src/testing/testkit/index.d.ts +0 -2
  315. package/dist/types/src/testing/testkit/index.d.ts.map +0 -1
  316. package/dist/types/src/testing/testkit/index.js +0 -6
  317. package/dist/types/src/testing/testkit/index.js.map +0 -1
  318. package/src/helpers/browser-observability.ts +0 -178
  319. package/src/helpers/common.ts +0 -38
  320. package/src/helpers/index.ts +0 -9
  321. package/src/helpers/map-spaces.ts +0 -48
  322. package/src/helpers/setup-telemetry-listeners.ts +0 -109
  323. package/src/otel/index.ts +0 -8
  324. package/src/otel/traces-browser.ts +0 -62
  325. package/src/segment/base.ts +0 -69
  326. package/src/segment/browser.ts +0 -69
  327. package/src/segment/node.ts +0 -95
  328. package/src/segment/types.ts +0 -57
  329. package/src/sentry/browser.ts +0 -133
  330. package/src/sentry/index.ts +0 -6
  331. package/src/sentry/node.node.test.ts +0 -40
  332. package/src/sentry/node.ts +0 -126
  333. package/src/sentry/sentry-log-processor.ts +0 -176
  334. package/src/sentry/sentry.node.test.ts +0 -35
  335. package/src/sentry/types.ts +0 -22
  336. package/src/testing/index.ts +0 -5
  337. package/src/testing/testkit/browser.ts +0 -8
  338. package/src/testing/testkit/index.ts +0 -7
  339. package/src/testing/testkit/shims.d.ts +0 -5
  340. /package/dist/lib/browser/{chunk-5ICT2XF2.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  341. /package/dist/lib/{browser/chunk-U6JWT3E2.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
  342. /package/dist/types/src/{otel → extensions/otel}/metrics.d.ts +0 -0
  343. /package/dist/types/src/{otel → extensions/otel}/otel.js +0 -0
  344. /package/dist/types/src/{otel → extensions/otel}/traces-browser.d.ts +0 -0
  345. /package/dist/types/src/{otel → extensions/otel}/traces.d.ts +0 -0
  346. /package/dist/types/src/{sentry → storage}/index.js +0 -0
@@ -1,672 +0,0 @@
1
- import {
2
- TelemetryEvent
3
- } from "./chunk-5LN7D6GM.mjs";
4
-
5
- // src/observability.ts
6
- import { Event, scheduleTaskInterval } from "@dxos/async";
7
- import { PublicKey } from "@dxos/client";
8
- import { Context } from "@dxos/context";
9
- import { invariant } from "@dxos/invariant";
10
- import { LogLevel, log } from "@dxos/log";
11
- import { ConnectionState } from "@dxos/network-manager";
12
- import { DeviceKind, Platform } from "@dxos/protocols/proto/dxos/client/services";
13
- import { isNode } from "@dxos/util";
14
-
15
- // src/cli-observability-secrets.json
16
- var cli_observability_secrets_default = {
17
- SENTRY_DESTINATION: "https://2647916221e643869965e78469479aa4@o4504012000067584.ingest.sentry.io/4504012027265029",
18
- TELEMETRY_API_KEY: "B00QG6PtJJrJ0VVFe0H5a6bcUUShKyZM",
19
- IPDATA_API_KEY: "73dfdecdf979c18f07d50cf841bbdd9e589f237256326ac8cca23786",
20
- OTEL_ENDPOINT: "https://otlp-proxy.dxos.workers.dev",
21
- OTEL_AUTHORIZATION: "Basic OTA3MzIzOmdsY19leUp2SWpvaU1URXdNVEl6TnlJc0ltNGlPaUp6ZEdGamF5MDVNRGN6TWpNdGFXNTBaV2R5WVhScGIyNHRZMnh2ZFdSbWJHRnlaUzF2ZEd4d0xYQnliM2g1SWl3aWF5STZJalZ2Tkd4cFYydE5iRmszTlRNMGJUVXpTemRTVjNBeVNpSXNJbTBpT25zaWNpSTZJbkJ5YjJRdGRYTXRaV0Z6ZEMwd0luMTk="
22
- };
23
-
24
- // src/helpers/common.ts
25
- var getTelemetryIdentifier = (client) => {
26
- if (!client?.initialized) {
27
- return void 0;
28
- }
29
- const identity = client.halo.identity.get();
30
- if (identity) {
31
- return identity.did;
32
- }
33
- return void 0;
34
- };
35
- var getTelemetryIdentity = (client) => {
36
- const did = getTelemetryIdentifier(client);
37
- return {
38
- did
39
- };
40
- };
41
-
42
- // src/helpers/map-spaces.ts
43
- var mapSpaces = (spaces, options = {
44
- verbose: false,
45
- truncateKeys: false
46
- }) => {
47
- return spaces.map((space) => {
48
- const { open, ready } = space.internal.data.metrics ?? {};
49
- const startup = open && ready && ready.getTime() - open.getTime();
50
- const pipeline = space.internal.data.pipeline;
51
- const startDataMutations = pipeline?.currentEpoch?.subject.assertion.timeframe.totalMessages() ?? 0;
52
- const epoch = pipeline?.currentEpoch?.subject.assertion.number;
53
- const currentDataMutations = pipeline?.currentDataTimeframe?.totalMessages() ?? 0;
54
- const totalDataMutations = pipeline?.targetDataTimeframe?.totalMessages() ?? 0;
55
- return {
56
- // TODO(nf): truncate keys for DD?
57
- key: space.key.truncate(),
58
- open: space.isOpen,
59
- members: space.members.get().length,
60
- objects: space.internal.db.coreDatabase.getAllObjectIds().length,
61
- startup,
62
- epoch,
63
- // appliedEpoch,
64
- startDataMutations,
65
- currentDataMutations,
66
- totalDataMutations,
67
- // TODO(burdon): Negative?
68
- progress: (Math.min(Math.abs((currentDataMutations - startDataMutations) / (totalDataMutations - startDataMutations)), 1) * 100).toFixed(0)
69
- };
70
- });
71
- };
72
-
73
- // src/observability.ts
74
- var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/observability.ts";
75
- var SPACE_METRICS_MIN_INTERVAL = 1e3 * 60;
76
- var SPACE_TELEMETRY_MIN_INTERVAL = 1e3 * 60 * 60;
77
- var NETWORK_METRICS_MIN_INTERVAL = 1e3 * 60 * 5;
78
- var Observability = class {
79
- _mode;
80
- _namespace;
81
- _config;
82
- _group;
83
- _secrets;
84
- _tags = /* @__PURE__ */ new Map();
85
- // TODO(wittjosiah): Generic metrics interface.
86
- _otelMetrics;
87
- _otelTraces;
88
- // TODO(wittjosiah): Generic telemetry interface.
89
- _telemetryBatchSize;
90
- _telemetry;
91
- // TODO(wittjosiah): Generic error logging interface.
92
- _sentryLogProcessor;
93
- _otelLogs;
94
- _errorReportingOptions;
95
- _captureException;
96
- _captureUserFeedback;
97
- _lastNetworkStatus;
98
- _ctx = new Context(void 0, {
99
- F: __dxlog_file,
100
- L: 115
101
- });
102
- // TODO(nf): make platform a required extension?
103
- constructor({ mode, namespace, environment, release, config, group, secrets, telemetry, errorLog }) {
104
- this._mode = mode;
105
- this._namespace = namespace;
106
- this._config = config;
107
- this._group = group;
108
- this._secrets = this._loadSecrets(config, secrets);
109
- this._telemetryBatchSize = telemetry?.batchSize ?? 30;
110
- this._errorReportingOptions = errorLog?.sentryInitOptions;
111
- this.setTag("mode", this._mode);
112
- this.setTag("namespace", this._namespace);
113
- this.setTag("environment", environment);
114
- this.setTag("release", release);
115
- this.setTag("session", PublicKey.random().toHex());
116
- this.setTag("group", this._group);
117
- }
118
- get mode() {
119
- return this._mode;
120
- }
121
- get group() {
122
- return this._group;
123
- }
124
- get enabled() {
125
- return this._mode !== "disabled";
126
- }
127
- _loadSecrets(config, secrets) {
128
- if (isNode()) {
129
- const mergedSecrets = {
130
- ...cli_observability_secrets_default,
131
- ...secrets
132
- };
133
- process.env.DX_ENVIRONMENT && (mergedSecrets.DX_ENVIRONMENT = process.env.DX_ENVIRONMENT);
134
- process.env.DX_RELEASE && (mergedSecrets.DX_RELEASE = process.env.DX_RELEASE);
135
- process.env.SENTRY_DESTINATION && (mergedSecrets.SENTRY_DESTINATION = process.env.SENTRY_DESTINATION);
136
- process.env.TELEMETRY_API_KEY && (mergedSecrets.TELEMETRY_API_KEY = process.env.TELEMETRY_API_KEY);
137
- process.env.IPDATA_API_KEY && (mergedSecrets.IPDATA_API_KEY = process.env.IPDATA_API_KEY);
138
- process.env.DX_OTEL_ENDPOINT && (mergedSecrets.OTEL_ENDPOINT = process.env.DX_OTEL_ENDPOINT);
139
- process.env.DX_OTEL_AUTHORIZATION && (mergedSecrets.OTEL_AUTHORIZATION = process.env.DX_OTEL_AUTHORIZATION);
140
- return mergedSecrets;
141
- } else {
142
- log("config", {
143
- rtc: this._secrets,
144
- config
145
- }, {
146
- F: __dxlog_file,
147
- L: 176,
148
- S: this,
149
- C: (f, a) => f(...a)
150
- });
151
- return {
152
- DX_ENVIRONMENT: config?.get("runtime.app.env.DX_ENVIRONMENT"),
153
- DX_RELEASE: config?.get("runtime.app.env.DX_RELEASE"),
154
- SENTRY_DESTINATION: config?.get("runtime.app.env.DX_SENTRY_DESTINATION"),
155
- TELEMETRY_API_KEY: config?.get("runtime.app.env.DX_TELEMETRY_API_KEY"),
156
- IPDATA_API_KEY: config?.get("runtime.app.env.DX_IPDATA_API_KEY"),
157
- OTEL_ENDPOINT: config?.get("runtime.app.env.DX_OTEL_ENDPOINT"),
158
- OTEL_AUTHORIZATION: config?.get("runtime.app.env.DX_OTEL_AUTHORIZATION"),
159
- ...secrets
160
- };
161
- }
162
- }
163
- async initialize() {
164
- log("initializing...", void 0, {
165
- F: __dxlog_file,
166
- L: 191,
167
- S: this,
168
- C: (f, a) => f(...a)
169
- });
170
- await this._initLogs();
171
- await this._initMetrics();
172
- await this._initTelemetry();
173
- await this._initErrorLogs();
174
- await this._initTraces();
175
- }
176
- async close() {
177
- log("closing...", void 0, {
178
- F: __dxlog_file,
179
- L: 200,
180
- S: this,
181
- C: (f, a) => f(...a)
182
- });
183
- const closes = [];
184
- this._telemetry && closes.push(this._telemetry.close());
185
- this._otelMetrics && closes.push(this._otelMetrics.close());
186
- this._otelLogs && closes.push(this._otelLogs.close());
187
- await Promise.all(closes);
188
- await this._ctx.dispose();
189
- }
190
- setMode(mode) {
191
- this._mode = mode;
192
- }
193
- //
194
- // Tags
195
- //
196
- /** Callback (e.g., to share tags with Sentry.) */
197
- _setTag;
198
- /**
199
- * camelCase keys are converted to snake_case in Segment.
200
- */
201
- setTag(key, value, scope) {
202
- if (value === void 0) {
203
- return;
204
- }
205
- if (this.enabled && (scope === void 0 || scope === "all" || scope === "errors")) {
206
- this._setTag?.(key, value);
207
- }
208
- if (!scope) {
209
- scope = "all";
210
- }
211
- this._tags.set(key, {
212
- value,
213
- scope
214
- });
215
- }
216
- getTag(key) {
217
- return this._tags.get(key);
218
- }
219
- // TODO(wittjosiah): Improve privacy of telemetry identifiers. See `getTelemetryIdentifier`.
220
- async setIdentityTags(clientServices) {
221
- if (clientServices.IdentityService) {
222
- clientServices.IdentityService.queryIdentity().subscribe((idqr) => {
223
- if (!idqr?.identity?.did) {
224
- log("empty response from identity service", {
225
- idqr
226
- }, {
227
- F: __dxlog_file,
228
- L: 247,
229
- S: this,
230
- C: (f, a) => f(...a)
231
- });
232
- return;
233
- }
234
- this.setTag("did", idqr.identity.did);
235
- this._telemetry?.identify({
236
- userId: idqr.identity.did
237
- });
238
- });
239
- }
240
- if (clientServices.DevicesService) {
241
- clientServices.DevicesService.queryDevices().subscribe((dqr) => {
242
- if (!dqr || !dqr.devices || dqr.devices.length === 0) {
243
- log("empty response from device service", {
244
- device: dqr
245
- }, {
246
- F: __dxlog_file,
247
- L: 259,
248
- S: this,
249
- C: (f, a) => f(...a)
250
- });
251
- return;
252
- }
253
- invariant(dqr, "empty response from device service", {
254
- F: __dxlog_file,
255
- L: 263,
256
- S: this,
257
- A: [
258
- "dqr",
259
- "'empty response from device service'"
260
- ]
261
- });
262
- const thisDevice = dqr.devices.find((device) => device.kind === DeviceKind.CURRENT);
263
- if (!thisDevice) {
264
- log("no current device", {
265
- device: dqr
266
- }, {
267
- F: __dxlog_file,
268
- L: 266,
269
- S: this,
270
- C: (f, a) => f(...a)
271
- });
272
- return;
273
- }
274
- this.setTag("deviceKey", thisDevice.deviceKey.truncate());
275
- if (thisDevice.profile?.label) {
276
- this.setTag("deviceProfile", thisDevice.profile.label);
277
- }
278
- });
279
- }
280
- }
281
- setIPDataTelemetryTags = (ipData) => {
282
- this.setTag("city", ipData.city, "telemetry");
283
- this.setTag("region", ipData.region, "telemetry");
284
- this.setTag("country", ipData.country, "telemetry");
285
- ipData.latitude && this.setTag("latitude", ipData.latitude.toString(), "telemetry");
286
- ipData.longitude && this.setTag("longitude", ipData.longitude.toString(), "telemetry");
287
- };
288
- //
289
- // Logs
290
- //
291
- async _initLogs() {
292
- if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== "disabled") {
293
- const { OtelLogs } = await import("./otel-DI4ASU7Y.mjs");
294
- this._otelLogs = new OtelLogs({
295
- endpoint: this._secrets.OTEL_ENDPOINT,
296
- authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
297
- serviceName: this._namespace,
298
- serviceVersion: this.getTag("release")?.value ?? "0.0.0",
299
- getTags: () => Object.fromEntries(Array.from(this._tags).filter(([key, value]) => {
300
- return value.scope === "all" || value.scope === "errors";
301
- }).map(([key, value]) => [
302
- key,
303
- value.value
304
- ])),
305
- logLevel: LogLevel.VERBOSE,
306
- includeSharedWorkerLogs: false
307
- });
308
- this._otelLogs && log.runtimeConfig.processors.push(this._otelLogs.logProcessor);
309
- log("otel logs enabled", {
310
- namespace: this._namespace
311
- }, {
312
- F: __dxlog_file,
313
- L: 310,
314
- S: this,
315
- C: (f, a) => f(...a)
316
- });
317
- } else {
318
- log("otel logs disabled", void 0, {
319
- F: __dxlog_file,
320
- L: 312,
321
- S: this,
322
- C: (f, a) => f(...a)
323
- });
324
- }
325
- }
326
- //
327
- // Metrics
328
- //
329
- async _initMetrics() {
330
- if (this.enabled && this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION) {
331
- const { OtelMetrics } = await import("./otel-DI4ASU7Y.mjs");
332
- this._otelMetrics = new OtelMetrics({
333
- endpoint: this._secrets.OTEL_ENDPOINT,
334
- authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
335
- serviceName: this._namespace,
336
- serviceVersion: this.getTag("release")?.value ?? "0.0.0",
337
- getTags: () => Object.fromEntries(Array.from(this._tags).filter(([key, value]) => {
338
- return value.scope === "all" || value.scope === "metrics";
339
- }).map(([key, value]) => [
340
- key,
341
- value.value
342
- ]))
343
- });
344
- log("otel metrics enabled", void 0, {
345
- F: __dxlog_file,
346
- L: 337,
347
- S: this,
348
- C: (f, a) => f(...a)
349
- });
350
- } else {
351
- log("otel metrics disabled", void 0, {
352
- F: __dxlog_file,
353
- L: 339,
354
- S: this,
355
- C: (f, a) => f(...a)
356
- });
357
- }
358
- }
359
- /**
360
- * Gauge metric.
361
- *
362
- * The default implementation uses OpenTelemetry
363
- */
364
- gauge(name, value, extraTags) {
365
- this._otelMetrics?.gauge(name, value, extraTags);
366
- }
367
- // TODO(nf): Refactor into ObservabilityExtensions.
368
- startNetworkMetrics(clientServices) {
369
- if (!clientServices.NetworkService) {
370
- return;
371
- }
372
- const updateSignalMetrics = new Event().debounce(NETWORK_METRICS_MIN_INTERVAL);
373
- updateSignalMetrics.on(this._ctx, async () => {
374
- log("send signal metrics", void 0, {
375
- F: __dxlog_file,
376
- L: 361,
377
- S: this,
378
- C: (f, a) => f(...a)
379
- });
380
- this._lastNetworkStatus?.signaling?.forEach(({ server, state }) => {
381
- this.gauge("dxos.client.network.signal.connectionState", state, {
382
- server
383
- });
384
- });
385
- let swarmCount = 0;
386
- const connectionStates = /* @__PURE__ */ new Map();
387
- for (const state in ConnectionState) {
388
- connectionStates.set(state, 0);
389
- }
390
- let totalReadBufferSize = 0;
391
- let totalWriteBufferSize = 0;
392
- let totalChannelBufferSize = 0;
393
- this._lastNetworkStatus?.connectionInfo?.forEach((connectionInfo) => {
394
- swarmCount++;
395
- for (const conn of connectionInfo.connections ?? []) {
396
- connectionStates.set(conn.state, (connectionStates.get(conn.state) ?? 0) + 1);
397
- totalReadBufferSize += conn.readBufferSize ?? 0;
398
- totalWriteBufferSize += conn.writeBufferSize ?? 0;
399
- for (const stream of conn.streams ?? []) {
400
- totalChannelBufferSize += stream.writeBufferSize ?? 0;
401
- }
402
- }
403
- this.gauge("dxos.client.network.swarm.count", swarmCount);
404
- for (const state in ConnectionState) {
405
- this.gauge("dxos.client.network.connection.count", connectionStates.get(state) ?? 0, {
406
- state
407
- });
408
- }
409
- this.gauge("dxos.client.network.totalReadBufferSize", totalReadBufferSize);
410
- this.gauge("dxos.client.network.totalWriteBufferSize", totalWriteBufferSize);
411
- this.gauge("dxos.client.network.totalChannelBufferSize", totalChannelBufferSize);
412
- });
413
- });
414
- clientServices.NetworkService.queryStatus().subscribe((networkStatus) => {
415
- this._lastNetworkStatus = networkStatus;
416
- updateSignalMetrics.emit();
417
- });
418
- scheduleTaskInterval(this._ctx, async () => updateSignalMetrics.emit(), NETWORK_METRICS_MIN_INTERVAL);
419
- }
420
- startSpacesMetrics(client, namespace) {
421
- const spaces = client.spaces.get();
422
- const subscriptions = /* @__PURE__ */ new Map();
423
- this._ctx.onDispose(() => subscriptions.forEach((subscription) => subscription.unsubscribe()));
424
- const updateSpaceMetrics = new Event().debounce(SPACE_METRICS_MIN_INTERVAL);
425
- updateSpaceMetrics.on(this._ctx, async () => {
426
- log("send space metrics", void 0, {
427
- F: __dxlog_file,
428
- L: 414,
429
- S: this,
430
- C: (f, a) => f(...a)
431
- });
432
- for (const data of mapSpaces(spaces, {
433
- truncateKeys: true
434
- })) {
435
- this.gauge("dxos.client.space.members", data.members, {
436
- key: data.key
437
- });
438
- this.gauge("dxos.client.space.objects", data.objects, {
439
- key: data.key
440
- });
441
- this.gauge("dxos.client.space.epoch", data.epoch, {
442
- key: data.key
443
- });
444
- this.gauge("dxos.client.space.currentDataMutations", data.currentDataMutations, {
445
- key: data.key
446
- });
447
- }
448
- });
449
- const updateSpaceTelemetry = new Event().debounce(SPACE_TELEMETRY_MIN_INTERVAL);
450
- updateSpaceTelemetry.on(this._ctx, async () => {
451
- log("send space telemetry", void 0, {
452
- F: __dxlog_file,
453
- L: 425,
454
- S: this,
455
- C: (f, a) => f(...a)
456
- });
457
- for (const data of mapSpaces(spaces, {
458
- truncateKeys: true
459
- })) {
460
- this.track({
461
- ...getTelemetryIdentity(client),
462
- event: TelemetryEvent.METRICS,
463
- action: "space.update",
464
- properties: data
465
- });
466
- }
467
- });
468
- const subscribeToSpaceUpdate = (space) => space.pipeline.subscribe({
469
- next: () => {
470
- updateSpaceMetrics.emit();
471
- updateSpaceTelemetry.emit();
472
- }
473
- });
474
- spaces.forEach((space) => {
475
- subscriptions.set(space.id, subscribeToSpaceUpdate(space));
476
- });
477
- client.spaces.subscribe({
478
- next: async (spaces2) => {
479
- spaces2.filter((space) => !subscriptions.has(space.id)).forEach((space) => {
480
- subscriptions.set(space.id, subscribeToSpaceUpdate(space));
481
- });
482
- }
483
- });
484
- scheduleTaskInterval(this._ctx, async () => updateSpaceMetrics.emit(), NETWORK_METRICS_MIN_INTERVAL);
485
- }
486
- async startRuntimeMetrics(client, frequency = NETWORK_METRICS_MIN_INTERVAL) {
487
- const platform = await client.services.services.SystemService?.getPlatform();
488
- invariant(platform, "platform is required", {
489
- F: __dxlog_file,
490
- L: 463,
491
- S: this,
492
- A: [
493
- "platform",
494
- "'platform is required'"
495
- ]
496
- });
497
- this.setTag("platformType", Platform.PLATFORM_TYPE[platform.type].toLowerCase());
498
- if (this._mode === "full") {
499
- if (platform.platform) {
500
- this.setTag("platform", platform.platform);
501
- }
502
- if (platform.arch) {
503
- this.setTag("arch", platform.arch);
504
- }
505
- if (platform.runtime) {
506
- this.setTag("runtime", platform.runtime);
507
- }
508
- }
509
- scheduleTaskInterval(this._ctx, async () => {
510
- if (client.services.constructor.name === "WorkerClientServices") {
511
- const memory = window.performance.memory;
512
- if (memory) {
513
- this.gauge("dxos.client.runtime.heapTotal", memory.totalJSHeapSize);
514
- this.gauge("dxos.client.runtime.heapUsed", memory.usedJSHeapSize);
515
- this.gauge("dxos.client.runtime.heapSizeLimit", memory.jsHeapSizeLimit);
516
- }
517
- }
518
- client.services.services.SystemService?.getPlatform().then((platform2) => {
519
- if (platform2.memory) {
520
- this.gauge("dxos.client.services.runtime.rss", platform2.memory.rss);
521
- this.gauge("dxos.client.services.runtime.heapTotal", platform2.memory.heapTotal);
522
- this.gauge("dxos.client.services.runtime.heapUsed", platform2.memory.heapUsed);
523
- }
524
- }).catch((error) => log("platform error", {
525
- error
526
- }, {
527
- F: __dxlog_file,
528
- L: 497,
529
- S: this,
530
- C: (f, a) => f(...a)
531
- }));
532
- }, frequency);
533
- }
534
- //
535
- // Telemetry
536
- //
537
- async _initTelemetry() {
538
- if (this._secrets.TELEMETRY_API_KEY && this._mode !== "disabled" && typeof document !== "undefined") {
539
- const { SegmentTelemetry } = await import("./segment/index.mjs");
540
- this._telemetry = new SegmentTelemetry({
541
- apiKey: this._secrets.TELEMETRY_API_KEY,
542
- batchSize: this._telemetryBatchSize,
543
- getTags: () => Object.fromEntries(Array.from(this._tags).filter(([key, value]) => {
544
- return value.scope === "all" || value.scope === "telemetry";
545
- }).map(([key, value]) => [
546
- key,
547
- value.value
548
- ]))
549
- });
550
- } else {
551
- log("segment disabled", void 0, {
552
- F: __dxlog_file,
553
- L: 523,
554
- S: this,
555
- C: (f, a) => f(...a)
556
- });
557
- }
558
- }
559
- /**
560
- * Submit telemetry page view.
561
- * The default implementation uses Segment.
562
- */
563
- page(options) {
564
- this._telemetry?.page(options);
565
- }
566
- /**
567
- * Submit telemetry user action.
568
- * The default implementation uses Segment.
569
- */
570
- track(options) {
571
- this._telemetry?.track(options);
572
- }
573
- //
574
- // Error Logs
575
- //
576
- async _initErrorLogs() {
577
- if (this._secrets.SENTRY_DESTINATION && this._mode !== "disabled") {
578
- const { captureException, captureUserFeedback, init, setTag } = await import("./sentry/index.mjs");
579
- const { SentryLogProcessor } = await import("./sentry-log-processor-W7LI6WXA.mjs");
580
- this._captureException = captureException;
581
- this._captureUserFeedback = captureUserFeedback;
582
- this._setTag = setTag;
583
- log.info("Initializing Sentry", {
584
- dest: this._secrets.SENTRY_DESTINATION,
585
- options: this._errorReportingOptions
586
- }, {
587
- F: __dxlog_file,
588
- L: 556,
589
- S: this,
590
- C: (f, a) => f(...a)
591
- });
592
- this._sentryLogProcessor = new SentryLogProcessor();
593
- init({
594
- ...this._errorReportingOptions,
595
- destination: this._secrets.SENTRY_DESTINATION,
596
- scrubFilenames: this._mode !== "full",
597
- onError: (event) => this._sentryLogProcessor.addLogBreadcrumbsTo(event)
598
- });
599
- this._tags.forEach((v, k) => {
600
- if (v.scope === "all" || v.scope === "errors") {
601
- setTag(k, v.value);
602
- }
603
- });
604
- } else {
605
- log("sentry disabled", void 0, {
606
- F: __dxlog_file,
607
- L: 576,
608
- S: this,
609
- C: (f, a) => f(...a)
610
- });
611
- }
612
- }
613
- startErrorLogs() {
614
- this._sentryLogProcessor && log.runtimeConfig.processors.push(this._sentryLogProcessor.logProcessor);
615
- }
616
- startTraces() {
617
- this._otelTraces && this._otelTraces.start();
618
- }
619
- // TODO(nf): Refactor init based on providers and their capabilities.
620
- async _initTraces() {
621
- if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== "disabled") {
622
- const { OtelTraces } = await import("./otel-DI4ASU7Y.mjs");
623
- this._otelTraces = new OtelTraces({
624
- endpoint: this._secrets.OTEL_ENDPOINT,
625
- authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
626
- serviceName: this._namespace,
627
- serviceVersion: this.getTag("release")?.value ?? "0.0.0",
628
- getTags: () => Object.fromEntries(Array.from(this._tags).filter(([key, value]) => {
629
- return value.scope === "all" || value.scope === "metrics";
630
- }).map(([key, value]) => [
631
- key,
632
- value.value
633
- ]))
634
- });
635
- }
636
- }
637
- /**
638
- * Manually capture an exception.
639
- * The default implementation uses Sentry.
640
- */
641
- captureException(err) {
642
- if (this.enabled) {
643
- this._captureException?.(err);
644
- }
645
- }
646
- /**
647
- * Manually capture user feedback.
648
- * The default implementation uses Sentry.
649
- */
650
- captureUserFeedback(message) {
651
- if (!this._secrets.SENTRY_DESTINATION) {
652
- log.info("Feedback submitted without Sentry destination", {
653
- message
654
- }, {
655
- F: __dxlog_file,
656
- L: 625,
657
- S: this,
658
- C: (f, a) => f(...a)
659
- });
660
- return;
661
- }
662
- void this._captureUserFeedback?.(message);
663
- }
664
- };
665
-
666
- export {
667
- Observability,
668
- getTelemetryIdentifier,
669
- getTelemetryIdentity,
670
- mapSpaces
671
- };
672
- //# sourceMappingURL=chunk-JJQT5TQH.mjs.map