@dxos/observability 0.8.4-main.f9ba587 → 0.8.4-main.fcfe5033a5

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 (326) 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 +1087 -34
  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-Y4FFWRIR.mjs +166 -0
  15. package/dist/lib/browser/traces-browser-Y4FFWRIR.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 +1084 -34
  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/traces-NPNTEOS6.mjs +137 -0
  29. package/dist/lib/node-esm/traces-NPNTEOS6.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 +104 -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 +6 -12
  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/{otel → extensions/otel}/otel.js +1 -1
  54. package/dist/types/src/extensions/otel/otel.js.map +1 -0
  55. package/dist/types/src/extensions/otel/span-processors.d.ts +25 -0
  56. package/dist/types/src/extensions/otel/span-processors.d.ts.map +1 -0
  57. package/dist/types/src/extensions/otel/span-processors.js +41 -0
  58. package/dist/types/src/extensions/otel/span-processors.js.map +1 -0
  59. package/dist/types/src/extensions/otel/traces-browser.d.ts +25 -0
  60. package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -0
  61. package/dist/types/src/extensions/otel/traces-browser.js +104 -0
  62. package/dist/types/src/extensions/otel/traces-browser.js.map +1 -0
  63. package/dist/types/src/extensions/otel/traces.d.ts +25 -0
  64. package/dist/types/src/extensions/otel/traces.d.ts.map +1 -0
  65. package/dist/types/src/extensions/otel/traces.js +87 -0
  66. package/dist/types/src/extensions/otel/traces.js.map +1 -0
  67. package/dist/types/src/extensions/posthog/extension.d.ts +18 -0
  68. package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -0
  69. package/dist/types/src/extensions/posthog/extension.js +144 -0
  70. package/dist/types/src/extensions/posthog/extension.js.map +1 -0
  71. package/dist/types/src/extensions/posthog/index.d.ts +2 -0
  72. package/dist/types/src/extensions/posthog/index.d.ts.map +1 -0
  73. package/dist/types/src/extensions/posthog/index.js +5 -0
  74. package/dist/types/src/extensions/posthog/index.js.map +1 -0
  75. package/dist/types/src/extensions/posthog/log-processor.d.ts +3 -0
  76. package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -0
  77. package/dist/types/src/extensions/posthog/log-processor.js +45 -0
  78. package/dist/types/src/extensions/posthog/log-processor.js.map +1 -0
  79. package/dist/types/src/extensions/posthog/log-processor.test.d.ts +2 -0
  80. package/dist/types/src/extensions/posthog/log-processor.test.d.ts.map +1 -0
  81. package/dist/types/src/extensions/posthog/log-processor.test.js +146 -0
  82. package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -0
  83. package/dist/types/src/extensions/stub.d.ts +3 -0
  84. package/dist/types/src/extensions/stub.d.ts.map +1 -0
  85. package/dist/types/src/extensions/stub.js +16 -0
  86. package/dist/types/src/extensions/stub.js.map +1 -0
  87. package/dist/types/src/index.d.ts +3 -2
  88. package/dist/types/src/index.d.ts.map +1 -1
  89. package/dist/types/src/index.js +4 -3
  90. package/dist/types/src/index.js.map +1 -1
  91. package/dist/types/src/observability-extension.d.ts +74 -0
  92. package/dist/types/src/observability-extension.d.ts.map +1 -0
  93. package/dist/types/src/observability-extension.js +5 -0
  94. package/dist/types/src/observability-extension.js.map +1 -0
  95. package/dist/types/src/observability.d.ts +32 -110
  96. package/dist/types/src/observability.d.ts.map +1 -1
  97. package/dist/types/src/observability.js +176 -455
  98. package/dist/types/src/observability.js.map +1 -1
  99. package/dist/types/src/observability.test.d.ts +2 -0
  100. package/dist/types/src/observability.test.d.ts.map +1 -0
  101. package/dist/types/src/observability.test.js +312 -0
  102. package/dist/types/src/observability.test.js.map +1 -0
  103. package/dist/types/src/providers/client-observability.d.ts +11 -0
  104. package/dist/types/src/providers/client-observability.d.ts.map +1 -0
  105. package/dist/types/src/providers/client-observability.js +200 -0
  106. package/dist/types/src/providers/client-observability.js.map +1 -0
  107. package/dist/types/src/providers/index.d.ts +4 -0
  108. package/dist/types/src/providers/index.d.ts.map +1 -0
  109. package/dist/types/src/providers/index.js +7 -0
  110. package/dist/types/src/providers/index.js.map +1 -0
  111. package/dist/types/src/providers/ip-data.d.ts +5 -0
  112. package/dist/types/src/providers/ip-data.d.ts.map +1 -0
  113. package/dist/types/src/providers/ip-data.js +57 -0
  114. package/dist/types/src/providers/ip-data.js.map +1 -0
  115. package/dist/types/src/providers/storage.d.ts +3 -0
  116. package/dist/types/src/providers/storage.d.ts.map +1 -0
  117. package/dist/types/src/providers/storage.js +19 -0
  118. package/dist/types/src/providers/storage.js.map +1 -0
  119. package/dist/types/src/storage/browser.d.ts +19 -0
  120. package/dist/types/src/storage/browser.d.ts.map +1 -0
  121. package/dist/types/src/storage/browser.js +69 -0
  122. package/dist/types/src/storage/browser.js.map +1 -0
  123. package/dist/types/src/storage/index.d.ts +2 -0
  124. package/dist/types/src/storage/index.d.ts.map +1 -0
  125. package/{src/segment/index.ts → dist/types/src/storage/index.js} +1 -2
  126. package/dist/types/src/storage/index.js.map +1 -0
  127. package/dist/types/src/storage/node.d.ts +26 -0
  128. package/dist/types/src/storage/node.d.ts.map +1 -0
  129. package/dist/types/src/storage/node.js +92 -0
  130. package/dist/types/src/storage/node.js.map +1 -0
  131. package/dist/types/src/storage/node.test.d.ts +2 -0
  132. package/dist/types/src/storage/node.test.d.ts.map +1 -0
  133. package/dist/types/src/storage/node.test.js +103 -0
  134. package/dist/types/src/storage/node.test.js.map +1 -0
  135. package/dist/types/tsconfig.tsbuildinfo +1 -1
  136. package/package.json +45 -63
  137. package/src/cli-observability-secrets.json +3 -4
  138. package/src/extensions/index.ts +6 -0
  139. package/src/extensions/otel/extension.ts +258 -0
  140. package/src/extensions/otel/index.ts +5 -0
  141. package/src/extensions/otel/logs.ts +134 -0
  142. package/src/{otel → extensions/otel}/metrics.ts +4 -21
  143. package/src/{otel → extensions/otel}/otel.ts +4 -4
  144. package/src/extensions/otel/span-processors.ts +45 -0
  145. package/src/extensions/otel/traces-browser.ts +139 -0
  146. package/src/extensions/otel/traces.ts +113 -0
  147. package/src/extensions/posthog/extension.ts +176 -0
  148. package/src/extensions/posthog/index.ts +5 -0
  149. package/src/extensions/posthog/log-processor.test.ts +185 -0
  150. package/src/extensions/posthog/log-processor.ts +54 -0
  151. package/src/extensions/stub.ts +19 -0
  152. package/src/index.ts +4 -3
  153. package/src/observability-extension.ts +94 -0
  154. package/src/observability.test.ts +531 -0
  155. package/src/observability.ts +236 -577
  156. package/src/providers/client-observability.ts +253 -0
  157. package/src/providers/index.ts +7 -0
  158. package/src/providers/ip-data.ts +91 -0
  159. package/src/providers/storage.ts +23 -0
  160. package/src/storage/browser.ts +71 -0
  161. package/src/{sentry → storage}/index.ts +0 -1
  162. package/src/storage/node.test.ts +129 -0
  163. package/src/{helpers/node-observability.ts → storage/node.ts} +41 -70
  164. package/src/vite-import-meta.d.ts +14 -0
  165. package/dist/lib/browser/chunk-33TCMAUB.mjs +0 -996
  166. package/dist/lib/browser/chunk-33TCMAUB.mjs.map +0 -7
  167. package/dist/lib/browser/chunk-5OQYI27L.mjs +0 -1
  168. package/dist/lib/browser/chunk-MWTIKIBZ.mjs +0 -147
  169. package/dist/lib/browser/chunk-MWTIKIBZ.mjs.map +0 -7
  170. package/dist/lib/browser/chunk-YEPQFAES.mjs +0 -164
  171. package/dist/lib/browser/chunk-YEPQFAES.mjs.map +0 -7
  172. package/dist/lib/browser/observability-EEM6BEY6.mjs +0 -10
  173. package/dist/lib/browser/otel-IRDZ7PES.mjs +0 -277
  174. package/dist/lib/browser/otel-IRDZ7PES.mjs.map +0 -7
  175. package/dist/lib/browser/segment/index.mjs +0 -11
  176. package/dist/lib/browser/segment/index.mjs.map +0 -7
  177. package/dist/lib/browser/sentry/index.mjs +0 -24
  178. package/dist/lib/browser/sentry/index.mjs.map +0 -7
  179. package/dist/lib/browser/sentry-log-processor-3F3SBJXM.mjs +0 -146
  180. package/dist/lib/browser/sentry-log-processor-3F3SBJXM.mjs.map +0 -7
  181. package/dist/lib/node-esm/chunk-552KLA6Z.mjs +0 -202
  182. package/dist/lib/node-esm/chunk-552KLA6Z.mjs.map +0 -7
  183. package/dist/lib/node-esm/chunk-EYW4X3O6.mjs +0 -997
  184. package/dist/lib/node-esm/chunk-EYW4X3O6.mjs.map +0 -7
  185. package/dist/lib/node-esm/chunk-MRAK2H7O.mjs +0 -2
  186. package/dist/lib/node-esm/chunk-MRAK2H7O.mjs.map +0 -7
  187. package/dist/lib/node-esm/chunk-TEH6VIKV.mjs +0 -135
  188. package/dist/lib/node-esm/chunk-TEH6VIKV.mjs.map +0 -7
  189. package/dist/lib/node-esm/observability-DAXZGOBS.mjs +0 -11
  190. package/dist/lib/node-esm/observability-DAXZGOBS.mjs.map +0 -7
  191. package/dist/lib/node-esm/otel-62HYJETM.mjs +0 -260
  192. package/dist/lib/node-esm/otel-62HYJETM.mjs.map +0 -7
  193. package/dist/lib/node-esm/segment/index.mjs +0 -12
  194. package/dist/lib/node-esm/segment/index.mjs.map +0 -7
  195. package/dist/lib/node-esm/sentry/index.mjs +0 -25
  196. package/dist/lib/node-esm/sentry/index.mjs.map +0 -7
  197. package/dist/lib/node-esm/sentry-log-processor-JAYRA23C.mjs +0 -147
  198. package/dist/lib/node-esm/sentry-log-processor-JAYRA23C.mjs.map +0 -7
  199. package/dist/types/src/helpers/browser-observability.d.ts +0 -17
  200. package/dist/types/src/helpers/browser-observability.d.ts.map +0 -1
  201. package/dist/types/src/helpers/browser-observability.js +0 -140
  202. package/dist/types/src/helpers/browser-observability.js.map +0 -1
  203. package/dist/types/src/helpers/common.d.ts +0 -12
  204. package/dist/types/src/helpers/common.d.ts.map +0 -1
  205. package/dist/types/src/helpers/common.js +0 -23
  206. package/dist/types/src/helpers/common.js.map +0 -1
  207. package/dist/types/src/helpers/index.d.ts +0 -6
  208. package/dist/types/src/helpers/index.d.ts.map +0 -1
  209. package/dist/types/src/helpers/index.js +0 -9
  210. package/dist/types/src/helpers/index.js.map +0 -1
  211. package/dist/types/src/helpers/map-spaces.d.ts +0 -18
  212. package/dist/types/src/helpers/map-spaces.d.ts.map +0 -1
  213. package/dist/types/src/helpers/map-spaces.js +0 -37
  214. package/dist/types/src/helpers/map-spaces.js.map +0 -1
  215. package/dist/types/src/helpers/node-observability.d.ts +0 -24
  216. package/dist/types/src/helpers/node-observability.d.ts.map +0 -1
  217. package/dist/types/src/helpers/node-observability.js +0 -101
  218. package/dist/types/src/helpers/node-observability.js.map +0 -1
  219. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts +0 -4
  220. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +0 -1
  221. package/dist/types/src/helpers/setup-telemetry-listeners.js +0 -97
  222. package/dist/types/src/helpers/setup-telemetry-listeners.js.map +0 -1
  223. package/dist/types/src/otel/index.d.ts +0 -5
  224. package/dist/types/src/otel/index.d.ts.map +0 -1
  225. package/dist/types/src/otel/index.js +0 -8
  226. package/dist/types/src/otel/index.js.map +0 -1
  227. package/dist/types/src/otel/logs.d.ts.map +0 -1
  228. package/dist/types/src/otel/logs.js +0 -71
  229. package/dist/types/src/otel/logs.js.map +0 -1
  230. package/dist/types/src/otel/metrics.d.ts.map +0 -1
  231. package/dist/types/src/otel/metrics.js.map +0 -1
  232. package/dist/types/src/otel/otel.d.ts.map +0 -1
  233. package/dist/types/src/otel/otel.js.map +0 -1
  234. package/dist/types/src/otel/traces-browser.d.ts +0 -8
  235. package/dist/types/src/otel/traces-browser.d.ts.map +0 -1
  236. package/dist/types/src/otel/traces-browser.js +0 -47
  237. package/dist/types/src/otel/traces-browser.js.map +0 -1
  238. package/dist/types/src/otel/traces.d.ts +0 -8
  239. package/dist/types/src/otel/traces.d.ts.map +0 -1
  240. package/dist/types/src/otel/traces.js +0 -40
  241. package/dist/types/src/otel/traces.js.map +0 -1
  242. package/dist/types/src/segment/base.d.ts +0 -15
  243. package/dist/types/src/segment/base.d.ts.map +0 -1
  244. package/dist/types/src/segment/base.js +0 -50
  245. package/dist/types/src/segment/base.js.map +0 -1
  246. package/dist/types/src/segment/browser.d.ts +0 -15
  247. package/dist/types/src/segment/browser.d.ts.map +0 -1
  248. package/dist/types/src/segment/browser.js +0 -67
  249. package/dist/types/src/segment/browser.js.map +0 -1
  250. package/dist/types/src/segment/index.d.ts +0 -3
  251. package/dist/types/src/segment/index.d.ts.map +0 -1
  252. package/dist/types/src/segment/index.js +0 -6
  253. package/dist/types/src/segment/index.js.map +0 -1
  254. package/dist/types/src/segment/node.d.ts +0 -16
  255. package/dist/types/src/segment/node.d.ts.map +0 -1
  256. package/dist/types/src/segment/node.js +0 -83
  257. package/dist/types/src/segment/node.js.map +0 -1
  258. package/dist/types/src/segment/types.d.ts +0 -52
  259. package/dist/types/src/segment/types.d.ts.map +0 -1
  260. package/dist/types/src/segment/types.js +0 -18
  261. package/dist/types/src/segment/types.js.map +0 -1
  262. package/dist/types/src/sentry/browser.d.ts +0 -32
  263. package/dist/types/src/sentry/browser.d.ts.map +0 -1
  264. package/dist/types/src/sentry/browser.js +0 -112
  265. package/dist/types/src/sentry/browser.js.map +0 -1
  266. package/dist/types/src/sentry/index.d.ts +0 -3
  267. package/dist/types/src/sentry/index.d.ts.map +0 -1
  268. package/dist/types/src/sentry/index.js +0 -6
  269. package/dist/types/src/sentry/index.js.map +0 -1
  270. package/dist/types/src/sentry/node.d.ts +0 -32
  271. package/dist/types/src/sentry/node.d.ts.map +0 -1
  272. package/dist/types/src/sentry/node.js +0 -111
  273. package/dist/types/src/sentry/node.js.map +0 -1
  274. package/dist/types/src/sentry/node.node.test.d.ts +0 -2
  275. package/dist/types/src/sentry/node.node.test.d.ts.map +0 -1
  276. package/dist/types/src/sentry/node.node.test.js +0 -34
  277. package/dist/types/src/sentry/node.node.test.js.map +0 -1
  278. package/dist/types/src/sentry/sentry-log-processor.d.ts +0 -9
  279. package/dist/types/src/sentry/sentry-log-processor.d.ts.map +0 -1
  280. package/dist/types/src/sentry/sentry-log-processor.js +0 -149
  281. package/dist/types/src/sentry/sentry-log-processor.js.map +0 -1
  282. package/dist/types/src/sentry/sentry.node.test.d.ts +0 -2
  283. package/dist/types/src/sentry/sentry.node.test.d.ts.map +0 -1
  284. package/dist/types/src/sentry/sentry.node.test.js +0 -28
  285. package/dist/types/src/sentry/sentry.node.test.js.map +0 -1
  286. package/dist/types/src/sentry/types.d.ts +0 -18
  287. package/dist/types/src/sentry/types.d.ts.map +0 -1
  288. package/dist/types/src/sentry/types.js +0 -4
  289. package/dist/types/src/sentry/types.js.map +0 -1
  290. package/dist/types/src/testing/index.d.ts +0 -2
  291. package/dist/types/src/testing/index.d.ts.map +0 -1
  292. package/dist/types/src/testing/index.js +0 -5
  293. package/dist/types/src/testing/index.js.map +0 -1
  294. package/dist/types/src/testing/testkit/browser.d.ts +0 -2
  295. package/dist/types/src/testing/testkit/browser.d.ts.map +0 -1
  296. package/dist/types/src/testing/testkit/browser.js +0 -7
  297. package/dist/types/src/testing/testkit/browser.js.map +0 -1
  298. package/dist/types/src/testing/testkit/index.d.ts +0 -2
  299. package/dist/types/src/testing/testkit/index.d.ts.map +0 -1
  300. package/dist/types/src/testing/testkit/index.js +0 -6
  301. package/dist/types/src/testing/testkit/index.js.map +0 -1
  302. package/src/helpers/browser-observability.ts +0 -177
  303. package/src/helpers/common.ts +0 -38
  304. package/src/helpers/index.ts +0 -9
  305. package/src/helpers/map-spaces.ts +0 -48
  306. package/src/helpers/setup-telemetry-listeners.ts +0 -108
  307. package/src/otel/index.ts +0 -8
  308. package/src/otel/logs.ts +0 -100
  309. package/src/otel/traces-browser.ts +0 -59
  310. package/src/otel/traces.ts +0 -57
  311. package/src/segment/base.ts +0 -69
  312. package/src/segment/browser.ts +0 -68
  313. package/src/segment/node.ts +0 -94
  314. package/src/segment/types.ts +0 -57
  315. package/src/sentry/browser.ts +0 -133
  316. package/src/sentry/node.node.test.ts +0 -39
  317. package/src/sentry/node.ts +0 -126
  318. package/src/sentry/sentry-log-processor.ts +0 -166
  319. package/src/sentry/sentry.node.test.ts +0 -34
  320. package/src/sentry/types.ts +0 -22
  321. package/src/testing/index.ts +0 -5
  322. package/src/testing/testkit/browser.ts +0 -8
  323. package/src/testing/testkit/index.ts +0 -7
  324. package/src/testing/testkit/shims.d.ts +0 -5
  325. /package/dist/lib/browser/{chunk-5OQYI27L.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  326. /package/dist/lib/{browser/observability-EEM6BEY6.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
@@ -0,0 +1,130 @@
1
+ import {
2
+ setDiagLogger
3
+ } from "./chunk-K4VFBKST.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/extensions/otel/metrics.ts
7
+ import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
8
+ import { MeterProvider, PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
9
+ import { log } from "@dxos/log";
10
+ import { TRACE_PROCESSOR } from "@dxos/tracing";
11
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/otel/metrics.ts";
12
+ var EXPORT_INTERVAL = 60 * 1e3;
13
+ var OtelMetrics = class {
14
+ options;
15
+ _meterProvider;
16
+ _meter;
17
+ constructor(options) {
18
+ this.options = options;
19
+ setDiagLogger(options.consoleDiagLogLevel);
20
+ const grafanaMetricReader = new PeriodicExportingMetricReader({
21
+ exporter: new OTLPMetricExporter({
22
+ url: this.options.endpoint + "/v1/metrics",
23
+ headers: this.options.headers
24
+ }),
25
+ exportIntervalMillis: EXPORT_INTERVAL
26
+ });
27
+ this._meterProvider = new MeterProvider({
28
+ resource: this.options.resource,
29
+ readers: [
30
+ grafanaMetricReader
31
+ ]
32
+ });
33
+ this._meter = this._meterProvider.getMeter("dxos-observability");
34
+ const metrics = {
35
+ // TODO: update metrics names and remove prefix?
36
+ increment: (name, value, data) => {
37
+ this.increment(name, value, convertTags(data));
38
+ },
39
+ distribution: (name, value, data) => {
40
+ this.distribution(name, value, convertTags(data));
41
+ },
42
+ set: (name, value, data) => {
43
+ },
44
+ gauge: (name, value, data) => {
45
+ this.gauge(name, value, convertTags(data));
46
+ }
47
+ };
48
+ TRACE_PROCESSOR.remoteMetrics.registerProcessor(metrics);
49
+ }
50
+ gauge(name, value, tags) {
51
+ const gauge = this._meter.createGauge(name);
52
+ log("otel gauge", {
53
+ name,
54
+ value,
55
+ tags: {
56
+ ...this.options.getTags(),
57
+ ...tags
58
+ }
59
+ }, {
60
+ F: __dxlog_file,
61
+ L: 60,
62
+ S: this,
63
+ C: (f, a) => f(...a)
64
+ });
65
+ gauge.record(value, {
66
+ ...this.options.getTags(),
67
+ ...tags
68
+ });
69
+ }
70
+ increment(name, value, tags) {
71
+ const counter = this._meter.createCounter(name);
72
+ log("otel counter", {
73
+ name,
74
+ value,
75
+ tags: {
76
+ ...this.options.getTags(),
77
+ ...tags
78
+ }
79
+ }, {
80
+ F: __dxlog_file,
81
+ L: 66,
82
+ S: this,
83
+ C: (f, a) => f(...a)
84
+ });
85
+ counter.add(value ?? 1, {
86
+ ...this.options.getTags(),
87
+ ...tags
88
+ });
89
+ }
90
+ distribution(name, value, tags) {
91
+ const distribution = this._meter.createHistogram(name);
92
+ log("otel distribution", {
93
+ name,
94
+ value,
95
+ tags: {
96
+ ...this.options.getTags(),
97
+ ...tags
98
+ }
99
+ }, {
100
+ F: __dxlog_file,
101
+ L: 72,
102
+ S: this,
103
+ C: (f, a) => f(...a)
104
+ });
105
+ distribution.record(value, {
106
+ ...this.options.getTags(),
107
+ ...tags
108
+ });
109
+ }
110
+ flush() {
111
+ return this._meterProvider.forceFlush();
112
+ }
113
+ close() {
114
+ return this._meterProvider.shutdown();
115
+ }
116
+ };
117
+ var convertTags = (data) => {
118
+ if (data && data.tags) {
119
+ return Object.entries(data.tags).reduce((obj, [key, value]) => {
120
+ obj[key] = value;
121
+ return obj;
122
+ }, {});
123
+ } else {
124
+ return {};
125
+ }
126
+ };
127
+ export {
128
+ OtelMetrics
129
+ };
130
+ //# sourceMappingURL=metrics-PKTV6IGF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extensions/otel/metrics.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Meter } from '@opentelemetry/api';\nimport { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';\nimport { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';\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\nexport class OtelMetrics {\n private _meterProvider: MeterProvider;\n private _meter: Meter;\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\n const grafanaMetricReader = new PeriodicExportingMetricReader({\n exporter: new OTLPMetricExporter({\n url: this.options.endpoint + '/v1/metrics',\n headers: this.options.headers,\n }),\n exportIntervalMillis: EXPORT_INTERVAL,\n });\n\n this._meterProvider = new MeterProvider({\n resource: this.options.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"],
5
+ "mappings": ";;;;;;AAKA,SAASA,0BAA0B;AACnC,SAASC,eAAeC,qCAAqC;AAE7D,SAASC,WAAW;AACpB,SAA0BC,uBAAuB;;AAIjD,IAAMC,kBAAkB,KAAK;AAEtB,IAAMC,cAAN,MAAMA;;EACHC;EACAC;EAER,YAA6BC,SAAsB;SAAtBA,UAAAA;AAG3BC,kBAAcD,QAAQE,mBAAmB;AAEzC,UAAMC,sBAAsB,IAAIC,8BAA8B;MAC5DC,UAAU,IAAIC,mBAAmB;QAC/BC,KAAK,KAAKP,QAAQQ,WAAW;QAC7BC,SAAS,KAAKT,QAAQS;MACxB,CAAA;MACAC,sBAAsBd;IACxB,CAAA;AAEA,SAAKE,iBAAiB,IAAIa,cAAc;MACtCC,UAAU,KAAKZ,QAAQY;MACvBC,SAAS;QAACV;;IACZ,CAAA;AACA,SAAKJ,SAAS,KAAKD,eAAegB,SAAS,oBAAA;AAE3C,UAAMC,UAAU;;MAEdC,WAAW,CAACC,MAAcC,OAAgBC,SAAAA;AACxC,aAAKH,UAAUC,MAAMC,OAAOE,YAAYD,IAAAA,CAAAA;MAC1C;MACAE,cAAc,CAACJ,MAAcC,OAAeC,SAAAA;AAC1C,aAAKE,aAAaJ,MAAMC,OAAOE,YAAYD,IAAAA,CAAAA;MAC7C;MACAG,KAAK,CAACL,MAAcC,OAAwBC,SAAAA;MAE5C;MACAI,OAAO,CAACN,MAAcC,OAAeC,SAAAA;AACnC,aAAKI,MAAMN,MAAMC,OAAOE,YAAYD,IAAAA,CAAAA;MACtC;IACF;AAEAK,oBAAgBC,cAAcC,kBAAkBX,OAAAA;EAClD;EAEAQ,MAAMN,MAAcC,OAAeS,MAAkB;AACnD,UAAMJ,QAAQ,KAAKxB,OAAO6B,YAAYX,IAAAA;AACtCY,QAAI,cAAc;MAAEZ;MAAMC;MAAOS,MAAM;QAAE,GAAG,KAAK3B,QAAQ8B,QAAO;QAAI,GAAGH;MAAK;IAAE,GAAA;;;;;;AAC9EJ,UAAMQ,OAAOb,OAAO;MAAE,GAAG,KAAKlB,QAAQ8B,QAAO;MAAI,GAAGH;IAAK,CAAA;EAC3D;EAEAX,UAAUC,MAAcC,OAAgBS,MAAkB;AACxD,UAAMK,UAAU,KAAKjC,OAAOkC,cAAchB,IAAAA;AAC1CY,QAAI,gBAAgB;MAAEZ;MAAMC;MAAOS,MAAM;QAAE,GAAG,KAAK3B,QAAQ8B,QAAO;QAAI,GAAGH;MAAK;IAAE,GAAA;;;;;;AAChFK,YAAQE,IAAIhB,SAAS,GAAG;MAAE,GAAG,KAAKlB,QAAQ8B,QAAO;MAAI,GAAGH;IAAK,CAAA;EAC/D;EAEAN,aAAaJ,MAAcC,OAAeS,MAAkB;AAC1D,UAAMN,eAAe,KAAKtB,OAAOoC,gBAAgBlB,IAAAA;AACjDY,QAAI,qBAAqB;MAAEZ;MAAMC;MAAOS,MAAM;QAAE,GAAG,KAAK3B,QAAQ8B,QAAO;QAAI,GAAGH;MAAK;IAAE,GAAA;;;;;;AACrFN,iBAAaU,OAAOb,OAAO;MAAE,GAAG,KAAKlB,QAAQ8B,QAAO;MAAI,GAAGH;IAAK,CAAA;EAClE;EAEAS,QAAuB;AACrB,WAAO,KAAKtC,eAAeuC,WAAU;EACvC;EAEAC,QAAuB;AACrB,WAAO,KAAKxC,eAAeyC,SAAQ;EACrC;AACF;AAEA,IAAMnB,cAAc,CAACD,SAAAA;AACnB,MAAIA,QAAQA,KAAKQ,MAAM;AACrB,WAAOa,OAAOC,QAAQtB,KAAKQ,IAAI,EAAEe,OAA+B,CAACC,KAAK,CAACC,KAAK1B,KAAAA,MAAM;AAChFyB,UAAIC,GAAAA,IAAO1B;AACX,aAAOyB;IACT,GAAG,CAAC,CAAA;EACN,OAAO;AACL,WAAO,CAAC;EACV;AACF;",
6
+ "names": ["OTLPMetricExporter", "MeterProvider", "PeriodicExportingMetricReader", "log", "TRACE_PROCESSOR", "EXPORT_INTERVAL", "OtelMetrics", "_meterProvider", "_meter", "options", "setDiagLogger", "consoleDiagLogLevel", "grafanaMetricReader", "PeriodicExportingMetricReader", "exporter", "OTLPMetricExporter", "url", "endpoint", "headers", "exportIntervalMillis", "MeterProvider", "resource", "readers", "getMeter", "metrics", "increment", "name", "value", "data", "convertTags", "distribution", "set", "gauge", "TRACE_PROCESSOR", "remoteMetrics", "registerProcessor", "tags", "createGauge", "log", "getTags", "record", "counter", "createCounter", "add", "createHistogram", "flush", "forceFlush", "close", "shutdown", "Object", "entries", "reduce", "obj", "key"]
7
+ }
@@ -0,0 +1,166 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/extensions/otel/traces-browser.ts
4
+ import { ROOT_CONTEXT, SpanStatusCode, context as otelContext, propagation, trace } from "@opentelemetry/api";
5
+ import { getWebAutoInstrumentations } from "@opentelemetry/auto-instrumentations-web";
6
+ import { W3CTraceContextPropagator } from "@opentelemetry/core";
7
+ import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
8
+ import { registerInstrumentations } from "@opentelemetry/instrumentation";
9
+ import { AlwaysOnSampler, BatchSpanProcessor, ParentBasedSampler, TraceIdRatioBasedSampler } from "@opentelemetry/sdk-trace-base";
10
+ import { WebTracerProvider } from "@opentelemetry/sdk-trace-web";
11
+ import { ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
12
+ import { log as log2 } from "@dxos/log";
13
+ import { TRACE_ALL_KEY, TRACE_PROCESSOR } from "@dxos/tracing";
14
+
15
+ // src/extensions/otel/span-processors.ts
16
+ import { log } from "@dxos/log";
17
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/otel/span-processors.ts";
18
+ var TagInjectorSpanProcessor = class {
19
+ _getTags;
20
+ constructor(_getTags) {
21
+ this._getTags = _getTags;
22
+ }
23
+ onStart(span, _parentContext) {
24
+ let tags;
25
+ try {
26
+ tags = this._getTags();
27
+ } catch (err) {
28
+ log.catch(err, void 0, {
29
+ F: __dxlog_file,
30
+ L: 32,
31
+ S: this,
32
+ C: (f, a) => f(...a)
33
+ });
34
+ return;
35
+ }
36
+ for (const [key, value] of Object.entries(tags)) {
37
+ span.setAttribute(key, value);
38
+ }
39
+ }
40
+ onEnd(_span) {
41
+ }
42
+ async shutdown() {
43
+ }
44
+ async forceFlush() {
45
+ }
46
+ };
47
+
48
+ // src/extensions/otel/traces-browser.ts
49
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/otel/traces-browser.ts";
50
+ var OtelTraces = class {
51
+ options;
52
+ _tracer;
53
+ _tracerProvider;
54
+ constructor(options) {
55
+ this.options = options;
56
+ propagation.setGlobalPropagator(new W3CTraceContextPropagator());
57
+ const forceTraceAll = typeof localStorage !== "undefined" && localStorage.getItem(TRACE_ALL_KEY) === "true";
58
+ this._tracerProvider = new WebTracerProvider({
59
+ resource: this.options.resource,
60
+ sampler: new ParentBasedSampler({
61
+ root: forceTraceAll ? new AlwaysOnSampler() : new TraceIdRatioBasedSampler(0.3)
62
+ }),
63
+ spanProcessors: [
64
+ new TagInjectorSpanProcessor(this.options.getTags),
65
+ new BatchSpanProcessor(new OTLPTraceExporter({
66
+ url: this.options.endpoint + "/v1/traces",
67
+ headers: this.options.headers,
68
+ concurrencyLimit: 10
69
+ }), {
70
+ scheduledDelayMillis: 5e3
71
+ })
72
+ ]
73
+ });
74
+ trace.setGlobalTracerProvider(this._tracerProvider);
75
+ this._tracer = trace.getTracer("dxos-observability", this.options.resource.attributes[ATTR_SERVICE_VERSION]?.toString());
76
+ }
77
+ /**
78
+ * Forcibly flush the BatchSpanProcessor. Call before process exit / page unload
79
+ * to avoid losing queued spans (which manifests as "Missing Span" in SigNoz —
80
+ * their already-exported children reference a parent that never made it to OTLP).
81
+ */
82
+ async flush() {
83
+ await this._tracerProvider.forceFlush();
84
+ }
85
+ /**
86
+ * Flush + shut down the tracer provider via `WebTracerProvider.shutdown()`,
87
+ * which forces a final export then terminates all span processors.
88
+ *
89
+ * Terminal and effectively one-shot: safe to call after `flush()`, but
90
+ * `flush()` MUST NOT be called after `close()` — shutdown stops further
91
+ * exporting, so subsequent `close()`/`flush()` calls resolve without
92
+ * emitting new spans.
93
+ */
94
+ async close() {
95
+ await this._tracerProvider.shutdown();
96
+ }
97
+ start() {
98
+ log2("trace processor registered", void 0, {
99
+ F: __dxlog_file2,
100
+ L: 90,
101
+ S: this,
102
+ C: (f, a) => f(...a)
103
+ });
104
+ registerInstrumentations({
105
+ instrumentations: [
106
+ getWebAutoInstrumentations({
107
+ "@opentelemetry/instrumentation-fetch": {
108
+ enabled: false,
109
+ ignoreUrls: [
110
+ /api\.ipdata\.co/
111
+ ]
112
+ },
113
+ "@opentelemetry/instrumentation-document-load": {
114
+ enabled: false
115
+ },
116
+ "@opentelemetry/instrumentation-xml-http-request": {
117
+ enabled: false
118
+ },
119
+ "@opentelemetry/instrumentation-user-interaction": {
120
+ enabled: false
121
+ }
122
+ })
123
+ ]
124
+ });
125
+ const tracer = this._tracer;
126
+ TRACE_PROCESSOR.tracingBackend = {
127
+ startSpan: (options) => {
128
+ log2("begin otel trace", {
129
+ options
130
+ }, {
131
+ F: __dxlog_file2,
132
+ L: 107,
133
+ S: this,
134
+ C: (f, a) => f(...a)
135
+ });
136
+ const parentCtx = options.parentContext ? propagation.extract(ROOT_CONTEXT, {
137
+ traceparent: options.parentContext.traceparent,
138
+ tracestate: options.parentContext.tracestate ?? ""
139
+ }) : otelContext.active();
140
+ const span = tracer.startSpan(options.name, options, parentCtx);
141
+ const sc = span.spanContext();
142
+ const spanContext = sc && sc.traceId && sc.spanId ? {
143
+ traceparent: `00-${sc.traceId}-${sc.spanId}-${(sc.traceFlags ?? 0).toString(16).padStart(2, "0")}`,
144
+ tracestate: sc.traceState?.serialize()
145
+ } : void 0;
146
+ return {
147
+ end: (endTime) => span.end(endTime),
148
+ setError: (err) => {
149
+ if (err instanceof Error) {
150
+ span.recordException(err);
151
+ }
152
+ span.setStatus({
153
+ code: SpanStatusCode.ERROR,
154
+ message: err instanceof Error ? err.message : String(err)
155
+ });
156
+ },
157
+ spanContext
158
+ };
159
+ }
160
+ };
161
+ }
162
+ };
163
+ export {
164
+ OtelTraces
165
+ };
166
+ //# sourceMappingURL=traces-browser-Y4FFWRIR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extensions/otel/traces-browser.ts", "../../../src/extensions/otel/span-processors.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n ROOT_CONTEXT,\n SpanStatusCode,\n type Tracer,\n context as otelContext,\n propagation,\n trace,\n} from '@opentelemetry/api';\nimport { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';\nimport { W3CTraceContextPropagator } from '@opentelemetry/core';\nimport { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';\nimport { registerInstrumentations } from '@opentelemetry/instrumentation';\nimport {\n AlwaysOnSampler,\n BatchSpanProcessor,\n ParentBasedSampler,\n TraceIdRatioBasedSampler,\n} from '@opentelemetry/sdk-trace-base';\nimport { WebTracerProvider } from '@opentelemetry/sdk-trace-web';\nimport { ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';\n\nimport { log } from '@dxos/log';\nimport { TRACE_ALL_KEY, type RemoteSpan, type StartSpanOptions, TRACE_PROCESSOR } from '@dxos/tracing';\n\nimport { type OtelOptions } from './otel';\nimport { TagInjectorSpanProcessor } from './span-processors';\n\nexport class OtelTraces {\n private _tracer: Tracer;\n private readonly _tracerProvider: WebTracerProvider;\n\n constructor(private readonly options: OtelOptions) {\n propagation.setGlobalPropagator(new W3CTraceContextPropagator());\n\n const forceTraceAll = typeof localStorage !== 'undefined' && localStorage.getItem(TRACE_ALL_KEY) === 'true';\n\n this._tracerProvider = new WebTracerProvider({\n resource: this.options.resource,\n sampler: new ParentBasedSampler({\n root: forceTraceAll ? new AlwaysOnSampler() : new TraceIdRatioBasedSampler(0.3),\n }),\n spanProcessors: [\n new TagInjectorSpanProcessor(this.options.getTags),\n new BatchSpanProcessor(\n new OTLPTraceExporter({\n url: this.options.endpoint + '/v1/traces',\n headers: this.options.headers,\n concurrencyLimit: 10,\n }),\n { scheduledDelayMillis: 5_000 },\n ),\n ],\n });\n\n trace.setGlobalTracerProvider(this._tracerProvider);\n\n this._tracer = trace.getTracer(\n 'dxos-observability',\n this.options.resource.attributes[ATTR_SERVICE_VERSION]?.toString(),\n );\n }\n\n /**\n * Forcibly flush the BatchSpanProcessor. Call before process exit / page unload\n * to avoid losing queued spans (which manifests as \"Missing Span\" in SigNoz —\n * their already-exported children reference a parent that never made it to OTLP).\n */\n public async flush(): Promise<void> {\n await this._tracerProvider.forceFlush();\n }\n\n /**\n * Flush + shut down the tracer provider via `WebTracerProvider.shutdown()`,\n * which forces a final export then terminates all span processors.\n *\n * Terminal and effectively one-shot: safe to call after `flush()`, but\n * `flush()` MUST NOT be called after `close()` — shutdown stops further\n * exporting, so subsequent `close()`/`flush()` calls resolve without\n * emitting new spans.\n */\n public async close(): Promise<void> {\n await this._tracerProvider.shutdown();\n }\n\n public start(): void {\n log('trace processor registered');\n\n registerInstrumentations({\n instrumentations: [\n getWebAutoInstrumentations({\n '@opentelemetry/instrumentation-fetch': { enabled: false, ignoreUrls: [/api\\.ipdata\\.co/] },\n '@opentelemetry/instrumentation-document-load': { enabled: false },\n '@opentelemetry/instrumentation-xml-http-request': { enabled: false },\n '@opentelemetry/instrumentation-user-interaction': { enabled: false },\n }),\n ],\n });\n\n const tracer = this._tracer;\n\n TRACE_PROCESSOR.tracingBackend = {\n startSpan: (options: StartSpanOptions): RemoteSpan => {\n log('begin otel trace', { options });\n const parentCtx = options.parentContext\n ? propagation.extract(ROOT_CONTEXT, {\n traceparent: options.parentContext.traceparent,\n tracestate: options.parentContext.tracestate ?? '',\n })\n : otelContext.active();\n\n const span = tracer.startSpan(options.name, options, parentCtx);\n\n const sc = span.spanContext();\n const spanContext =\n sc && sc.traceId && sc.spanId\n ? {\n traceparent: `00-${sc.traceId}-${sc.spanId}-${(sc.traceFlags ?? 0).toString(16).padStart(2, '0')}`,\n tracestate: sc.traceState?.serialize(),\n }\n : undefined;\n\n return {\n end: (endTime?: number) => span.end(endTime),\n setError: (err: unknown) => {\n if (err instanceof Error) {\n span.recordException(err);\n }\n span.setStatus({ code: SpanStatusCode.ERROR, message: err instanceof Error ? err.message : String(err) });\n },\n spanContext,\n };\n },\n };\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Context } from '@opentelemetry/api';\nimport { type ReadableSpan, type Span, type SpanProcessor } from '@opentelemetry/sdk-trace-base';\n\nimport { log } from '@dxos/log';\n\n/**\n * Injects dynamic tags as attributes on every span.\n *\n * This is an `onStart`-only processor; `onEnd`/`shutdown`/`forceFlush` are no-ops\n * because this processor never holds pending work (delegates export to downstream\n * processors like BatchSpanProcessor).\n *\n * Use for tags that are not known at provider construction (e.g. identity\n * resolved asynchronously after login). For values known at startup, prefer\n * putting them on the `Resource` — see `extension.ts`.\n *\n * Failures in the tag provider are swallowed so they can never break span\n * recording (the processor is best-effort and runs on the startSpan hot path).\n */\nexport class TagInjectorSpanProcessor implements SpanProcessor {\n constructor(private readonly _getTags: () => Record<string, string>) {}\n\n onStart(span: Span, _parentContext: Context): void {\n let tags: Record<string, string>;\n try {\n tags = this._getTags();\n } catch (err) {\n log.catch(err);\n return;\n }\n for (const [key, value] of Object.entries(tags)) {\n span.setAttribute(key, value);\n }\n }\n\n onEnd(_span: ReadableSpan): void {}\n\n async shutdown(): Promise<void> {}\n\n async forceFlush(): Promise<void> {}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["ROOT_CONTEXT", "SpanStatusCode", "context", "otelContext", "propagation", "trace", "getWebAutoInstrumentations", "W3CTraceContextPropagator", "OTLPTraceExporter", "registerInstrumentations", "AlwaysOnSampler", "BatchSpanProcessor", "ParentBasedSampler", "TraceIdRatioBasedSampler", "WebTracerProvider", "ATTR_SERVICE_VERSION", "log", "TRACE_ALL_KEY", "TRACE_PROCESSOR", "log", "TagInjectorSpanProcessor", "_getTags", "onStart", "span", "_parentContext", "tags", "err", "catch", "key", "value", "Object", "entries", "setAttribute", "onEnd", "_span", "shutdown", "forceFlush", "OtelTraces", "_tracer", "_tracerProvider", "options", "propagation", "setGlobalPropagator", "W3CTraceContextPropagator", "forceTraceAll", "localStorage", "getItem", "TRACE_ALL_KEY", "WebTracerProvider", "resource", "sampler", "ParentBasedSampler", "root", "AlwaysOnSampler", "TraceIdRatioBasedSampler", "spanProcessors", "TagInjectorSpanProcessor", "getTags", "BatchSpanProcessor", "OTLPTraceExporter", "url", "endpoint", "headers", "concurrencyLimit", "scheduledDelayMillis", "trace", "setGlobalTracerProvider", "getTracer", "attributes", "ATTR_SERVICE_VERSION", "toString", "flush", "forceFlush", "close", "shutdown", "start", "log", "registerInstrumentations", "instrumentations", "getWebAutoInstrumentations", "enabled", "ignoreUrls", "tracer", "TRACE_PROCESSOR", "tracingBackend", "startSpan", "parentCtx", "parentContext", "extract", "ROOT_CONTEXT", "traceparent", "tracestate", "otelContext", "active", "span", "name", "sc", "spanContext", "traceId", "spanId", "traceFlags", "padStart", "traceState", "serialize", "undefined", "end", "endTime", "setError", "err", "Error", "recordException", "setStatus", "code", "SpanStatusCode", "ERROR", "message", "String"]
7
+ }
@@ -0,0 +1,15 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // src/extensions/otel/otel.ts
4
+ import { DiagConsoleLogger, DiagLogLevel, diag } from "@opentelemetry/api";
5
+ var setDiagLogger = (level) => {
6
+ const logLevel = DiagLogLevel[level];
7
+ if (logLevel) {
8
+ diag.setLogger(new DiagConsoleLogger(), logLevel);
9
+ }
10
+ };
11
+
12
+ export {
13
+ setDiagLogger
14
+ };
15
+ //# sourceMappingURL=chunk-FEVP3MK4.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extensions/otel/otel.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api';\nimport { type Resource } from '@opentelemetry/resources';\n\nexport type OtelOptions = {\n endpoint: string;\n headers: Record<string, string>;\n resource: Resource;\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"],
5
+ "mappings": ";;;AAIA,SAASA,mBAAmBC,cAAcC,YAAY;AAW/C,IAAMC,gBAAgB,CAACC,UAAAA;AAC5B,QAAMC,WAAWC,aAAaF,KAAAA;AAC9B,MAAIC,UAAU;AACZE,SAAKC,UAAU,IAAIC,kBAAAA,GAAqBJ,QAAAA;EAC1C;AACF;",
6
+ "names": ["DiagConsoleLogger", "DiagLogLevel", "diag", "setDiagLogger", "level", "logLevel", "DiagLogLevel", "diag", "setLogger", "DiagConsoleLogger"]
7
+ }
@@ -0,0 +1,11 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, { get: all[name], enumerable: true });
6
+ };
7
+
8
+ export {
9
+ __export
10
+ };
11
+ //# sourceMappingURL=chunk-HSLMI22Q.mjs.map