@dxos/observability 0.8.4-main.ead640a → 0.8.4-main.ef1bc66f44

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 (320) hide show
  1. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  2. package/dist/lib/browser/chunk-K4VFBKST.mjs +13 -0
  3. package/dist/lib/browser/chunk-K4VFBKST.mjs.map +7 -0
  4. package/dist/lib/browser/index.mjs +1066 -34
  5. package/dist/lib/browser/index.mjs.map +4 -4
  6. package/dist/lib/browser/log-processor-FDLTDQEM.mjs +45 -0
  7. package/dist/lib/browser/log-processor-FDLTDQEM.mjs.map +7 -0
  8. package/dist/lib/browser/logs-ATTRIUTL.mjs +113 -0
  9. package/dist/lib/browser/logs-ATTRIUTL.mjs.map +7 -0
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/metrics-PKTV6IGF.mjs +130 -0
  12. package/dist/lib/browser/metrics-PKTV6IGF.mjs.map +7 -0
  13. package/dist/lib/browser/traces-browser-XYXBF5ZX.mjs +62 -0
  14. package/dist/lib/browser/traces-browser-XYXBF5ZX.mjs.map +7 -0
  15. package/dist/lib/node-esm/chunk-FEVP3MK4.mjs +15 -0
  16. package/dist/lib/node-esm/chunk-FEVP3MK4.mjs.map +7 -0
  17. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  18. package/dist/lib/node-esm/index.mjs +1070 -34
  19. package/dist/lib/node-esm/index.mjs.map +4 -4
  20. package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs +46 -0
  21. package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs.map +7 -0
  22. package/dist/lib/node-esm/logs-7J45KLM7.mjs +114 -0
  23. package/dist/lib/node-esm/logs-7J45KLM7.mjs.map +7 -0
  24. package/dist/lib/node-esm/meta.json +1 -1
  25. package/dist/lib/node-esm/metrics-H7DDLYSG.mjs +131 -0
  26. package/dist/lib/node-esm/metrics-H7DDLYSG.mjs.map +7 -0
  27. package/dist/lib/node-esm/traces-KMTHMYFX.mjs +44 -0
  28. package/dist/lib/node-esm/traces-KMTHMYFX.mjs.map +7 -0
  29. package/dist/types/src/cli-observability-secrets.json +3 -4
  30. package/dist/types/src/extensions/index.d.ts +3 -0
  31. package/dist/types/src/extensions/index.d.ts.map +1 -0
  32. package/dist/types/src/extensions/index.js +6 -0
  33. package/dist/types/src/extensions/index.js.map +1 -0
  34. package/dist/types/src/extensions/otel/extension.d.ts +23 -0
  35. package/dist/types/src/extensions/otel/extension.d.ts.map +1 -0
  36. package/dist/types/src/extensions/otel/extension.js +124 -0
  37. package/dist/types/src/extensions/otel/extension.js.map +1 -0
  38. package/dist/types/src/extensions/otel/index.d.ts +2 -0
  39. package/dist/types/src/extensions/otel/index.d.ts.map +1 -0
  40. package/dist/types/src/extensions/otel/index.js +5 -0
  41. package/dist/types/src/extensions/otel/index.js.map +1 -0
  42. package/dist/types/src/{otel → extensions/otel}/logs.d.ts +4 -3
  43. package/dist/types/src/extensions/otel/logs.d.ts.map +1 -0
  44. package/dist/types/src/{otel → extensions/otel}/logs.js +48 -18
  45. package/dist/types/src/extensions/otel/logs.js.map +1 -0
  46. package/dist/types/src/extensions/otel/metrics.d.ts.map +1 -0
  47. package/dist/types/src/{otel → extensions/otel}/metrics.js +2 -10
  48. package/dist/types/src/extensions/otel/metrics.js.map +1 -0
  49. package/dist/types/src/{otel → extensions/otel}/otel.d.ts +3 -3
  50. package/dist/types/src/extensions/otel/otel.d.ts.map +1 -0
  51. package/dist/types/src/extensions/otel/otel.js.map +1 -0
  52. package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -0
  53. package/dist/types/src/{otel → extensions/otel}/traces-browser.js +6 -15
  54. package/dist/types/src/extensions/otel/traces-browser.js.map +1 -0
  55. package/dist/types/src/extensions/otel/traces.d.ts.map +1 -0
  56. package/dist/types/src/{otel → extensions/otel}/traces.js +5 -13
  57. package/dist/types/src/extensions/otel/traces.js.map +1 -0
  58. package/dist/types/src/extensions/posthog/extension.d.ts +15 -0
  59. package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -0
  60. package/dist/types/src/extensions/posthog/extension.js +143 -0
  61. package/dist/types/src/extensions/posthog/extension.js.map +1 -0
  62. package/dist/types/src/extensions/posthog/index.d.ts +2 -0
  63. package/dist/types/src/extensions/posthog/index.d.ts.map +1 -0
  64. package/dist/types/src/extensions/posthog/index.js +5 -0
  65. package/dist/types/src/extensions/posthog/index.js.map +1 -0
  66. package/dist/types/src/extensions/posthog/log-processor.d.ts +3 -0
  67. package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -0
  68. package/dist/types/src/extensions/posthog/log-processor.js +45 -0
  69. package/dist/types/src/extensions/posthog/log-processor.js.map +1 -0
  70. package/dist/types/src/extensions/posthog/log-processor.test.d.ts +2 -0
  71. package/dist/types/src/extensions/posthog/log-processor.test.d.ts.map +1 -0
  72. package/dist/types/src/extensions/posthog/log-processor.test.js +146 -0
  73. package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -0
  74. package/dist/types/src/extensions/stub.d.ts +3 -0
  75. package/dist/types/src/extensions/stub.d.ts.map +1 -0
  76. package/dist/types/src/extensions/stub.js +16 -0
  77. package/dist/types/src/extensions/stub.js.map +1 -0
  78. package/dist/types/src/index.d.ts +4 -2
  79. package/dist/types/src/index.d.ts.map +1 -1
  80. package/dist/types/src/index.js +5 -3
  81. package/dist/types/src/index.js.map +1 -1
  82. package/dist/types/src/log-buffer.d.ts +34 -0
  83. package/dist/types/src/log-buffer.d.ts.map +1 -0
  84. package/dist/types/src/log-buffer.js +70 -0
  85. package/dist/types/src/log-buffer.js.map +1 -0
  86. package/dist/types/src/log-buffer.test.d.ts +2 -0
  87. package/dist/types/src/log-buffer.test.d.ts.map +1 -0
  88. package/dist/types/src/log-buffer.test.js +107 -0
  89. package/dist/types/src/log-buffer.test.js.map +1 -0
  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 +200 -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 +55 -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 +58 -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} +37 -42
  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 +30 -51
  135. package/src/cli-observability-secrets.json +3 -4
  136. package/src/extensions/index.ts +6 -0
  137. package/src/extensions/otel/extension.ts +178 -0
  138. package/src/extensions/otel/index.ts +5 -0
  139. package/src/{otel → extensions/otel}/logs.ts +55 -23
  140. package/src/{otel → extensions/otel}/metrics.ts +2 -12
  141. package/src/{otel → extensions/otel}/otel.ts +3 -3
  142. package/src/{otel → extensions/otel}/traces-browser.ts +13 -18
  143. package/src/{otel → extensions/otel}/traces.ts +10 -21
  144. package/src/extensions/posthog/extension.ts +172 -0
  145. package/src/extensions/posthog/index.ts +5 -0
  146. package/src/extensions/posthog/log-processor.test.ts +185 -0
  147. package/src/extensions/posthog/log-processor.ts +54 -0
  148. package/src/extensions/stub.ts +19 -0
  149. package/src/index.ts +5 -3
  150. package/src/log-buffer.test.ts +134 -0
  151. package/src/log-buffer.ts +101 -0
  152. package/src/observability-extension.ts +94 -0
  153. package/src/observability.test.ts +531 -0
  154. package/src/observability.ts +236 -577
  155. package/src/providers/client-observability.ts +253 -0
  156. package/src/providers/index.ts +7 -0
  157. package/src/providers/ip-data.ts +88 -0
  158. package/src/providers/storage.ts +23 -0
  159. package/src/storage/browser.ts +61 -0
  160. package/src/{segment → storage}/index.ts +0 -1
  161. package/src/storage/node.test.ts +130 -0
  162. package/src/{helpers/node-observability.ts → storage/node.ts} +40 -69
  163. package/dist/lib/browser/chunk-5ICT2XF2.mjs +0 -1
  164. package/dist/lib/browser/chunk-CZBWMGUZ.mjs +0 -1025
  165. package/dist/lib/browser/chunk-CZBWMGUZ.mjs.map +0 -7
  166. package/dist/lib/browser/chunk-JWOLOB5N.mjs +0 -161
  167. package/dist/lib/browser/chunk-JWOLOB5N.mjs.map +0 -7
  168. package/dist/lib/browser/chunk-ZI3ZS3PA.mjs +0 -164
  169. package/dist/lib/browser/chunk-ZI3ZS3PA.mjs.map +0 -7
  170. package/dist/lib/browser/observability-NLOCHCE7.mjs +0 -10
  171. package/dist/lib/browser/otel-6FVBNA5F.mjs +0 -327
  172. package/dist/lib/browser/otel-6FVBNA5F.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-F4JCYJ2E.mjs +0 -162
  178. package/dist/lib/browser/sentry-log-processor-F4JCYJ2E.mjs.map +0 -7
  179. package/dist/lib/node-esm/chunk-24NMRR4E.mjs +0 -229
  180. package/dist/lib/node-esm/chunk-24NMRR4E.mjs.map +0 -7
  181. package/dist/lib/node-esm/chunk-4EWQFQ2F.mjs +0 -1026
  182. package/dist/lib/node-esm/chunk-4EWQFQ2F.mjs.map +0 -7
  183. package/dist/lib/node-esm/chunk-QK5IUYVA.mjs +0 -135
  184. package/dist/lib/node-esm/chunk-QK5IUYVA.mjs.map +0 -7
  185. package/dist/lib/node-esm/chunk-QUZL7LKE.mjs +0 -2
  186. package/dist/lib/node-esm/chunk-QUZL7LKE.mjs.map +0 -7
  187. package/dist/lib/node-esm/observability-DHNVVRC7.mjs +0 -11
  188. package/dist/lib/node-esm/observability-DHNVVRC7.mjs.map +0 -7
  189. package/dist/lib/node-esm/otel-KHSGBROB.mjs +0 -310
  190. package/dist/lib/node-esm/otel-KHSGBROB.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.map +0 -1
  226. package/dist/types/src/otel/metrics.d.ts.map +0 -1
  227. package/dist/types/src/otel/metrics.js.map +0 -1
  228. package/dist/types/src/otel/otel.d.ts.map +0 -1
  229. package/dist/types/src/otel/otel.js.map +0 -1
  230. package/dist/types/src/otel/traces-browser.d.ts.map +0 -1
  231. package/dist/types/src/otel/traces-browser.js.map +0 -1
  232. package/dist/types/src/otel/traces.d.ts.map +0 -1
  233. package/dist/types/src/otel/traces.js.map +0 -1
  234. package/dist/types/src/segment/base.d.ts +0 -15
  235. package/dist/types/src/segment/base.d.ts.map +0 -1
  236. package/dist/types/src/segment/base.js +0 -51
  237. package/dist/types/src/segment/base.js.map +0 -1
  238. package/dist/types/src/segment/browser.d.ts +0 -15
  239. package/dist/types/src/segment/browser.d.ts.map +0 -1
  240. package/dist/types/src/segment/browser.js +0 -63
  241. package/dist/types/src/segment/browser.js.map +0 -1
  242. package/dist/types/src/segment/index.d.ts +0 -3
  243. package/dist/types/src/segment/index.d.ts.map +0 -1
  244. package/dist/types/src/segment/index.js +0 -6
  245. package/dist/types/src/segment/index.js.map +0 -1
  246. package/dist/types/src/segment/node.d.ts +0 -16
  247. package/dist/types/src/segment/node.d.ts.map +0 -1
  248. package/dist/types/src/segment/node.js +0 -84
  249. package/dist/types/src/segment/node.js.map +0 -1
  250. package/dist/types/src/segment/types.d.ts +0 -52
  251. package/dist/types/src/segment/types.d.ts.map +0 -1
  252. package/dist/types/src/segment/types.js +0 -18
  253. package/dist/types/src/segment/types.js.map +0 -1
  254. package/dist/types/src/sentry/browser.d.ts +0 -32
  255. package/dist/types/src/sentry/browser.d.ts.map +0 -1
  256. package/dist/types/src/sentry/browser.js +0 -110
  257. package/dist/types/src/sentry/browser.js.map +0 -1
  258. package/dist/types/src/sentry/index.d.ts +0 -3
  259. package/dist/types/src/sentry/index.d.ts.map +0 -1
  260. package/dist/types/src/sentry/index.js.map +0 -1
  261. package/dist/types/src/sentry/node.d.ts +0 -32
  262. package/dist/types/src/sentry/node.d.ts.map +0 -1
  263. package/dist/types/src/sentry/node.js +0 -106
  264. package/dist/types/src/sentry/node.js.map +0 -1
  265. package/dist/types/src/sentry/node.node.test.d.ts +0 -2
  266. package/dist/types/src/sentry/node.node.test.d.ts.map +0 -1
  267. package/dist/types/src/sentry/node.node.test.js +0 -32
  268. package/dist/types/src/sentry/node.node.test.js.map +0 -1
  269. package/dist/types/src/sentry/sentry-log-processor.d.ts +0 -9
  270. package/dist/types/src/sentry/sentry-log-processor.d.ts.map +0 -1
  271. package/dist/types/src/sentry/sentry-log-processor.js +0 -144
  272. package/dist/types/src/sentry/sentry-log-processor.js.map +0 -1
  273. package/dist/types/src/sentry/sentry.node.test.d.ts +0 -2
  274. package/dist/types/src/sentry/sentry.node.test.d.ts.map +0 -1
  275. package/dist/types/src/sentry/sentry.node.test.js +0 -28
  276. package/dist/types/src/sentry/sentry.node.test.js.map +0 -1
  277. package/dist/types/src/sentry/types.d.ts +0 -18
  278. package/dist/types/src/sentry/types.d.ts.map +0 -1
  279. package/dist/types/src/sentry/types.js +0 -4
  280. package/dist/types/src/sentry/types.js.map +0 -1
  281. package/dist/types/src/testing/index.d.ts +0 -2
  282. package/dist/types/src/testing/index.d.ts.map +0 -1
  283. package/dist/types/src/testing/index.js +0 -5
  284. package/dist/types/src/testing/index.js.map +0 -1
  285. package/dist/types/src/testing/testkit/browser.d.ts +0 -2
  286. package/dist/types/src/testing/testkit/browser.d.ts.map +0 -1
  287. package/dist/types/src/testing/testkit/browser.js +0 -7
  288. package/dist/types/src/testing/testkit/browser.js.map +0 -1
  289. package/dist/types/src/testing/testkit/index.d.ts +0 -2
  290. package/dist/types/src/testing/testkit/index.d.ts.map +0 -1
  291. package/dist/types/src/testing/testkit/index.js +0 -6
  292. package/dist/types/src/testing/testkit/index.js.map +0 -1
  293. package/src/helpers/browser-observability.ts +0 -178
  294. package/src/helpers/common.ts +0 -38
  295. package/src/helpers/index.ts +0 -9
  296. package/src/helpers/map-spaces.ts +0 -48
  297. package/src/helpers/setup-telemetry-listeners.ts +0 -109
  298. package/src/otel/index.ts +0 -8
  299. package/src/segment/base.ts +0 -69
  300. package/src/segment/browser.ts +0 -69
  301. package/src/segment/node.ts +0 -95
  302. package/src/segment/types.ts +0 -57
  303. package/src/sentry/browser.ts +0 -133
  304. package/src/sentry/index.ts +0 -6
  305. package/src/sentry/node.node.test.ts +0 -40
  306. package/src/sentry/node.ts +0 -126
  307. package/src/sentry/sentry-log-processor.ts +0 -174
  308. package/src/sentry/sentry.node.test.ts +0 -35
  309. package/src/sentry/types.ts +0 -22
  310. package/src/testing/index.ts +0 -5
  311. package/src/testing/testkit/browser.ts +0 -8
  312. package/src/testing/testkit/index.ts +0 -7
  313. package/src/testing/testkit/shims.d.ts +0 -5
  314. /package/dist/lib/browser/{chunk-5ICT2XF2.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  315. /package/dist/lib/{browser/observability-NLOCHCE7.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
  316. /package/dist/types/src/{otel → extensions/otel}/metrics.d.ts +0 -0
  317. /package/dist/types/src/{otel → extensions/otel}/otel.js +0 -0
  318. /package/dist/types/src/{otel → extensions/otel}/traces-browser.d.ts +0 -0
  319. /package/dist/types/src/{otel → extensions/otel}/traces.d.ts +0 -0
  320. /package/dist/types/src/{sentry → storage}/index.js +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,62 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/extensions/otel/traces-browser.ts
4
+ import { trace } from "@opentelemetry/api";
5
+ import { getWebAutoInstrumentations } from "@opentelemetry/auto-instrumentations-web";
6
+ import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
7
+ import { registerInstrumentations } from "@opentelemetry/instrumentation";
8
+ import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
9
+ import { WebTracerProvider } from "@opentelemetry/sdk-trace-web";
10
+ import { ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
11
+ import { log } from "@dxos/log";
12
+ import { TRACE_PROCESSOR } from "@dxos/tracing";
13
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/otel/traces-browser.ts";
14
+ var OtelTraces = class {
15
+ options;
16
+ _tracer;
17
+ constructor(options) {
18
+ this.options = options;
19
+ const tracerProvider = new WebTracerProvider({
20
+ resource: this.options.resource,
21
+ spanProcessors: [
22
+ new BatchSpanProcessor(new OTLPTraceExporter({
23
+ url: this.options.endpoint + "/v1/traces",
24
+ headers: this.options.headers,
25
+ concurrencyLimit: 10
26
+ }))
27
+ ]
28
+ });
29
+ trace.setGlobalTracerProvider(tracerProvider);
30
+ this._tracer = trace.getTracer("dxos-observability", this.options.resource.attributes[ATTR_SERVICE_VERSION]?.toString());
31
+ }
32
+ start() {
33
+ log("trace processor registered", void 0, {
34
+ F: __dxlog_file,
35
+ L: 44,
36
+ S: this,
37
+ C: (f, a) => f(...a)
38
+ });
39
+ registerInstrumentations({
40
+ instrumentations: [
41
+ getWebAutoInstrumentations()
42
+ ]
43
+ });
44
+ TRACE_PROCESSOR.remoteTracing.registerProcessor({
45
+ startSpan: (options) => {
46
+ log("begin otel trace", {
47
+ options
48
+ }, {
49
+ F: __dxlog_file,
50
+ L: 52,
51
+ S: this,
52
+ C: (f, a) => f(...a)
53
+ });
54
+ return this._tracer.startSpan(options.name, options);
55
+ }
56
+ });
57
+ }
58
+ };
59
+ export {
60
+ OtelTraces
61
+ };
62
+ //# sourceMappingURL=traces-browser-XYXBF5ZX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extensions/otel/traces-browser.ts"],
4
+ "sourcesContent": ["//\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 { BatchSpanProcessor } 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 { type StartSpanOptions, TRACE_PROCESSOR } from '@dxos/tracing';\n\nimport { type OtelOptions } from './otel';\n\nexport class OtelTraces {\n private _tracer: Tracer;\n\n constructor(private readonly options: OtelOptions) {\n const tracerProvider = new WebTracerProvider({\n resource: this.options.resource,\n spanProcessors: [\n new BatchSpanProcessor(\n new OTLPTraceExporter({\n url: this.options.endpoint + '/v1/traces',\n headers: this.options.headers,\n concurrencyLimit: 10, // an optional limit on pending requests\n }),\n ),\n ],\n });\n\n trace.setGlobalTracerProvider(tracerProvider);\n\n this._tracer = trace.getTracer(\n 'dxos-observability',\n this.options.resource.attributes[ATTR_SERVICE_VERSION]?.toString(),\n );\n }\n\n public start(): void {\n log('trace processor registered');\n\n registerInstrumentations({\n instrumentations: [getWebAutoInstrumentations()],\n });\n\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": ";;;AAIA,SAAsBA,aAAa;AACnC,SAASC,kCAAkC;AAC3C,SAASC,yBAAyB;AAClC,SAASC,gCAAgC;AACzC,SAASC,0BAA0B;AACnC,SAASC,yBAAyB;AAClC,SAASC,4BAA4B;AAErC,SAASC,WAAW;AACpB,SAAgCC,uBAAuB;;AAIhD,IAAMC,aAAN,MAAMA;;EACHC;EAER,YAA6BC,SAAsB;SAAtBA,UAAAA;AAC3B,UAAMC,iBAAiB,IAAIP,kBAAkB;MAC3CQ,UAAU,KAAKF,QAAQE;MACvBC,gBAAgB;QACd,IAAIV,mBACF,IAAIF,kBAAkB;UACpBa,KAAK,KAAKJ,QAAQK,WAAW;UAC7BC,SAAS,KAAKN,QAAQM;UACtBC,kBAAkB;QACpB,CAAA,CAAA;;IAGN,CAAA;AAEAlB,UAAMmB,wBAAwBP,cAAAA;AAE9B,SAAKF,UAAUV,MAAMoB,UACnB,sBACA,KAAKT,QAAQE,SAASQ,WAAWf,oBAAAA,GAAuBgB,SAAAA,CAAAA;EAE5D;EAEOC,QAAc;AACnBhB,QAAI,8BAAA,QAAA;;;;;;AAEJJ,6BAAyB;MACvBqB,kBAAkB;QAACvB,2BAAAA;;IACrB,CAAA;AAEAO,oBAAgBiB,cAAcC,kBAAkB;MAC9CC,WAAW,CAAChB,YAAAA;AACVJ,YAAI,oBAAoB;UAAEI;QAAQ,GAAA;;;;;;AAClC,eAAO,KAAKD,QAAQiB,UAAUhB,QAAQiB,MAAMjB,OAAAA;MAC9C;IACF,CAAA;EACF;AACF;",
6
+ "names": ["trace", "getWebAutoInstrumentations", "OTLPTraceExporter", "registerInstrumentations", "BatchSpanProcessor", "WebTracerProvider", "ATTR_SERVICE_VERSION", "log", "TRACE_PROCESSOR", "OtelTraces", "_tracer", "options", "tracerProvider", "resource", "spanProcessors", "url", "endpoint", "headers", "concurrencyLimit", "setGlobalTracerProvider", "getTracer", "attributes", "toString", "start", "instrumentations", "remoteTracing", "registerProcessor", "startSpan", "name"]
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