@dxos/observability 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae

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 (311) 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 +1005 -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-5DQUYGQ7.mjs +68 -0
  15. package/dist/lib/browser/traces-browser-5DQUYGQ7.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 +1009 -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-KMTHMYFX.mjs +44 -0
  29. package/dist/lib/node-esm/traces-KMTHMYFX.mjs.map +7 -0
  30. package/dist/types/src/cli-observability-secrets.json +3 -4
  31. package/dist/types/src/extensions/index.d.ts +3 -0
  32. package/dist/types/src/extensions/index.d.ts.map +1 -0
  33. package/dist/types/src/extensions/index.js +6 -0
  34. package/dist/types/src/extensions/index.js.map +1 -0
  35. package/dist/types/src/extensions/otel/extension.d.ts +23 -0
  36. package/dist/types/src/extensions/otel/extension.d.ts.map +1 -0
  37. package/dist/types/src/extensions/otel/extension.js +124 -0
  38. package/dist/types/src/extensions/otel/extension.js.map +1 -0
  39. package/dist/types/src/extensions/otel/index.d.ts +2 -0
  40. package/dist/types/src/extensions/otel/index.d.ts.map +1 -0
  41. package/dist/types/src/extensions/otel/index.js +5 -0
  42. package/dist/types/src/extensions/otel/index.js.map +1 -0
  43. package/dist/types/src/{otel → extensions/otel}/logs.d.ts +4 -3
  44. package/dist/types/src/extensions/otel/logs.d.ts.map +1 -0
  45. package/dist/types/src/{otel → extensions/otel}/logs.js +48 -18
  46. package/dist/types/src/extensions/otel/logs.js.map +1 -0
  47. package/dist/types/src/extensions/otel/metrics.d.ts.map +1 -0
  48. package/dist/types/src/{otel → extensions/otel}/metrics.js +2 -10
  49. package/dist/types/src/extensions/otel/metrics.js.map +1 -0
  50. package/dist/types/src/{otel → extensions/otel}/otel.d.ts +3 -3
  51. package/dist/types/src/extensions/otel/otel.d.ts.map +1 -0
  52. package/dist/types/src/extensions/otel/otel.js.map +1 -0
  53. package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -0
  54. package/dist/types/src/{otel → extensions/otel}/traces-browser.js +13 -16
  55. package/dist/types/src/extensions/otel/traces-browser.js.map +1 -0
  56. package/dist/types/src/extensions/otel/traces.d.ts.map +1 -0
  57. package/dist/types/src/{otel → extensions/otel}/traces.js +5 -13
  58. package/dist/types/src/extensions/otel/traces.js.map +1 -0
  59. package/dist/types/src/extensions/posthog/extension.d.ts +18 -0
  60. package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -0
  61. package/dist/types/src/extensions/posthog/extension.js +142 -0
  62. package/dist/types/src/extensions/posthog/extension.js.map +1 -0
  63. package/dist/types/src/extensions/posthog/index.d.ts +2 -0
  64. package/dist/types/src/extensions/posthog/index.d.ts.map +1 -0
  65. package/dist/types/src/extensions/posthog/index.js +5 -0
  66. package/dist/types/src/extensions/posthog/index.js.map +1 -0
  67. package/dist/types/src/extensions/posthog/log-processor.d.ts +3 -0
  68. package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -0
  69. package/dist/types/src/extensions/posthog/log-processor.js +45 -0
  70. package/dist/types/src/extensions/posthog/log-processor.js.map +1 -0
  71. package/dist/types/src/extensions/posthog/log-processor.test.d.ts +2 -0
  72. package/dist/types/src/extensions/posthog/log-processor.test.d.ts.map +1 -0
  73. package/dist/types/src/extensions/posthog/log-processor.test.js +146 -0
  74. package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -0
  75. package/dist/types/src/extensions/stub.d.ts +3 -0
  76. package/dist/types/src/extensions/stub.d.ts.map +1 -0
  77. package/dist/types/src/extensions/stub.js +16 -0
  78. package/dist/types/src/extensions/stub.js.map +1 -0
  79. package/dist/types/src/index.d.ts +3 -2
  80. package/dist/types/src/index.d.ts.map +1 -1
  81. package/dist/types/src/index.js +4 -3
  82. package/dist/types/src/index.js.map +1 -1
  83. package/dist/types/src/observability-extension.d.ts +74 -0
  84. package/dist/types/src/observability-extension.d.ts.map +1 -0
  85. package/dist/types/src/observability-extension.js +5 -0
  86. package/dist/types/src/observability-extension.js.map +1 -0
  87. package/dist/types/src/observability.d.ts +32 -110
  88. package/dist/types/src/observability.d.ts.map +1 -1
  89. package/dist/types/src/observability.js +177 -465
  90. package/dist/types/src/observability.js.map +1 -1
  91. package/dist/types/src/observability.test.d.ts +2 -0
  92. package/dist/types/src/observability.test.d.ts.map +1 -0
  93. package/dist/types/src/observability.test.js +312 -0
  94. package/dist/types/src/observability.test.js.map +1 -0
  95. package/dist/types/src/providers/client-observability.d.ts +11 -0
  96. package/dist/types/src/providers/client-observability.d.ts.map +1 -0
  97. package/dist/types/src/providers/client-observability.js +200 -0
  98. package/dist/types/src/providers/client-observability.js.map +1 -0
  99. package/dist/types/src/providers/index.d.ts +4 -0
  100. package/dist/types/src/providers/index.d.ts.map +1 -0
  101. package/dist/types/src/providers/index.js +7 -0
  102. package/dist/types/src/providers/index.js.map +1 -0
  103. package/dist/types/src/providers/ip-data.d.ts +5 -0
  104. package/dist/types/src/providers/ip-data.d.ts.map +1 -0
  105. package/dist/types/src/providers/ip-data.js +57 -0
  106. package/dist/types/src/providers/ip-data.js.map +1 -0
  107. package/dist/types/src/providers/storage.d.ts +3 -0
  108. package/dist/types/src/providers/storage.d.ts.map +1 -0
  109. package/dist/types/src/providers/storage.js +19 -0
  110. package/dist/types/src/providers/storage.js.map +1 -0
  111. package/dist/types/src/storage/browser.d.ts +19 -0
  112. package/dist/types/src/storage/browser.d.ts.map +1 -0
  113. package/dist/types/src/storage/browser.js +58 -0
  114. package/dist/types/src/storage/browser.js.map +1 -0
  115. package/dist/types/src/storage/index.d.ts +2 -0
  116. package/dist/types/src/storage/index.d.ts.map +1 -0
  117. package/dist/types/src/storage/index.js.map +1 -0
  118. package/dist/types/src/storage/node.d.ts +26 -0
  119. package/dist/types/src/storage/node.d.ts.map +1 -0
  120. package/dist/types/src/{helpers/node-observability.js → storage/node.js} +37 -42
  121. package/dist/types/src/storage/node.js.map +1 -0
  122. package/dist/types/src/storage/node.test.d.ts +2 -0
  123. package/dist/types/src/storage/node.test.d.ts.map +1 -0
  124. package/dist/types/src/storage/node.test.js +103 -0
  125. package/dist/types/src/storage/node.test.js.map +1 -0
  126. package/dist/types/tsconfig.tsbuildinfo +1 -1
  127. package/package.json +30 -51
  128. package/src/cli-observability-secrets.json +3 -4
  129. package/src/extensions/index.ts +6 -0
  130. package/src/extensions/otel/extension.ts +178 -0
  131. package/src/extensions/otel/index.ts +5 -0
  132. package/src/{otel → extensions/otel}/logs.ts +55 -23
  133. package/src/{otel → extensions/otel}/metrics.ts +2 -12
  134. package/src/{otel → extensions/otel}/otel.ts +3 -3
  135. package/src/{otel → extensions/otel}/traces-browser.ts +20 -19
  136. package/src/{otel → extensions/otel}/traces.ts +10 -21
  137. package/src/extensions/posthog/extension.ts +174 -0
  138. package/src/extensions/posthog/index.ts +5 -0
  139. package/src/extensions/posthog/log-processor.test.ts +185 -0
  140. package/src/extensions/posthog/log-processor.ts +54 -0
  141. package/src/extensions/stub.ts +19 -0
  142. package/src/index.ts +4 -3
  143. package/src/observability-extension.ts +94 -0
  144. package/src/observability.test.ts +531 -0
  145. package/src/observability.ts +236 -577
  146. package/src/providers/client-observability.ts +253 -0
  147. package/src/providers/index.ts +7 -0
  148. package/src/providers/ip-data.ts +91 -0
  149. package/src/providers/storage.ts +23 -0
  150. package/src/storage/browser.ts +61 -0
  151. package/src/{segment → storage}/index.ts +0 -1
  152. package/src/storage/node.test.ts +130 -0
  153. package/src/{helpers/node-observability.ts → storage/node.ts} +40 -69
  154. package/dist/lib/browser/chunk-5ICT2XF2.mjs +0 -1
  155. package/dist/lib/browser/chunk-CZBWMGUZ.mjs +0 -1025
  156. package/dist/lib/browser/chunk-CZBWMGUZ.mjs.map +0 -7
  157. package/dist/lib/browser/chunk-JWOLOB5N.mjs +0 -161
  158. package/dist/lib/browser/chunk-JWOLOB5N.mjs.map +0 -7
  159. package/dist/lib/browser/chunk-ZI3ZS3PA.mjs +0 -164
  160. package/dist/lib/browser/chunk-ZI3ZS3PA.mjs.map +0 -7
  161. package/dist/lib/browser/observability-NLOCHCE7.mjs +0 -10
  162. package/dist/lib/browser/otel-6FVBNA5F.mjs +0 -327
  163. package/dist/lib/browser/otel-6FVBNA5F.mjs.map +0 -7
  164. package/dist/lib/browser/segment/index.mjs +0 -11
  165. package/dist/lib/browser/segment/index.mjs.map +0 -7
  166. package/dist/lib/browser/sentry/index.mjs +0 -24
  167. package/dist/lib/browser/sentry/index.mjs.map +0 -7
  168. package/dist/lib/browser/sentry-log-processor-F4JCYJ2E.mjs +0 -162
  169. package/dist/lib/browser/sentry-log-processor-F4JCYJ2E.mjs.map +0 -7
  170. package/dist/lib/node-esm/chunk-24NMRR4E.mjs +0 -229
  171. package/dist/lib/node-esm/chunk-24NMRR4E.mjs.map +0 -7
  172. package/dist/lib/node-esm/chunk-4EWQFQ2F.mjs +0 -1026
  173. package/dist/lib/node-esm/chunk-4EWQFQ2F.mjs.map +0 -7
  174. package/dist/lib/node-esm/chunk-QK5IUYVA.mjs +0 -135
  175. package/dist/lib/node-esm/chunk-QK5IUYVA.mjs.map +0 -7
  176. package/dist/lib/node-esm/chunk-QUZL7LKE.mjs +0 -2
  177. package/dist/lib/node-esm/chunk-QUZL7LKE.mjs.map +0 -7
  178. package/dist/lib/node-esm/observability-DHNVVRC7.mjs +0 -11
  179. package/dist/lib/node-esm/observability-DHNVVRC7.mjs.map +0 -7
  180. package/dist/lib/node-esm/otel-KHSGBROB.mjs +0 -310
  181. package/dist/lib/node-esm/otel-KHSGBROB.mjs.map +0 -7
  182. package/dist/lib/node-esm/segment/index.mjs +0 -12
  183. package/dist/lib/node-esm/segment/index.mjs.map +0 -7
  184. package/dist/lib/node-esm/sentry/index.mjs +0 -25
  185. package/dist/lib/node-esm/sentry/index.mjs.map +0 -7
  186. package/dist/lib/node-esm/sentry-log-processor-3BDS4BB4.mjs +0 -163
  187. package/dist/lib/node-esm/sentry-log-processor-3BDS4BB4.mjs.map +0 -7
  188. package/dist/types/src/helpers/browser-observability.d.ts +0 -17
  189. package/dist/types/src/helpers/browser-observability.d.ts.map +0 -1
  190. package/dist/types/src/helpers/browser-observability.js +0 -138
  191. package/dist/types/src/helpers/browser-observability.js.map +0 -1
  192. package/dist/types/src/helpers/common.d.ts +0 -12
  193. package/dist/types/src/helpers/common.d.ts.map +0 -1
  194. package/dist/types/src/helpers/common.js +0 -23
  195. package/dist/types/src/helpers/common.js.map +0 -1
  196. package/dist/types/src/helpers/index.d.ts +0 -6
  197. package/dist/types/src/helpers/index.d.ts.map +0 -1
  198. package/dist/types/src/helpers/index.js +0 -9
  199. package/dist/types/src/helpers/index.js.map +0 -1
  200. package/dist/types/src/helpers/map-spaces.d.ts +0 -18
  201. package/dist/types/src/helpers/map-spaces.d.ts.map +0 -1
  202. package/dist/types/src/helpers/map-spaces.js +0 -36
  203. package/dist/types/src/helpers/map-spaces.js.map +0 -1
  204. package/dist/types/src/helpers/node-observability.d.ts +0 -24
  205. package/dist/types/src/helpers/node-observability.d.ts.map +0 -1
  206. package/dist/types/src/helpers/node-observability.js.map +0 -1
  207. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts +0 -4
  208. package/dist/types/src/helpers/setup-telemetry-listeners.d.ts.map +0 -1
  209. package/dist/types/src/helpers/setup-telemetry-listeners.js +0 -94
  210. package/dist/types/src/helpers/setup-telemetry-listeners.js.map +0 -1
  211. package/dist/types/src/otel/index.d.ts +0 -5
  212. package/dist/types/src/otel/index.d.ts.map +0 -1
  213. package/dist/types/src/otel/index.js +0 -8
  214. package/dist/types/src/otel/index.js.map +0 -1
  215. package/dist/types/src/otel/logs.d.ts.map +0 -1
  216. package/dist/types/src/otel/logs.js.map +0 -1
  217. package/dist/types/src/otel/metrics.d.ts.map +0 -1
  218. package/dist/types/src/otel/metrics.js.map +0 -1
  219. package/dist/types/src/otel/otel.d.ts.map +0 -1
  220. package/dist/types/src/otel/otel.js.map +0 -1
  221. package/dist/types/src/otel/traces-browser.d.ts.map +0 -1
  222. package/dist/types/src/otel/traces-browser.js.map +0 -1
  223. package/dist/types/src/otel/traces.d.ts.map +0 -1
  224. package/dist/types/src/otel/traces.js.map +0 -1
  225. package/dist/types/src/segment/base.d.ts +0 -15
  226. package/dist/types/src/segment/base.d.ts.map +0 -1
  227. package/dist/types/src/segment/base.js +0 -51
  228. package/dist/types/src/segment/base.js.map +0 -1
  229. package/dist/types/src/segment/browser.d.ts +0 -15
  230. package/dist/types/src/segment/browser.d.ts.map +0 -1
  231. package/dist/types/src/segment/browser.js +0 -63
  232. package/dist/types/src/segment/browser.js.map +0 -1
  233. package/dist/types/src/segment/index.d.ts +0 -3
  234. package/dist/types/src/segment/index.d.ts.map +0 -1
  235. package/dist/types/src/segment/index.js +0 -6
  236. package/dist/types/src/segment/index.js.map +0 -1
  237. package/dist/types/src/segment/node.d.ts +0 -16
  238. package/dist/types/src/segment/node.d.ts.map +0 -1
  239. package/dist/types/src/segment/node.js +0 -84
  240. package/dist/types/src/segment/node.js.map +0 -1
  241. package/dist/types/src/segment/types.d.ts +0 -52
  242. package/dist/types/src/segment/types.d.ts.map +0 -1
  243. package/dist/types/src/segment/types.js +0 -18
  244. package/dist/types/src/segment/types.js.map +0 -1
  245. package/dist/types/src/sentry/browser.d.ts +0 -32
  246. package/dist/types/src/sentry/browser.d.ts.map +0 -1
  247. package/dist/types/src/sentry/browser.js +0 -110
  248. package/dist/types/src/sentry/browser.js.map +0 -1
  249. package/dist/types/src/sentry/index.d.ts +0 -3
  250. package/dist/types/src/sentry/index.d.ts.map +0 -1
  251. package/dist/types/src/sentry/index.js.map +0 -1
  252. package/dist/types/src/sentry/node.d.ts +0 -32
  253. package/dist/types/src/sentry/node.d.ts.map +0 -1
  254. package/dist/types/src/sentry/node.js +0 -106
  255. package/dist/types/src/sentry/node.js.map +0 -1
  256. package/dist/types/src/sentry/node.node.test.d.ts +0 -2
  257. package/dist/types/src/sentry/node.node.test.d.ts.map +0 -1
  258. package/dist/types/src/sentry/node.node.test.js +0 -32
  259. package/dist/types/src/sentry/node.node.test.js.map +0 -1
  260. package/dist/types/src/sentry/sentry-log-processor.d.ts +0 -9
  261. package/dist/types/src/sentry/sentry-log-processor.d.ts.map +0 -1
  262. package/dist/types/src/sentry/sentry-log-processor.js +0 -144
  263. package/dist/types/src/sentry/sentry-log-processor.js.map +0 -1
  264. package/dist/types/src/sentry/sentry.node.test.d.ts +0 -2
  265. package/dist/types/src/sentry/sentry.node.test.d.ts.map +0 -1
  266. package/dist/types/src/sentry/sentry.node.test.js +0 -28
  267. package/dist/types/src/sentry/sentry.node.test.js.map +0 -1
  268. package/dist/types/src/sentry/types.d.ts +0 -18
  269. package/dist/types/src/sentry/types.d.ts.map +0 -1
  270. package/dist/types/src/sentry/types.js +0 -4
  271. package/dist/types/src/sentry/types.js.map +0 -1
  272. package/dist/types/src/testing/index.d.ts +0 -2
  273. package/dist/types/src/testing/index.d.ts.map +0 -1
  274. package/dist/types/src/testing/index.js +0 -5
  275. package/dist/types/src/testing/index.js.map +0 -1
  276. package/dist/types/src/testing/testkit/browser.d.ts +0 -2
  277. package/dist/types/src/testing/testkit/browser.d.ts.map +0 -1
  278. package/dist/types/src/testing/testkit/browser.js +0 -7
  279. package/dist/types/src/testing/testkit/browser.js.map +0 -1
  280. package/dist/types/src/testing/testkit/index.d.ts +0 -2
  281. package/dist/types/src/testing/testkit/index.d.ts.map +0 -1
  282. package/dist/types/src/testing/testkit/index.js +0 -6
  283. package/dist/types/src/testing/testkit/index.js.map +0 -1
  284. package/src/helpers/browser-observability.ts +0 -178
  285. package/src/helpers/common.ts +0 -38
  286. package/src/helpers/index.ts +0 -9
  287. package/src/helpers/map-spaces.ts +0 -48
  288. package/src/helpers/setup-telemetry-listeners.ts +0 -109
  289. package/src/otel/index.ts +0 -8
  290. package/src/segment/base.ts +0 -69
  291. package/src/segment/browser.ts +0 -69
  292. package/src/segment/node.ts +0 -95
  293. package/src/segment/types.ts +0 -57
  294. package/src/sentry/browser.ts +0 -133
  295. package/src/sentry/index.ts +0 -6
  296. package/src/sentry/node.node.test.ts +0 -40
  297. package/src/sentry/node.ts +0 -126
  298. package/src/sentry/sentry-log-processor.ts +0 -174
  299. package/src/sentry/sentry.node.test.ts +0 -35
  300. package/src/sentry/types.ts +0 -22
  301. package/src/testing/index.ts +0 -5
  302. package/src/testing/testkit/browser.ts +0 -8
  303. package/src/testing/testkit/index.ts +0 -7
  304. package/src/testing/testkit/shims.d.ts +0 -5
  305. /package/dist/lib/browser/{chunk-5ICT2XF2.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  306. /package/dist/lib/{browser/observability-NLOCHCE7.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
  307. /package/dist/types/src/{otel → extensions/otel}/metrics.d.ts +0 -0
  308. /package/dist/types/src/{otel → extensions/otel}/otel.js +0 -0
  309. /package/dist/types/src/{otel → extensions/otel}/traces-browser.d.ts +0 -0
  310. /package/dist/types/src/{otel → extensions/otel}/traces.d.ts +0 -0
  311. /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,68 @@
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
+ "@opentelemetry/instrumentation-fetch": {
43
+ ignoreUrls: [
44
+ /api\.ipdata\.co/
45
+ ]
46
+ }
47
+ })
48
+ ]
49
+ });
50
+ TRACE_PROCESSOR.remoteTracing.registerProcessor({
51
+ startSpan: (options) => {
52
+ log("begin otel trace", {
53
+ options
54
+ }, {
55
+ F: __dxlog_file,
56
+ L: 58,
57
+ S: this,
58
+ C: (f, a) => f(...a)
59
+ });
60
+ return this._tracer.startSpan(options.name, options);
61
+ }
62
+ });
63
+ }
64
+ };
65
+ export {
66
+ OtelTraces
67
+ };
68
+ //# sourceMappingURL=traces-browser-5DQUYGQ7.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: [\n getWebAutoInstrumentations({\n '@opentelemetry/instrumentation-fetch': {\n ignoreUrls: [/api\\.ipdata\\.co/],\n },\n }),\n ],\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;QAChBvB,2BAA2B;UACzB,wCAAwC;YACtCwB,YAAY;cAAC;;UACf;QACF,CAAA;;IAEJ,CAAA;AAEAjB,oBAAgBkB,cAAcC,kBAAkB;MAC9CC,WAAW,CAACjB,YAAAA;AACVJ,YAAI,oBAAoB;UAAEI;QAAQ,GAAA;;;;;;AAClC,eAAO,KAAKD,QAAQkB,UAAUjB,QAAQkB,MAAMlB,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", "ignoreUrls", "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