@dxos/observability 0.8.4-main.dedc0f3 → 0.8.4-main.dfabb4ec29

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 (325) hide show
  1. package/README.md +14 -11
  2. package/dist/lib/browser/chunk-3534PNWM.mjs +13 -0
  3. package/dist/lib/browser/chunk-3534PNWM.mjs.map +7 -0
  4. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  5. package/dist/lib/browser/index.mjs +940 -34
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/log-processor-HPHWNBOK.mjs +38 -0
  8. package/dist/lib/browser/log-processor-HPHWNBOK.mjs.map +7 -0
  9. package/dist/lib/browser/logs-A2VDAHHD.mjs +115 -0
  10. package/dist/lib/browser/logs-A2VDAHHD.mjs.map +7 -0
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/metrics-6OSN54ZV.mjs +115 -0
  13. package/dist/lib/browser/metrics-6OSN54ZV.mjs.map +7 -0
  14. package/dist/lib/browser/traces-browser-6MRGAKFC.mjs +151 -0
  15. package/dist/lib/browser/traces-browser-6MRGAKFC.mjs.map +7 -0
  16. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  17. package/dist/lib/node-esm/chunk-SYPJQI4L.mjs +15 -0
  18. package/dist/lib/node-esm/chunk-SYPJQI4L.mjs.map +7 -0
  19. package/dist/lib/node-esm/index.mjs +962 -34
  20. package/dist/lib/node-esm/index.mjs.map +4 -4
  21. package/dist/lib/node-esm/log-processor-ZODHERST.mjs +39 -0
  22. package/dist/lib/node-esm/log-processor-ZODHERST.mjs.map +7 -0
  23. package/dist/lib/node-esm/logs-TA32MBMW.mjs +116 -0
  24. package/dist/lib/node-esm/logs-TA32MBMW.mjs.map +7 -0
  25. package/dist/lib/node-esm/meta.json +1 -1
  26. package/dist/lib/node-esm/metrics-C5IKPAWD.mjs +116 -0
  27. package/dist/lib/node-esm/metrics-C5IKPAWD.mjs.map +7 -0
  28. package/dist/lib/node-esm/traces-5LKHMVVG.mjs +122 -0
  29. package/dist/lib/node-esm/traces-5LKHMVVG.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 +201 -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/extensions/otel/logs.js +107 -0
  46. package/dist/types/src/extensions/otel/logs.js.map +1 -0
  47. package/dist/types/src/{otel → extensions/otel}/metrics.d.ts +0 -1
  48. package/dist/types/src/extensions/otel/metrics.d.ts.map +1 -0
  49. package/dist/types/src/{otel → extensions/otel}/metrics.js +2 -11
  50. package/dist/types/src/extensions/otel/metrics.js.map +1 -0
  51. package/dist/types/src/{otel → extensions/otel}/otel.d.ts +3 -3
  52. package/dist/types/src/extensions/otel/otel.d.ts.map +1 -0
  53. package/dist/types/src/extensions/otel/otel.js.map +1 -0
  54. package/dist/types/src/extensions/otel/span-processors.d.ts +25 -0
  55. package/dist/types/src/extensions/otel/span-processors.d.ts.map +1 -0
  56. package/dist/types/src/extensions/otel/span-processors.js +41 -0
  57. package/dist/types/src/extensions/otel/span-processors.js.map +1 -0
  58. package/dist/types/src/extensions/otel/traces-browser.d.ts +25 -0
  59. package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -0
  60. package/dist/types/src/extensions/otel/traces-browser.js +104 -0
  61. package/dist/types/src/extensions/otel/traces-browser.js.map +1 -0
  62. package/dist/types/src/extensions/otel/traces.d.ts +25 -0
  63. package/dist/types/src/extensions/otel/traces.d.ts.map +1 -0
  64. package/dist/types/src/extensions/otel/traces.js +87 -0
  65. package/dist/types/src/extensions/otel/traces.js.map +1 -0
  66. package/dist/types/src/extensions/posthog/extension.d.ts +22 -0
  67. package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -0
  68. package/dist/types/src/extensions/posthog/extension.js +144 -0
  69. package/dist/types/src/extensions/posthog/extension.js.map +1 -0
  70. package/dist/types/src/extensions/posthog/index.d.ts +2 -0
  71. package/dist/types/src/extensions/posthog/index.d.ts.map +1 -0
  72. package/dist/types/src/extensions/posthog/index.js +5 -0
  73. package/dist/types/src/extensions/posthog/index.js.map +1 -0
  74. package/dist/types/src/extensions/posthog/log-processor.d.ts +3 -0
  75. package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -0
  76. package/dist/types/src/extensions/posthog/log-processor.js +36 -0
  77. package/dist/types/src/extensions/posthog/log-processor.js.map +1 -0
  78. package/dist/types/src/extensions/posthog/log-processor.test.d.ts +2 -0
  79. package/dist/types/src/extensions/posthog/log-processor.test.d.ts.map +1 -0
  80. package/dist/types/src/extensions/posthog/log-processor.test.js +146 -0
  81. package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -0
  82. package/dist/types/src/extensions/stub.d.ts +3 -0
  83. package/dist/types/src/extensions/stub.d.ts.map +1 -0
  84. package/dist/types/src/extensions/stub.js +16 -0
  85. package/dist/types/src/extensions/stub.js.map +1 -0
  86. package/dist/types/src/index.d.ts +3 -2
  87. package/dist/types/src/index.d.ts.map +1 -1
  88. package/dist/types/src/index.js +4 -3
  89. package/dist/types/src/index.js.map +1 -1
  90. package/dist/types/src/observability-extension.d.ts +74 -0
  91. package/dist/types/src/observability-extension.d.ts.map +1 -0
  92. package/dist/types/src/observability-extension.js +5 -0
  93. package/dist/types/src/observability-extension.js.map +1 -0
  94. package/dist/types/src/observability.d.ts +32 -110
  95. package/dist/types/src/observability.d.ts.map +1 -1
  96. package/dist/types/src/observability.js +177 -465
  97. package/dist/types/src/observability.js.map +1 -1
  98. package/dist/types/src/observability.test.d.ts +2 -0
  99. package/dist/types/src/observability.test.d.ts.map +1 -0
  100. package/dist/types/src/observability.test.js +312 -0
  101. package/dist/types/src/observability.test.js.map +1 -0
  102. package/dist/types/src/providers/client-observability.d.ts +11 -0
  103. package/dist/types/src/providers/client-observability.d.ts.map +1 -0
  104. package/dist/types/src/providers/client-observability.js +202 -0
  105. package/dist/types/src/providers/client-observability.js.map +1 -0
  106. package/dist/types/src/providers/index.d.ts +4 -0
  107. package/dist/types/src/providers/index.d.ts.map +1 -0
  108. package/dist/types/src/providers/index.js +7 -0
  109. package/dist/types/src/providers/index.js.map +1 -0
  110. package/dist/types/src/providers/ip-data.d.ts +5 -0
  111. package/dist/types/src/providers/ip-data.d.ts.map +1 -0
  112. package/dist/types/src/providers/ip-data.js +57 -0
  113. package/dist/types/src/providers/ip-data.js.map +1 -0
  114. package/dist/types/src/providers/storage.d.ts +3 -0
  115. package/dist/types/src/providers/storage.d.ts.map +1 -0
  116. package/dist/types/src/providers/storage.js +19 -0
  117. package/dist/types/src/providers/storage.js.map +1 -0
  118. package/dist/types/src/storage/browser.d.ts +19 -0
  119. package/dist/types/src/storage/browser.d.ts.map +1 -0
  120. package/dist/types/src/storage/browser.js +69 -0
  121. package/dist/types/src/storage/browser.js.map +1 -0
  122. package/dist/types/src/storage/index.d.ts +2 -0
  123. package/dist/types/src/storage/index.d.ts.map +1 -0
  124. package/dist/types/src/storage/index.js.map +1 -0
  125. package/dist/types/src/storage/node.d.ts +26 -0
  126. package/dist/types/src/storage/node.d.ts.map +1 -0
  127. package/dist/types/src/{helpers/node-observability.js → storage/node.js} +38 -43
  128. package/dist/types/src/storage/node.js.map +1 -0
  129. package/dist/types/src/storage/node.test.d.ts +2 -0
  130. package/dist/types/src/storage/node.test.d.ts.map +1 -0
  131. package/dist/types/src/storage/node.test.js +103 -0
  132. package/dist/types/src/storage/node.test.js.map +1 -0
  133. package/dist/types/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +46 -66
  135. package/src/cli-observability-secrets.json +3 -4
  136. package/src/extensions/index.ts +6 -0
  137. package/src/extensions/otel/extension.ts +258 -0
  138. package/src/extensions/otel/index.ts +5 -0
  139. package/src/extensions/otel/logs.ts +137 -0
  140. package/src/{otel → extensions/otel}/metrics.ts +3 -20
  141. package/src/{otel → extensions/otel}/otel.ts +3 -3
  142. package/src/extensions/otel/span-processors.ts +45 -0
  143. package/src/extensions/otel/traces-browser.ts +139 -0
  144. package/src/extensions/otel/traces.ts +113 -0
  145. package/src/extensions/posthog/extension.ts +181 -0
  146. package/src/extensions/posthog/index.ts +5 -0
  147. package/src/extensions/posthog/log-processor.test.ts +186 -0
  148. package/src/extensions/posthog/log-processor.ts +43 -0
  149. package/src/extensions/stub.ts +19 -0
  150. package/src/index.ts +4 -3
  151. package/src/observability-extension.ts +94 -0
  152. package/src/observability.test.ts +531 -0
  153. package/src/observability.ts +236 -577
  154. package/src/providers/client-observability.ts +255 -0
  155. package/src/providers/index.ts +7 -0
  156. package/src/providers/ip-data.ts +91 -0
  157. package/src/providers/storage.ts +23 -0
  158. package/src/storage/browser.ts +71 -0
  159. package/src/{segment → storage}/index.ts +0 -1
  160. package/src/storage/node.test.ts +129 -0
  161. package/src/{helpers/node-observability.ts → storage/node.ts} +41 -71
  162. package/src/vite-import-meta.d.ts +14 -0
  163. package/dist/lib/browser/chunk-5ICT2XF2.mjs +0 -1
  164. package/dist/lib/browser/chunk-LJO63BXO.mjs +0 -164
  165. package/dist/lib/browser/chunk-LJO63BXO.mjs.map +0 -7
  166. package/dist/lib/browser/chunk-MB7KKARJ.mjs +0 -1025
  167. package/dist/lib/browser/chunk-MB7KKARJ.mjs.map +0 -7
  168. package/dist/lib/browser/chunk-VSEBD3XA.mjs +0 -161
  169. package/dist/lib/browser/chunk-VSEBD3XA.mjs.map +0 -7
  170. package/dist/lib/browser/observability-NZM3OOLO.mjs +0 -10
  171. package/dist/lib/browser/otel-UHLVSR24.mjs +0 -325
  172. package/dist/lib/browser/otel-UHLVSR24.mjs.map +0 -7
  173. package/dist/lib/browser/segment/index.mjs +0 -11
  174. package/dist/lib/browser/segment/index.mjs.map +0 -7
  175. package/dist/lib/browser/sentry/index.mjs +0 -24
  176. package/dist/lib/browser/sentry/index.mjs.map +0 -7
  177. package/dist/lib/browser/sentry-log-processor-RG4CFVGL.mjs +0 -162
  178. package/dist/lib/browser/sentry-log-processor-RG4CFVGL.mjs.map +0 -7
  179. package/dist/lib/node-esm/chunk-GOWQOSY6.mjs +0 -229
  180. package/dist/lib/node-esm/chunk-GOWQOSY6.mjs.map +0 -7
  181. package/dist/lib/node-esm/chunk-QK5IUYVA.mjs +0 -135
  182. package/dist/lib/node-esm/chunk-QK5IUYVA.mjs.map +0 -7
  183. package/dist/lib/node-esm/chunk-QUZL7LKE.mjs +0 -2
  184. package/dist/lib/node-esm/chunk-QUZL7LKE.mjs.map +0 -7
  185. package/dist/lib/node-esm/chunk-YLYRR73V.mjs +0 -1026
  186. package/dist/lib/node-esm/chunk-YLYRR73V.mjs.map +0 -7
  187. package/dist/lib/node-esm/observability-2CTGITMR.mjs +0 -11
  188. package/dist/lib/node-esm/observability-2CTGITMR.mjs.map +0 -7
  189. package/dist/lib/node-esm/otel-W6KWKVW5.mjs +0 -308
  190. package/dist/lib/node-esm/otel-W6KWKVW5.mjs.map +0 -7
  191. package/dist/lib/node-esm/segment/index.mjs +0 -12
  192. package/dist/lib/node-esm/segment/index.mjs.map +0 -7
  193. package/dist/lib/node-esm/sentry/index.mjs +0 -25
  194. package/dist/lib/node-esm/sentry/index.mjs.map +0 -7
  195. package/dist/lib/node-esm/sentry-log-processor-3BDS4BB4.mjs +0 -163
  196. package/dist/lib/node-esm/sentry-log-processor-3BDS4BB4.mjs.map +0 -7
  197. package/dist/types/src/helpers/browser-observability.d.ts +0 -17
  198. package/dist/types/src/helpers/browser-observability.d.ts.map +0 -1
  199. package/dist/types/src/helpers/browser-observability.js +0 -138
  200. package/dist/types/src/helpers/browser-observability.js.map +0 -1
  201. package/dist/types/src/helpers/common.d.ts +0 -12
  202. package/dist/types/src/helpers/common.d.ts.map +0 -1
  203. package/dist/types/src/helpers/common.js +0 -23
  204. package/dist/types/src/helpers/common.js.map +0 -1
  205. package/dist/types/src/helpers/index.d.ts +0 -6
  206. package/dist/types/src/helpers/index.d.ts.map +0 -1
  207. package/dist/types/src/helpers/index.js +0 -9
  208. package/dist/types/src/helpers/index.js.map +0 -1
  209. package/dist/types/src/helpers/map-spaces.d.ts +0 -18
  210. package/dist/types/src/helpers/map-spaces.d.ts.map +0 -1
  211. package/dist/types/src/helpers/map-spaces.js +0 -36
  212. package/dist/types/src/helpers/map-spaces.js.map +0 -1
  213. package/dist/types/src/helpers/node-observability.d.ts +0 -24
  214. package/dist/types/src/helpers/node-observability.d.ts.map +0 -1
  215. package/dist/types/src/helpers/node-observability.js.map +0 -1
  216. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts +0 -4
  217. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +0 -1
  218. package/dist/types/src/helpers/setup-telemetry-listeners.js +0 -94
  219. package/dist/types/src/helpers/setup-telemetry-listeners.js.map +0 -1
  220. package/dist/types/src/otel/index.d.ts +0 -5
  221. package/dist/types/src/otel/index.d.ts.map +0 -1
  222. package/dist/types/src/otel/index.js +0 -8
  223. package/dist/types/src/otel/index.js.map +0 -1
  224. package/dist/types/src/otel/logs.d.ts.map +0 -1
  225. package/dist/types/src/otel/logs.js +0 -72
  226. package/dist/types/src/otel/logs.js.map +0 -1
  227. package/dist/types/src/otel/metrics.d.ts.map +0 -1
  228. package/dist/types/src/otel/metrics.js.map +0 -1
  229. package/dist/types/src/otel/otel.d.ts.map +0 -1
  230. package/dist/types/src/otel/otel.js.map +0 -1
  231. package/dist/types/src/otel/traces-browser.d.ts +0 -8
  232. package/dist/types/src/otel/traces-browser.d.ts.map +0 -1
  233. package/dist/types/src/otel/traces-browser.js +0 -49
  234. package/dist/types/src/otel/traces-browser.js.map +0 -1
  235. package/dist/types/src/otel/traces.d.ts +0 -8
  236. package/dist/types/src/otel/traces.d.ts.map +0 -1
  237. package/dist/types/src/otel/traces.js +0 -42
  238. package/dist/types/src/otel/traces.js.map +0 -1
  239. package/dist/types/src/segment/base.d.ts +0 -15
  240. package/dist/types/src/segment/base.d.ts.map +0 -1
  241. package/dist/types/src/segment/base.js +0 -51
  242. package/dist/types/src/segment/base.js.map +0 -1
  243. package/dist/types/src/segment/browser.d.ts +0 -15
  244. package/dist/types/src/segment/browser.d.ts.map +0 -1
  245. package/dist/types/src/segment/browser.js +0 -63
  246. package/dist/types/src/segment/browser.js.map +0 -1
  247. package/dist/types/src/segment/index.d.ts +0 -3
  248. package/dist/types/src/segment/index.d.ts.map +0 -1
  249. package/dist/types/src/segment/index.js +0 -6
  250. package/dist/types/src/segment/index.js.map +0 -1
  251. package/dist/types/src/segment/node.d.ts +0 -16
  252. package/dist/types/src/segment/node.d.ts.map +0 -1
  253. package/dist/types/src/segment/node.js +0 -84
  254. package/dist/types/src/segment/node.js.map +0 -1
  255. package/dist/types/src/segment/types.d.ts +0 -52
  256. package/dist/types/src/segment/types.d.ts.map +0 -1
  257. package/dist/types/src/segment/types.js +0 -18
  258. package/dist/types/src/segment/types.js.map +0 -1
  259. package/dist/types/src/sentry/browser.d.ts +0 -32
  260. package/dist/types/src/sentry/browser.d.ts.map +0 -1
  261. package/dist/types/src/sentry/browser.js +0 -110
  262. package/dist/types/src/sentry/browser.js.map +0 -1
  263. package/dist/types/src/sentry/index.d.ts +0 -3
  264. package/dist/types/src/sentry/index.d.ts.map +0 -1
  265. package/dist/types/src/sentry/index.js.map +0 -1
  266. package/dist/types/src/sentry/node.d.ts +0 -32
  267. package/dist/types/src/sentry/node.d.ts.map +0 -1
  268. package/dist/types/src/sentry/node.js +0 -106
  269. package/dist/types/src/sentry/node.js.map +0 -1
  270. package/dist/types/src/sentry/node.node.test.d.ts +0 -2
  271. package/dist/types/src/sentry/node.node.test.d.ts.map +0 -1
  272. package/dist/types/src/sentry/node.node.test.js +0 -32
  273. package/dist/types/src/sentry/node.node.test.js.map +0 -1
  274. package/dist/types/src/sentry/sentry-log-processor.d.ts +0 -9
  275. package/dist/types/src/sentry/sentry-log-processor.d.ts.map +0 -1
  276. package/dist/types/src/sentry/sentry-log-processor.js +0 -144
  277. package/dist/types/src/sentry/sentry-log-processor.js.map +0 -1
  278. package/dist/types/src/sentry/sentry.node.test.d.ts +0 -2
  279. package/dist/types/src/sentry/sentry.node.test.d.ts.map +0 -1
  280. package/dist/types/src/sentry/sentry.node.test.js +0 -28
  281. package/dist/types/src/sentry/sentry.node.test.js.map +0 -1
  282. package/dist/types/src/sentry/types.d.ts +0 -18
  283. package/dist/types/src/sentry/types.d.ts.map +0 -1
  284. package/dist/types/src/sentry/types.js +0 -4
  285. package/dist/types/src/sentry/types.js.map +0 -1
  286. package/dist/types/src/testing/index.d.ts +0 -2
  287. package/dist/types/src/testing/index.d.ts.map +0 -1
  288. package/dist/types/src/testing/index.js +0 -5
  289. package/dist/types/src/testing/index.js.map +0 -1
  290. package/dist/types/src/testing/testkit/browser.d.ts +0 -2
  291. package/dist/types/src/testing/testkit/browser.d.ts.map +0 -1
  292. package/dist/types/src/testing/testkit/browser.js +0 -7
  293. package/dist/types/src/testing/testkit/browser.js.map +0 -1
  294. package/dist/types/src/testing/testkit/index.d.ts +0 -2
  295. package/dist/types/src/testing/testkit/index.d.ts.map +0 -1
  296. package/dist/types/src/testing/testkit/index.js +0 -6
  297. package/dist/types/src/testing/testkit/index.js.map +0 -1
  298. package/src/helpers/browser-observability.ts +0 -178
  299. package/src/helpers/common.ts +0 -38
  300. package/src/helpers/index.ts +0 -9
  301. package/src/helpers/map-spaces.ts +0 -48
  302. package/src/helpers/setup-telemetry-listeners.ts +0 -109
  303. package/src/otel/index.ts +0 -8
  304. package/src/otel/logs.ts +0 -100
  305. package/src/otel/traces-browser.ts +0 -59
  306. package/src/otel/traces.ts +0 -57
  307. package/src/segment/base.ts +0 -69
  308. package/src/segment/browser.ts +0 -69
  309. package/src/segment/node.ts +0 -95
  310. package/src/segment/types.ts +0 -57
  311. package/src/sentry/browser.ts +0 -133
  312. package/src/sentry/index.ts +0 -6
  313. package/src/sentry/node.node.test.ts +0 -40
  314. package/src/sentry/node.ts +0 -126
  315. package/src/sentry/sentry-log-processor.ts +0 -174
  316. package/src/sentry/sentry.node.test.ts +0 -35
  317. package/src/sentry/types.ts +0 -22
  318. package/src/testing/index.ts +0 -5
  319. package/src/testing/testkit/browser.ts +0 -8
  320. package/src/testing/testkit/index.ts +0 -7
  321. package/src/testing/testkit/shims.d.ts +0 -5
  322. /package/dist/lib/browser/{chunk-5ICT2XF2.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  323. /package/dist/lib/{browser/observability-NZM3OOLO.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
  324. /package/dist/types/src/{otel → extensions/otel}/otel.js +0 -0
  325. /package/dist/types/src/{sentry → storage}/index.js +0 -0
@@ -1,325 +0,0 @@
1
- // src/otel/otel.ts
2
- import { DiagConsoleLogger, DiagLogLevel, diag } from "@opentelemetry/api";
3
- var setDiagLogger = (level) => {
4
- const logLevel = DiagLogLevel[level];
5
- if (logLevel) {
6
- diag.setLogger(new DiagConsoleLogger(), logLevel);
7
- }
8
- };
9
-
10
- // src/otel/logs.ts
11
- import { SeverityNumber } from "@opentelemetry/api-logs";
12
- import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
13
- import { Resource } from "@opentelemetry/resources";
14
- import { BatchLogRecordProcessor, LoggerProvider } from "@opentelemetry/sdk-logs";
15
- import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
16
- import { LogLevel, getContextFromEntry, getRelativeFilename } from "@dxos/log";
17
- import { jsonlogify } from "@dxos/util";
18
- function _define_property(obj, key, value) {
19
- if (key in obj) {
20
- Object.defineProperty(obj, key, {
21
- value,
22
- enumerable: true,
23
- configurable: true,
24
- writable: true
25
- });
26
- } else {
27
- obj[key] = value;
28
- }
29
- return obj;
30
- }
31
- var OtelLogs = class {
32
- flush() {
33
- return this._loggerProvider.forceFlush();
34
- }
35
- close() {
36
- return this._loggerProvider.shutdown();
37
- }
38
- constructor(options) {
39
- _define_property(this, "options", void 0);
40
- _define_property(this, "_loggerProvider", void 0);
41
- _define_property(this, "logProcessor", void 0);
42
- this.options = options;
43
- this.logProcessor = (config, entry) => {
44
- const logger = this._loggerProvider.getLogger("dxos-observability", this.options.serviceVersion);
45
- if (entry.level < this.options.logLevel || !this.options.includeSharedWorkerLogs && entry.meta?.S?.remoteSessionId) {
46
- return;
47
- }
48
- const record = {
49
- ...entry,
50
- ...entry.meta ? {
51
- meta: {
52
- file: getRelativeFilename(entry.meta.F),
53
- line: entry.meta.L
54
- }
55
- } : {},
56
- context: jsonlogify(getContextFromEntry(entry))
57
- };
58
- logger.emit({
59
- severityNumber: convertLevel(entry.level),
60
- body: JSON.stringify(record),
61
- attributes: this.options.getTags()
62
- });
63
- };
64
- setDiagLogger(options.consoleDiagLogLevel);
65
- const resource = Resource.default().merge(new Resource({
66
- [SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,
67
- [SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion
68
- }));
69
- const logExporter = new OTLPLogExporter({
70
- url: this.options.endpoint + "/v1/logs",
71
- headers: {
72
- Authorization: this.options.authorizationHeader
73
- },
74
- concurrencyLimit: 10
75
- });
76
- this._loggerProvider = new LoggerProvider({
77
- resource
78
- });
79
- this._loggerProvider.addLogRecordProcessor(new BatchLogRecordProcessor(logExporter));
80
- }
81
- };
82
- var convertLevel = (level) => {
83
- switch (level) {
84
- case LogLevel.DEBUG:
85
- return SeverityNumber.DEBUG;
86
- case LogLevel.VERBOSE:
87
- return SeverityNumber.INFO;
88
- case LogLevel.INFO:
89
- return SeverityNumber.INFO;
90
- case LogLevel.WARN:
91
- return SeverityNumber.WARN;
92
- case LogLevel.ERROR:
93
- return SeverityNumber.ERROR;
94
- default:
95
- return SeverityNumber.ERROR;
96
- }
97
- };
98
-
99
- // src/otel/metrics.ts
100
- import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
101
- import { Resource as Resource2 } from "@opentelemetry/resources";
102
- import { MeterProvider, PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
103
- import { SEMRESATTRS_SERVICE_NAME as SEMRESATTRS_SERVICE_NAME2, SEMRESATTRS_SERVICE_VERSION as SEMRESATTRS_SERVICE_VERSION2 } from "@opentelemetry/semantic-conventions";
104
- import { log } from "@dxos/log";
105
- import { TRACE_PROCESSOR } from "@dxos/tracing";
106
- function _define_property2(obj, key, value) {
107
- if (key in obj) {
108
- Object.defineProperty(obj, key, {
109
- value,
110
- enumerable: true,
111
- configurable: true,
112
- writable: true
113
- });
114
- } else {
115
- obj[key] = value;
116
- }
117
- return obj;
118
- }
119
- var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/otel/metrics.ts";
120
- var EXPORT_INTERVAL = 60 * 1e3;
121
- var OtelMetrics = class {
122
- gauge(name, value, tags) {
123
- const gauge = this._meter.createGauge(name);
124
- log("otel gauge", {
125
- name,
126
- value,
127
- tags: {
128
- ...this.options.getTags(),
129
- ...tags
130
- }
131
- }, {
132
- F: __dxlog_file,
133
- L: 77,
134
- S: this,
135
- C: (f, a) => f(...a)
136
- });
137
- gauge.record(value, {
138
- ...this.options.getTags(),
139
- ...tags
140
- });
141
- }
142
- increment(name, value, tags) {
143
- const counter = this._meter.createCounter(name);
144
- log("otel counter", {
145
- name,
146
- value,
147
- tags: {
148
- ...this.options.getTags(),
149
- ...tags
150
- }
151
- }, {
152
- F: __dxlog_file,
153
- L: 83,
154
- S: this,
155
- C: (f, a) => f(...a)
156
- });
157
- counter.add(value ?? 1, {
158
- ...this.options.getTags(),
159
- ...tags
160
- });
161
- }
162
- distribution(name, value, tags) {
163
- const distribution = this._meter.createHistogram(name);
164
- log("otel distribution", {
165
- name,
166
- value,
167
- tags: {
168
- ...this.options.getTags(),
169
- ...tags
170
- }
171
- }, {
172
- F: __dxlog_file,
173
- L: 89,
174
- S: this,
175
- C: (f, a) => f(...a)
176
- });
177
- distribution.record(value, {
178
- ...this.options.getTags(),
179
- ...tags
180
- });
181
- }
182
- flush() {
183
- return this._meterProvider.forceFlush();
184
- }
185
- close() {
186
- return this._meterProvider.shutdown();
187
- }
188
- constructor(options) {
189
- _define_property2(this, "options", void 0);
190
- _define_property2(this, "_meterProvider", void 0);
191
- _define_property2(this, "_meter", void 0);
192
- _define_property2(this, "_gauges", void 0);
193
- this.options = options;
194
- this._gauges = /* @__PURE__ */ new Map();
195
- setDiagLogger(options.consoleDiagLogLevel);
196
- const resource = Resource2.default().merge(new Resource2({
197
- [SEMRESATTRS_SERVICE_NAME2]: this.options.serviceName,
198
- [SEMRESATTRS_SERVICE_VERSION2]: this.options.serviceVersion
199
- }));
200
- const grafanaMetricReader = new PeriodicExportingMetricReader({
201
- exporter: new OTLPMetricExporter({
202
- url: this.options.endpoint + "/v1/metrics",
203
- headers: {
204
- Authorization: this.options.authorizationHeader
205
- }
206
- }),
207
- exportIntervalMillis: EXPORT_INTERVAL
208
- });
209
- this._meterProvider = new MeterProvider({
210
- resource,
211
- readers: [
212
- grafanaMetricReader
213
- ]
214
- });
215
- this._meter = this._meterProvider.getMeter("dxos-observability");
216
- const metrics = {
217
- // TODO: update metrics names and remove prefix?
218
- increment: (name, value, data) => {
219
- this.increment(name, value, convertTags(data));
220
- },
221
- distribution: (name, value, data) => {
222
- this.distribution(name, value, convertTags(data));
223
- },
224
- set: (name, value, data) => {
225
- },
226
- gauge: (name, value, data) => {
227
- this.gauge(name, value, convertTags(data));
228
- }
229
- };
230
- TRACE_PROCESSOR.remoteMetrics.registerProcessor(metrics);
231
- }
232
- };
233
- var convertTags = (data) => {
234
- if (data && data.tags) {
235
- return Object.entries(data.tags).reduce((obj, [key, value]) => {
236
- obj[key] = value;
237
- return obj;
238
- }, {});
239
- } else {
240
- return {};
241
- }
242
- };
243
-
244
- // src/otel/traces-browser.ts
245
- import { trace } from "@opentelemetry/api";
246
- import { getWebAutoInstrumentations } from "@opentelemetry/auto-instrumentations-web";
247
- import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
248
- import { registerInstrumentations } from "@opentelemetry/instrumentation";
249
- import { Resource as Resource3 } from "@opentelemetry/resources";
250
- import { BatchSpanProcessor, ConsoleSpanExporter, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
251
- import { WebTracerProvider } from "@opentelemetry/sdk-trace-web";
252
- import { SEMRESATTRS_SERVICE_NAME as SEMRESATTRS_SERVICE_NAME3, SEMRESATTRS_SERVICE_VERSION as SEMRESATTRS_SERVICE_VERSION3 } from "@opentelemetry/semantic-conventions";
253
- import { log as log2 } from "@dxos/log";
254
- import { TRACE_PROCESSOR as TRACE_PROCESSOR2 } from "@dxos/tracing";
255
- function _define_property3(obj, key, value) {
256
- if (key in obj) {
257
- Object.defineProperty(obj, key, {
258
- value,
259
- enumerable: true,
260
- configurable: true,
261
- writable: true
262
- });
263
- } else {
264
- obj[key] = value;
265
- }
266
- return obj;
267
- }
268
- var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/observability/src/otel/traces-browser.ts";
269
- var OtelTraces = class {
270
- start() {
271
- registerInstrumentations({
272
- instrumentations: [
273
- getWebAutoInstrumentations()
274
- ]
275
- });
276
- log2("trace processor registered", void 0, {
277
- F: __dxlog_file2,
278
- L: 51,
279
- S: this,
280
- C: (f, a) => f(...a)
281
- });
282
- TRACE_PROCESSOR2.remoteTracing.registerProcessor({
283
- startSpan: (options) => {
284
- log2("begin otel trace", {
285
- options
286
- }, {
287
- F: __dxlog_file2,
288
- L: 54,
289
- S: this,
290
- C: (f, a) => f(...a)
291
- });
292
- return this._tracer.startSpan(options.name, options);
293
- }
294
- });
295
- }
296
- constructor(options) {
297
- _define_property3(this, "options", void 0);
298
- _define_property3(this, "_tracer", void 0);
299
- this.options = options;
300
- const resource = Resource3.default().merge(new Resource3({
301
- [SEMRESATTRS_SERVICE_NAME3]: this.options.serviceName,
302
- [SEMRESATTRS_SERVICE_VERSION3]: this.options.serviceVersion
303
- }));
304
- const tracerProvider = new WebTracerProvider({
305
- resource
306
- });
307
- tracerProvider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
308
- tracerProvider.addSpanProcessor(new BatchSpanProcessor(new OTLPTraceExporter({
309
- url: this.options.endpoint + "/v1/traces",
310
- headers: {
311
- Authorization: this.options.authorizationHeader
312
- },
313
- concurrencyLimit: 10
314
- })));
315
- tracerProvider.register({});
316
- this._tracer = trace.getTracer("dxos-observability", this.options.serviceVersion);
317
- }
318
- };
319
- export {
320
- OtelLogs,
321
- OtelMetrics,
322
- OtelTraces,
323
- setDiagLogger
324
- };
325
- //# sourceMappingURL=otel-UHLVSR24.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/otel/otel.ts", "../../../src/otel/logs.ts", "../../../src/otel/metrics.ts", "../../../src/otel/traces-browser.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api';\n\nexport type OtelOptions = {\n endpoint: string;\n authorizationHeader: string;\n serviceName: string; // For the Otel API, the name of the entity for which signals (metrics or trace) are collected.\n serviceVersion: string; // For the Otel API, The name of the entity for which signals (metrics or trace) are collected.\n getTags: () => { [key: string]: string };\n consoleDiagLogLevel?: string;\n};\n\nexport const setDiagLogger = (level?: string) => {\n const logLevel = DiagLogLevel[level as keyof typeof DiagLogLevel];\n if (logLevel) {\n diag.setLogger(new DiagConsoleLogger(), logLevel);\n }\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';\nimport { Resource } from '@opentelemetry/resources';\nimport { BatchLogRecordProcessor, LoggerProvider } from '@opentelemetry/sdk-logs';\nimport { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';\n\nimport {\n type LogConfig,\n type LogEntry,\n LogLevel,\n type LogProcessor,\n getContextFromEntry,\n getRelativeFilename,\n} from '@dxos/log';\nimport { jsonlogify } from '@dxos/util';\n\nimport { type OtelOptions, setDiagLogger } from './otel';\n\nexport type OtelLogOptions = OtelOptions & {\n logLevel: LogLevel;\n /**\n * Set `true` to capture logs sent through LoggingService from shared worker.\n * Better to set to `false` because shared worker is initializing its own logger.\n */\n includeSharedWorkerLogs: boolean;\n};\n\nexport class OtelLogs {\n private _loggerProvider: LoggerProvider;\n constructor(private readonly options: OtelLogOptions) {\n setDiagLogger(options.consoleDiagLogLevel);\n const resource = Resource.default().merge(\n new Resource({\n [SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,\n [SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion,\n }),\n );\n const logExporter = new OTLPLogExporter({\n url: this.options.endpoint + '/v1/logs',\n headers: {\n Authorization: this.options.authorizationHeader,\n },\n concurrencyLimit: 10, // an optional limit on pending requests\n });\n this._loggerProvider = new LoggerProvider({ resource });\n this._loggerProvider.addLogRecordProcessor(new BatchLogRecordProcessor(logExporter));\n }\n\n public readonly logProcessor: LogProcessor = (config: LogConfig, entry: LogEntry) => {\n const logger = this._loggerProvider.getLogger('dxos-observability', this.options.serviceVersion);\n\n if (\n entry.level < this.options.logLevel ||\n (!this.options.includeSharedWorkerLogs && entry.meta?.S?.remoteSessionId)\n ) {\n return;\n }\n\n const record = {\n ...entry,\n ...(entry.meta ? { meta: { file: getRelativeFilename(entry.meta.F), line: entry.meta.L } } : {}),\n context: jsonlogify(getContextFromEntry(entry)),\n };\n\n logger.emit({\n severityNumber: convertLevel(entry.level),\n body: JSON.stringify(record),\n attributes: this.options.getTags(),\n });\n };\n\n flush(): Promise<void> {\n return this._loggerProvider.forceFlush();\n }\n\n close(): Promise<void> {\n return this._loggerProvider.shutdown();\n }\n}\n\nconst convertLevel = (level: LogLevel): SeverityNumber => {\n switch (level) {\n case LogLevel.DEBUG:\n return SeverityNumber.DEBUG;\n case LogLevel.VERBOSE:\n return SeverityNumber.INFO;\n case LogLevel.INFO:\n return SeverityNumber.INFO;\n case LogLevel.WARN:\n return SeverityNumber.WARN;\n case LogLevel.ERROR:\n return SeverityNumber.ERROR;\n default:\n return SeverityNumber.ERROR;\n }\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Attributes, type Meter, type ObservableGauge } from '@opentelemetry/api';\nimport { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';\nimport { Resource } from '@opentelemetry/resources';\nimport { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';\nimport { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';\n\nimport { log } from '@dxos/log';\nimport { type MetricData, TRACE_PROCESSOR } from '@dxos/tracing';\n\nimport { type OtelOptions, setDiagLogger } from './otel';\n\nconst EXPORT_INTERVAL = 60 * 1000;\n\ntype SynchronousGauge = {\n gauge: ObservableGauge<Attributes>;\n nextValue: number;\n nextTags?: any;\n};\n\nexport class OtelMetrics {\n private _meterProvider: MeterProvider;\n private _meter: Meter;\n private _gauges = new Map<string, SynchronousGauge>();\n\n constructor(private readonly options: OtelOptions) {\n // TODO: improve error handling/logging\n // https://github.com/open-telemetry/opentelemetry-js/issues/4823\n setDiagLogger(options.consoleDiagLogLevel);\n const resource = Resource.default().merge(\n new Resource({\n [SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,\n [SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion,\n }),\n );\n\n const grafanaMetricReader = new PeriodicExportingMetricReader({\n exporter: new OTLPMetricExporter({\n url: this.options.endpoint + '/v1/metrics',\n headers: {\n Authorization: this.options.authorizationHeader,\n },\n }),\n exportIntervalMillis: EXPORT_INTERVAL,\n });\n\n this._meterProvider = new MeterProvider({\n resource,\n readers: [grafanaMetricReader],\n });\n this._meter = this._meterProvider.getMeter('dxos-observability');\n\n const metrics = {\n // TODO: update metrics names and remove prefix?\n increment: (name: string, value?: number, data?: MetricData) => {\n this.increment(name, value, convertTags(data));\n },\n distribution: (name: string, value: number, data?: MetricData) => {\n this.distribution(name, value, convertTags(data));\n },\n set: (name: string, value: number | string, data?: MetricData) => {\n // Not implemented, not part of Otel spec.\n },\n gauge: (name: string, value: number, data?: MetricData) => {\n this.gauge(name, value, convertTags(data));\n },\n };\n\n TRACE_PROCESSOR.remoteMetrics.registerProcessor(metrics);\n }\n\n gauge(name: string, value: number, tags?: any): void {\n const gauge = this._meter.createGauge(name);\n log('otel gauge', { name, value, tags: { ...this.options.getTags(), ...tags } });\n gauge.record(value, { ...this.options.getTags(), ...tags });\n }\n\n increment(name: string, value?: number, tags?: any): void {\n const counter = this._meter.createCounter(name);\n log('otel counter', { name, value, tags: { ...this.options.getTags(), ...tags } });\n counter.add(value ?? 1, { ...this.options.getTags(), ...tags });\n }\n\n distribution(name: string, value: number, tags?: any): void {\n const distribution = this._meter.createHistogram(name);\n log('otel distribution', { name, value, tags: { ...this.options.getTags(), ...tags } });\n distribution.record(value, { ...this.options.getTags(), ...tags });\n }\n\n flush(): Promise<void> {\n return this._meterProvider.forceFlush();\n }\n\n close(): Promise<void> {\n return this._meterProvider.shutdown();\n }\n}\n\nconst convertTags = (data?: MetricData) => {\n if (data && data.tags) {\n return Object.entries(data.tags).reduce<{ [key: string]: any }>((obj, [key, value]) => {\n obj[key] = value;\n return obj;\n }, {});\n } else {\n return {};\n }\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Tracer, trace } from '@opentelemetry/api';\nimport { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';\nimport { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';\nimport { registerInstrumentations } from '@opentelemetry/instrumentation';\nimport { Resource } from '@opentelemetry/resources';\nimport { BatchSpanProcessor, ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';\nimport { WebTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';\n\nimport { log } from '@dxos/log';\nimport { type StartSpanOptions, TRACE_PROCESSOR } from '@dxos/tracing';\n\nimport { type OtelOptions } from './otel';\n\nexport class OtelTraces {\n private _tracer: Tracer;\n constructor(private readonly options: OtelOptions) {\n const resource = Resource.default().merge(\n new Resource({\n [SEMRESATTRS_SERVICE_NAME]: this.options.serviceName,\n [SEMRESATTRS_SERVICE_VERSION]: this.options.serviceVersion,\n }),\n );\n\n const tracerProvider = new WebTracerProvider({ resource });\n tracerProvider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));\n tracerProvider.addSpanProcessor(\n new BatchSpanProcessor(\n new OTLPTraceExporter({\n url: this.options.endpoint + '/v1/traces',\n headers: {\n Authorization: this.options.authorizationHeader,\n },\n concurrencyLimit: 10, // an optional limit on pending requests\n }),\n ),\n );\n // TODO(nf): ContextManager? Propogator?\n tracerProvider.register({});\n this._tracer = trace.getTracer('dxos-observability', this.options.serviceVersion);\n }\n\n public start(): void {\n registerInstrumentations({\n instrumentations: [getWebAutoInstrumentations()],\n });\n log('trace processor registered');\n TRACE_PROCESSOR.remoteTracing.registerProcessor({\n startSpan: (options: StartSpanOptions) => {\n log('begin otel trace', { options });\n return this._tracer.startSpan(options.name, options);\n },\n });\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["DiagConsoleLogger", "DiagLogLevel", "diag", "setDiagLogger", "level", "logLevel", "DiagLogLevel", "diag", "setLogger", "DiagConsoleLogger", "SeverityNumber", "OTLPLogExporter", "Resource", "BatchLogRecordProcessor", "LoggerProvider", "SEMRESATTRS_SERVICE_NAME", "SEMRESATTRS_SERVICE_VERSION", "LogLevel", "getContextFromEntry", "getRelativeFilename", "jsonlogify", "OtelLogs", "flush", "_loggerProvider", "forceFlush", "close", "shutdown", "options", "logProcessor", "config", "entry", "logger", "getLogger", "serviceVersion", "level", "logLevel", "includeSharedWorkerLogs", "meta", "S", "remoteSessionId", "record", "file", "getRelativeFilename", "F", "line", "L", "context", "jsonlogify", "getContextFromEntry", "emit", "severityNumber", "convertLevel", "body", "JSON", "stringify", "attributes", "getTags", "setDiagLogger", "consoleDiagLogLevel", "resource", "Resource", "default", "merge", "SEMRESATTRS_SERVICE_NAME", "serviceName", "SEMRESATTRS_SERVICE_VERSION", "logExporter", "OTLPLogExporter", "url", "endpoint", "headers", "Authorization", "authorizationHeader", "concurrencyLimit", "LoggerProvider", "addLogRecordProcessor", "BatchLogRecordProcessor", "LogLevel", "DEBUG", "SeverityNumber", "VERBOSE", "INFO", "WARN", "ERROR", "OTLPMetricExporter", "Resource", "MeterProvider", "PeriodicExportingMetricReader", "SEMRESATTRS_SERVICE_NAME", "SEMRESATTRS_SERVICE_VERSION", "log", "TRACE_PROCESSOR", "EXPORT_INTERVAL", "OtelMetrics", "gauge", "name", "value", "tags", "_meter", "createGauge", "log", "options", "getTags", "record", "increment", "counter", "createCounter", "add", "distribution", "createHistogram", "flush", "_meterProvider", "forceFlush", "close", "shutdown", "_define_property", "_gauges", "Map", "setDiagLogger", "consoleDiagLogLevel", "resource", "Resource", "default", "merge", "SEMRESATTRS_SERVICE_NAME", "serviceName", "SEMRESATTRS_SERVICE_VERSION", "serviceVersion", "grafanaMetricReader", "PeriodicExportingMetricReader", "exporter", "OTLPMetricExporter", "url", "endpoint", "headers", "Authorization", "authorizationHeader", "exportIntervalMillis", "MeterProvider", "readers", "getMeter", "metrics", "data", "convertTags", "set", "TRACE_PROCESSOR", "remoteMetrics", "registerProcessor", "Object", "entries", "reduce", "obj", "key", "trace", "getWebAutoInstrumentations", "OTLPTraceExporter", "registerInstrumentations", "Resource", "BatchSpanProcessor", "ConsoleSpanExporter", "SimpleSpanProcessor", "WebTracerProvider", "SEMRESATTRS_SERVICE_NAME", "SEMRESATTRS_SERVICE_VERSION", "log", "TRACE_PROCESSOR", "OtelTraces", "start", "instrumentations", "remoteTracing", "registerProcessor", "startSpan", "options", "_tracer", "name", "_define_property", "resource", "default", "merge", "serviceName", "serviceVersion", "tracerProvider", "addSpanProcessor", "url", "endpoint", "headers", "Authorization", "authorizationHeader", "concurrencyLimit", "register", "getTracer"]
7
- }
@@ -1,11 +0,0 @@
1
- import {
2
- SegmentTelemetry,
3
- TelemetryEvent
4
- } from "../chunk-VSEBD3XA.mjs";
5
- import "../chunk-5ICT2XF2.mjs";
6
- import "../chunk-LJO63BXO.mjs";
7
- export {
8
- SegmentTelemetry,
9
- TelemetryEvent
10
- };
11
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,24 +0,0 @@
1
- import "../chunk-5ICT2XF2.mjs";
2
- import {
3
- addBreadcrumb,
4
- captureException,
5
- captureMessage,
6
- captureUserFeedback,
7
- init,
8
- setTag,
9
- setTags,
10
- setUser,
11
- withScope
12
- } from "../chunk-LJO63BXO.mjs";
13
- export {
14
- addBreadcrumb,
15
- captureException,
16
- captureMessage,
17
- captureUserFeedback,
18
- init,
19
- setTag,
20
- setTags,
21
- setUser,
22
- withScope
23
- };
24
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,162 +0,0 @@
1
- import {
2
- captureException,
3
- captureMessage,
4
- withScope
5
- } from "./chunk-LJO63BXO.mjs";
6
-
7
- // src/sentry/sentry-log-processor.ts
8
- import { InvariantViolation } from "@dxos/invariant";
9
- import { LogLevel, shouldLog } from "@dxos/log";
10
- import { CircularBuffer, getDebugName } from "@dxos/util";
11
- function _define_property(obj, key, value) {
12
- if (key in obj) {
13
- Object.defineProperty(obj, key, {
14
- value,
15
- enumerable: true,
16
- configurable: true,
17
- writable: true
18
- });
19
- } else {
20
- obj[key] = value;
21
- }
22
- return obj;
23
- }
24
- var MAX_LOG_BREADCRUMBS = 150;
25
- var SentryLogProcessor = class {
26
- addLogBreadcrumbsTo(event) {
27
- var _event;
28
- (_event = event).breadcrumbs ?? (_event.breadcrumbs = []);
29
- for (const breadcrumb of this._breadcrumbs) {
30
- event.breadcrumbs.push(breadcrumb);
31
- }
32
- event.breadcrumbs.sort((b1, b2) => {
33
- if (b1.timestamp === void 0 || b2.timestamp === void 0) {
34
- return b1.timestamp === b2.timestamp ? 0 : b1.timestamp === void 0 ? -1 : 1;
35
- }
36
- return b1.timestamp - b2.timestamp;
37
- });
38
- }
39
- _addBreadcrumb(eventId, message, severity, context) {
40
- const breadcrumb = {
41
- type: "console",
42
- level: severity,
43
- event_id: eventId,
44
- category: "log",
45
- message,
46
- data: context,
47
- timestamp: Math.floor(Date.now() / 1e3)
48
- };
49
- const lastRecorded = this._breadcrumbs.getLast();
50
- if (lastRecorded && lastRecorded.message === breadcrumb.message) {
51
- const firstBreadcrumbData = lastRecorded.data?.firstBreadcrumbData ?? lastRecorded.data ?? {};
52
- const mergedBreadcrumbCount = Number.isNaN(lastRecorded.data?.mergedBreadcrumbCount) ? 1 : Number(lastRecorded.data?.mergedBreadcrumbCount);
53
- lastRecorded.data = {
54
- mergedBreadcrumbCount: mergedBreadcrumbCount + 1,
55
- firstBreadcrumbData,
56
- lastBreadcrumbData: breadcrumb.data
57
- };
58
- return;
59
- }
60
- this._breadcrumbs.push(breadcrumb);
61
- }
62
- constructor() {
63
- _define_property(this, "_breadcrumbs", new CircularBuffer(MAX_LOG_BREADCRUMBS));
64
- _define_property(this, "logProcessor", (config, entry) => {
65
- const { level, meta, error } = entry;
66
- if (!shouldLog(entry, config.captureFilters) || meta?.S?.remoteSessionId) {
67
- if (entry.level > LogLevel.DEBUG) {
68
- this._addBreadcrumb(void 0, entry.message ?? (entry.error ? entry.error.message ?? String(entry.error) : ""), convertLevel(entry.level), void 0);
69
- }
70
- return;
71
- }
72
- if (entry.level !== LogLevel.WARN && entry.level !== LogLevel.ERROR) {
73
- return;
74
- }
75
- withScope((scope) => {
76
- const severity = convertLevel(level);
77
- scope.setLevel(severity);
78
- scope.setContext("dxoslog", entry.context ?? null);
79
- if (meta) {
80
- scope.setTag("transaction", `${getRelativeFilename(meta.F)}:${meta.L}`);
81
- if (meta.S?.hostSessionId) {
82
- scope.setTags({
83
- service_host_issue: true,
84
- service_host_session: meta.S?.hostSessionId
85
- });
86
- }
87
- if (!Number.isNaN(meta.S?.uptimeSeconds)) {
88
- scope.setExtra("uptime_seconds", meta.S?.uptimeSeconds);
89
- }
90
- }
91
- const extendedMessage = formatMessageForSentry(entry);
92
- let capturedError = error;
93
- if (capturedError == null && entry.level === LogLevel.ERROR) {
94
- capturedError = Object.values(entry.context ?? {}).find((v) => v instanceof Error);
95
- }
96
- if (capturedError) {
97
- if (capturedError instanceof InvariantViolation) {
98
- scope.setExtra("invariant_violation", true);
99
- }
100
- const isMessageDifferentFromStackTrace = error == null;
101
- if (isMessageDifferentFromStackTrace) {
102
- scope.setExtra("message", extendedMessage);
103
- }
104
- const eventId2 = captureException(capturedError);
105
- this._addBreadcrumb(eventId2, extendedMessage, severity, entry.context);
106
- return;
107
- }
108
- const message = entry.message ?? (entry.error ? entry.error.message ?? String(entry.error) : "");
109
- scope.setFingerprint([
110
- message
111
- ]);
112
- const eventId = captureMessage(extendedMessage);
113
- this._addBreadcrumb(eventId, extendedMessage, severity, entry.context);
114
- });
115
- });
116
- }
117
- };
118
- var formatMessageForSentry = (entry) => {
119
- const message = entry.message ?? (entry.error ? entry.error.message ?? String(entry.error) : "");
120
- let scopePrefix;
121
- if (entry.meta?.S) {
122
- const scope = entry.meta?.S;
123
- scopePrefix = scope.name || getDebugName(scope);
124
- }
125
- if (scopePrefix == null) {
126
- return message;
127
- }
128
- const workerPrefix = entry.meta?.S?.hostSessionId ? "[worker] " : "";
129
- return `${workerPrefix}${scopePrefix} ${message}`;
130
- };
131
- var convertLevel = (level) => {
132
- switch (level) {
133
- case LogLevel.ERROR:
134
- return "error";
135
- case LogLevel.VERBOSE:
136
- return "info";
137
- case LogLevel.INFO:
138
- return "info";
139
- case LogLevel.WARN:
140
- return "warning";
141
- case LogLevel.DEBUG:
142
- case LogLevel.TRACE:
143
- return "debug";
144
- default:
145
- throw never(level);
146
- }
147
- };
148
- var never = (_) => {
149
- return new Error("unhandled value");
150
- };
151
- var getRelativeFilename = (filename) => {
152
- const match = filename.match(/.+\/(packages\/.+\/.+)/);
153
- if (match) {
154
- const [, filePath] = match;
155
- return filePath;
156
- }
157
- return filename;
158
- };
159
- export {
160
- SentryLogProcessor
161
- };
162
- //# sourceMappingURL=sentry-log-processor-RG4CFVGL.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/sentry/sentry-log-processor.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport type { Breadcrumb, Event, SeverityLevel } from '@sentry/types';\n\nimport { InvariantViolation } from '@dxos/invariant';\nimport { type LogConfig, type LogEntry, LogLevel, type LogProcessor, shouldLog } from '@dxos/log';\nimport { CircularBuffer, getDebugName } from '@dxos/util';\n\nimport { captureException, captureMessage, withScope } from './node';\n\nconst MAX_LOG_BREADCRUMBS = 150;\n\nexport class SentryLogProcessor {\n private _breadcrumbs = new CircularBuffer<Breadcrumb>(MAX_LOG_BREADCRUMBS);\n\n public readonly logProcessor: LogProcessor = (config: LogConfig, entry: LogEntry) => {\n const { level, meta, error } = entry;\n // Don't forward logs from remote sessions.\n if (!shouldLog(entry, config.captureFilters) || meta?.S?.remoteSessionId) {\n if (entry.level > LogLevel.DEBUG) {\n this._addBreadcrumb(\n undefined,\n entry.message ?? (entry.error ? (entry.error.message ?? String(entry.error)) : ''),\n convertLevel(entry.level),\n undefined,\n );\n }\n return;\n }\n if (entry.level !== LogLevel.WARN && entry.level !== LogLevel.ERROR) {\n return;\n }\n\n // TODO(nf): add rate limiting to avoid spamming Sentry/consuming excessive quota.\n withScope((scope) => {\n const severity = convertLevel(level);\n scope.setLevel(severity);\n scope.setContext('dxoslog', entry.context ?? null);\n if (meta) {\n scope.setTag('transaction', `${getRelativeFilename(meta.F)}:${meta.L}`);\n\n if (meta.S?.hostSessionId) {\n scope.setTags({\n service_host_issue: true,\n service_host_session: meta.S?.hostSessionId,\n });\n }\n\n if (!Number.isNaN(meta.S?.uptimeSeconds)) {\n scope.setExtra('uptime_seconds', meta.S?.uptimeSeconds);\n }\n }\n\n const extendedMessage = formatMessageForSentry(entry);\n let capturedError = error;\n if (capturedError == null && entry.level === LogLevel.ERROR) {\n capturedError = Object.values(entry.context ?? {}).find((v): v is Error => v instanceof Error);\n }\n if (capturedError) {\n if (capturedError instanceof InvariantViolation) {\n scope.setExtra('invariant_violation', true);\n }\n const isMessageDifferentFromStackTrace = error == null;\n if (isMessageDifferentFromStackTrace) {\n scope.setExtra('message', extendedMessage);\n }\n const eventId = captureException(capturedError);\n this._addBreadcrumb(eventId, extendedMessage, severity, entry.context);\n return;\n }\n\n const message = entry.message ?? (entry.error ? (entry.error.message ?? String(entry.error)) : '');\n scope.setFingerprint([message]);\n const eventId = captureMessage(extendedMessage);\n this._addBreadcrumb(eventId, extendedMessage, severity, entry.context);\n });\n };\n\n public addLogBreadcrumbsTo(event: Event): void {\n event.breadcrumbs ??= [];\n for (const breadcrumb of this._breadcrumbs) {\n event.breadcrumbs.push(breadcrumb);\n }\n event.breadcrumbs.sort((b1, b2) => {\n if (b1.timestamp === undefined || b2.timestamp === undefined) {\n return b1.timestamp === b2.timestamp ? 0 : b1.timestamp === undefined ? -1 : 1;\n }\n return b1.timestamp - b2.timestamp;\n });\n }\n\n private _addBreadcrumb(\n eventId: string | undefined,\n message: string,\n severity: SeverityLevel,\n context: { [key: string]: any } | undefined,\n ): void {\n const breadcrumb: Breadcrumb = {\n type: 'console',\n level: severity,\n event_id: eventId,\n category: 'log',\n message,\n data: context,\n timestamp: Math.floor(Date.now() / 1000),\n };\n const lastRecorded = this._breadcrumbs.getLast();\n if (lastRecorded && lastRecorded.message === breadcrumb.message) {\n const firstBreadcrumbData = lastRecorded.data?.firstBreadcrumbData ?? lastRecorded.data ?? {};\n const mergedBreadcrumbCount = Number.isNaN(lastRecorded.data?.mergedBreadcrumbCount)\n ? 1\n : Number(lastRecorded.data?.mergedBreadcrumbCount);\n lastRecorded.data = {\n mergedBreadcrumbCount: mergedBreadcrumbCount + 1,\n firstBreadcrumbData,\n lastBreadcrumbData: breadcrumb.data,\n };\n return;\n }\n this._breadcrumbs.push(breadcrumb);\n }\n}\n\nconst formatMessageForSentry = (entry: LogEntry): string => {\n const message = entry.message ?? (entry.error ? (entry.error.message ?? String(entry.error)) : '');\n\n let scopePrefix: string | undefined;\n if (entry.meta?.S) {\n const scope = entry.meta?.S;\n scopePrefix = scope.name || getDebugName(scope);\n }\n if (scopePrefix == null) {\n return message;\n }\n\n const workerPrefix = entry.meta?.S?.hostSessionId ? '[worker] ' : '';\n return `${workerPrefix}${scopePrefix} ${message}`;\n};\n\nconst convertLevel = (level: LogLevel): SeverityLevel => {\n switch (level) {\n case LogLevel.ERROR:\n return 'error';\n case LogLevel.VERBOSE:\n return 'info';\n case LogLevel.INFO:\n return 'info';\n case LogLevel.WARN:\n return 'warning';\n case LogLevel.DEBUG:\n case LogLevel.TRACE:\n return 'debug';\n default:\n throw never(level);\n }\n};\n\nconst never = (_: never) => {\n return new Error('unhandled value');\n};\n\nconst getRelativeFilename = (filename: string) => {\n // TODO(burdon): Hack uses \"packages\" as an anchor (pre-parse NX?)\n // Including `packages/` part of the path so that excluded paths (e.g. from dist) are clickable in vscode.\n const match = filename.match(/.+\\/(packages\\/.+\\/.+)/);\n if (match) {\n const [, filePath] = match;\n return filePath;\n }\n\n return filename;\n};\n"],
5
- "mappings": "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",
6
- "names": ["InvariantViolation", "LogLevel", "shouldLog", "CircularBuffer", "getDebugName", "MAX_LOG_BREADCRUMBS", "SentryLogProcessor", "addLogBreadcrumbsTo", "event", "breadcrumbs", "breadcrumb", "_breadcrumbs", "push", "sort", "b1", "b2", "timestamp", "undefined", "_addBreadcrumb", "eventId", "message", "severity", "context", "type", "level", "event_id", "category", "data", "Math", "floor", "Date", "now", "lastRecorded", "getLast", "firstBreadcrumbData", "mergedBreadcrumbCount", "Number", "isNaN", "lastBreadcrumbData", "CircularBuffer", "logProcessor", "config", "entry", "meta", "error", "shouldLog", "captureFilters", "S", "remoteSessionId", "LogLevel", "DEBUG", "String", "convertLevel", "WARN", "ERROR", "withScope", "scope", "setLevel", "setContext", "setTag", "getRelativeFilename", "F", "L", "hostSessionId", "setTags", "service_host_issue", "service_host_session", "uptimeSeconds", "setExtra", "extendedMessage", "formatMessageForSentry", "capturedError", "Object", "values", "find", "v", "Error", "InvariantViolation", "isMessageDifferentFromStackTrace", "captureException", "setFingerprint", "captureMessage", "scopePrefix", "name", "getDebugName", "workerPrefix", "VERBOSE", "INFO", "TRACE", "never", "_", "filename", "match", "filePath"]
7
- }