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

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 (133) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +14 -11
  3. package/dist/lib/browser/{chunk-K4VFBKST.mjs → chunk-PSFTIG54.mjs} +9 -2
  4. package/dist/lib/browser/chunk-PSFTIG54.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +181 -283
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/{log-processor-FDLTDQEM.mjs → log-processor-HPHWNBOK.mjs} +11 -18
  8. package/dist/lib/browser/log-processor-HPHWNBOK.mjs.map +7 -0
  9. package/dist/lib/browser/{logs-ATTRIUTL.mjs → logs-UTNIFYHF.mjs} +7 -4
  10. package/dist/lib/browser/logs-UTNIFYHF.mjs.map +7 -0
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/{metrics-PKTV6IGF.mjs → metrics-PRGSYAZJ.mjs} +7 -21
  13. package/dist/lib/browser/metrics-PRGSYAZJ.mjs.map +7 -0
  14. package/dist/lib/browser/traces-browser-XRINKQUA.mjs +154 -0
  15. package/dist/lib/browser/traces-browser-XRINKQUA.mjs.map +7 -0
  16. package/dist/lib/node-esm/{chunk-FEVP3MK4.mjs → chunk-EDDZWPYV.mjs} +9 -2
  17. package/dist/lib/node-esm/chunk-EDDZWPYV.mjs.map +7 -0
  18. package/dist/lib/node-esm/index.mjs +166 -250
  19. package/dist/lib/node-esm/index.mjs.map +4 -4
  20. package/dist/lib/node-esm/{log-processor-TKJVJJSJ.mjs → log-processor-ZODHERST.mjs} +11 -18
  21. package/dist/lib/node-esm/log-processor-ZODHERST.mjs.map +7 -0
  22. package/dist/lib/node-esm/{logs-7J45KLM7.mjs → logs-ARJUVN3T.mjs} +7 -4
  23. package/dist/lib/node-esm/logs-ARJUVN3T.mjs.map +7 -0
  24. package/dist/lib/node-esm/meta.json +1 -1
  25. package/dist/lib/node-esm/{metrics-H7DDLYSG.mjs → metrics-DREJOOAC.mjs} +7 -21
  26. package/dist/lib/node-esm/metrics-DREJOOAC.mjs.map +7 -0
  27. package/dist/lib/node-esm/traces-74F7JUKF.mjs +125 -0
  28. package/dist/lib/node-esm/traces-74F7JUKF.mjs.map +7 -0
  29. package/dist/types/src/cli-observability-secrets.json +2 -2
  30. package/dist/types/src/extensions/otel/extension.d.ts.map +1 -1
  31. package/dist/types/src/extensions/otel/extension.js +112 -16
  32. package/dist/types/src/extensions/otel/extension.js.map +1 -1
  33. package/dist/types/src/extensions/otel/logs.d.ts.map +1 -1
  34. package/dist/types/src/extensions/otel/logs.js +6 -3
  35. package/dist/types/src/extensions/otel/logs.js.map +1 -1
  36. package/dist/types/src/extensions/otel/metrics.d.ts.map +1 -1
  37. package/dist/types/src/extensions/otel/metrics.js +2 -2
  38. package/dist/types/src/extensions/otel/metrics.js.map +1 -1
  39. package/dist/types/src/extensions/otel/otel.d.ts +7 -0
  40. package/dist/types/src/extensions/otel/otel.d.ts.map +1 -1
  41. package/dist/types/src/extensions/otel/otel.js +12 -0
  42. package/dist/types/src/extensions/otel/otel.js.map +1 -1
  43. package/dist/types/src/extensions/otel/span-processors.d.ts +25 -0
  44. package/dist/types/src/extensions/otel/span-processors.d.ts.map +1 -0
  45. package/dist/types/src/extensions/otel/span-processors.js +41 -0
  46. package/dist/types/src/extensions/otel/span-processors.js.map +1 -0
  47. package/dist/types/src/extensions/otel/traces-browser.d.ts +17 -0
  48. package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -1
  49. package/dist/types/src/extensions/otel/traces-browser.js +73 -12
  50. package/dist/types/src/extensions/otel/traces-browser.js.map +1 -1
  51. package/dist/types/src/extensions/otel/traces.d.ts +17 -0
  52. package/dist/types/src/extensions/otel/traces.d.ts.map +1 -1
  53. package/dist/types/src/extensions/otel/traces.js +59 -9
  54. package/dist/types/src/extensions/otel/traces.js.map +1 -1
  55. package/dist/types/src/extensions/posthog/extension.d.ts +13 -0
  56. package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -1
  57. package/dist/types/src/extensions/posthog/extension.js +41 -28
  58. package/dist/types/src/extensions/posthog/extension.js.map +1 -1
  59. package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -1
  60. package/dist/types/src/extensions/posthog/log-processor.js +10 -19
  61. package/dist/types/src/extensions/posthog/log-processor.js.map +1 -1
  62. package/dist/types/src/extensions/posthog/log-processor.test.js +2 -2
  63. package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -1
  64. package/dist/types/src/index.d.ts +0 -1
  65. package/dist/types/src/index.d.ts.map +1 -1
  66. package/dist/types/src/index.js +0 -1
  67. package/dist/types/src/index.js.map +1 -1
  68. package/dist/types/src/observability-extension.d.ts +1 -1
  69. package/dist/types/src/observability-extension.d.ts.map +1 -1
  70. package/dist/types/src/observability.d.ts.map +1 -1
  71. package/dist/types/src/observability.js +4 -2
  72. package/dist/types/src/observability.js.map +1 -1
  73. package/dist/types/src/observability.test.js +1 -1
  74. package/dist/types/src/observability.test.js.map +1 -1
  75. package/dist/types/src/providers/client-observability.d.ts.map +1 -1
  76. package/dist/types/src/providers/client-observability.js +2 -0
  77. package/dist/types/src/providers/client-observability.js.map +1 -1
  78. package/dist/types/src/providers/ip-data.d.ts.map +1 -1
  79. package/dist/types/src/providers/ip-data.js +4 -2
  80. package/dist/types/src/providers/ip-data.js.map +1 -1
  81. package/dist/types/src/storage/browser.d.ts.map +1 -1
  82. package/dist/types/src/storage/browser.js +15 -4
  83. package/dist/types/src/storage/browser.js.map +1 -1
  84. package/dist/types/src/storage/node.d.ts.map +1 -1
  85. package/dist/types/src/storage/node.js +1 -1
  86. package/dist/types/src/storage/node.js.map +1 -1
  87. package/dist/types/src/storage/node.test.js +1 -1
  88. package/dist/types/src/storage/node.test.js.map +1 -1
  89. package/dist/types/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +36 -32
  91. package/src/cli-observability-secrets.json +2 -2
  92. package/src/extensions/otel/extension.ts +118 -17
  93. package/src/extensions/otel/logs.ts +6 -3
  94. package/src/extensions/otel/metrics.ts +2 -2
  95. package/src/extensions/otel/otel.ts +13 -0
  96. package/src/extensions/otel/span-processors.ts +45 -0
  97. package/src/extensions/otel/traces-browser.ts +95 -13
  98. package/src/extensions/otel/traces.ts +76 -12
  99. package/src/extensions/posthog/extension.ts +54 -27
  100. package/src/extensions/posthog/log-processor.test.ts +7 -6
  101. package/src/extensions/posthog/log-processor.ts +10 -21
  102. package/src/index.ts +0 -1
  103. package/src/observability-extension.ts +1 -1
  104. package/src/observability.test.ts +1 -1
  105. package/src/observability.ts +4 -2
  106. package/src/providers/client-observability.ts +2 -0
  107. package/src/providers/ip-data.ts +5 -2
  108. package/src/storage/browser.ts +14 -4
  109. package/src/storage/node.test.ts +1 -2
  110. package/src/storage/node.ts +1 -2
  111. package/src/vite-import-meta.d.ts +14 -0
  112. package/dist/lib/browser/chunk-K4VFBKST.mjs.map +0 -7
  113. package/dist/lib/browser/log-processor-FDLTDQEM.mjs.map +0 -7
  114. package/dist/lib/browser/logs-ATTRIUTL.mjs.map +0 -7
  115. package/dist/lib/browser/metrics-PKTV6IGF.mjs.map +0 -7
  116. package/dist/lib/browser/traces-browser-XYXBF5ZX.mjs +0 -62
  117. package/dist/lib/browser/traces-browser-XYXBF5ZX.mjs.map +0 -7
  118. package/dist/lib/node-esm/chunk-FEVP3MK4.mjs.map +0 -7
  119. package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs.map +0 -7
  120. package/dist/lib/node-esm/logs-7J45KLM7.mjs.map +0 -7
  121. package/dist/lib/node-esm/metrics-H7DDLYSG.mjs.map +0 -7
  122. package/dist/lib/node-esm/traces-KMTHMYFX.mjs +0 -44
  123. package/dist/lib/node-esm/traces-KMTHMYFX.mjs.map +0 -7
  124. package/dist/types/src/log-buffer.d.ts +0 -34
  125. package/dist/types/src/log-buffer.d.ts.map +0 -1
  126. package/dist/types/src/log-buffer.js +0 -70
  127. package/dist/types/src/log-buffer.js.map +0 -1
  128. package/dist/types/src/log-buffer.test.d.ts +0 -2
  129. package/dist/types/src/log-buffer.test.d.ts.map +0 -1
  130. package/dist/types/src/log-buffer.test.js +0 -107
  131. package/dist/types/src/log-buffer.test.js.map +0 -1
  132. package/src/log-buffer.test.ts +0 -134
  133. package/src/log-buffer.ts +0 -101
@@ -1 +1 @@
1
- {"inputs":{"src/log-buffer.ts":{"bytes":8585,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/storage/browser.ts":{"bytes":7285,"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/storage/index.ts":{"bytes":453,"imports":[{"path":"src/storage/browser.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/observability.ts":{"bytes":28997,"imports":[{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/storage/index.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"src/cli-observability-secrets.json":{"bytes":246,"imports":[]},"src/extensions/stub.ts":{"bytes":1776,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/otel.ts":{"bytes":1710,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/logs.ts":{"bytes":13603,"imports":[{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/extensions/otel/metrics.ts":{"bytes":12316,"imports":[{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/extensions/otel/traces-browser.ts":{"bytes":6737,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/auto-instrumentations-web","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/instrumentation","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-web","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/extension.ts":{"bytes":20276,"imports":[{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Ref","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/cli-observability-secrets.json","kind":"import-statement","original":"../../cli-observability-secrets.json"},{"path":"src/storage/index.ts","kind":"import-statement","original":"../../storage"},{"path":"src/extensions/stub.ts","kind":"import-statement","original":"../stub"},{"path":"src/extensions/otel/logs.ts","kind":"dynamic-import","original":"./logs"},{"path":"src/extensions/otel/metrics.ts","kind":"dynamic-import","original":"./metrics"},{"path":"src/extensions/otel/traces-browser.ts","kind":"dynamic-import","original":"./traces"}],"format":"esm"},"src/extensions/otel/index.ts":{"bytes":474,"imports":[{"path":"src/extensions/otel/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"src/extensions/posthog/log-processor.ts":{"bytes":6561,"imports":[{"path":"posthog-js","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/posthog/extension.ts":{"bytes":21654,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/log-buffer.ts","kind":"import-statement","original":"../../log-buffer"},{"path":"src/extensions/stub.ts","kind":"import-statement","original":"../stub"},{"path":"posthog-js","kind":"dynamic-import","external":true},{"path":"src/extensions/posthog/log-processor.ts","kind":"dynamic-import","original":"./log-processor"}],"format":"esm"},"src/extensions/posthog/index.ts":{"bytes":477,"imports":[{"path":"src/extensions/posthog/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"src/extensions/index.ts":{"bytes":650,"imports":[{"path":"src/extensions/otel/index.ts","kind":"import-statement","original":"./otel"},{"path":"src/extensions/posthog/index.ts","kind":"import-statement","original":"./posthog"}],"format":"esm"},"src/observability-extension.ts":{"bytes":4133,"imports":[{"path":"src/extensions/index.ts","kind":"import-statement","original":"./extensions"}],"format":"esm"},"src/providers/client-observability.ts":{"bytes":35893,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true}],"format":"esm"},"src/providers/ip-data.ts":{"bytes":8948,"imports":[{"path":"@effect/platform/FetchHttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClientRequest","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/providers/storage.ts":{"bytes":3607,"imports":[{"path":"effect/Duration","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Fiber","kind":"import-statement","external":true},{"path":"effect/Schedule","kind":"import-statement","external":true}],"format":"esm"},"src/providers/index.ts":{"bytes":840,"imports":[{"path":"src/providers/client-observability.ts","kind":"import-statement","original":"./client-observability"},{"path":"src/providers/ip-data.ts","kind":"import-statement","original":"./ip-data"},{"path":"src/providers/storage.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"src/index.ts":{"bytes":1092,"imports":[{"path":"src/log-buffer.ts","kind":"import-statement","original":"./log-buffer"},{"path":"src/observability.ts","kind":"import-statement","original":"./observability"},{"path":"src/observability-extension.ts","kind":"import-statement","original":"./observability-extension"},{"path":"src/providers/index.ts","kind":"import-statement","original":"./providers"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":72117},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Ref","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"dist/lib/browser/logs-ATTRIUTL.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/metrics-PKTV6IGF.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/traces-browser-XYXBF5ZX.mjs","kind":"dynamic-import"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"posthog-js","kind":"dynamic-import","external":true},{"path":"dist/lib/browser/log-processor-FDLTDQEM.mjs","kind":"dynamic-import"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@effect/platform/FetchHttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClientRequest","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect/Duration","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Fiber","kind":"import-statement","external":true},{"path":"effect/Schedule","kind":"import-statement","external":true}],"exports":["LogBuffer","Observability","ObservabilityExtension","ObservabilityProvider"],"entryPoint":"src/index.ts","inputs":{"src/log-buffer.ts":{"bytesInOutput":1781},"src/index.ts":{"bytesInOutput":0},"src/observability.ts":{"bytesInOutput":7711},"src/storage/browser.ts":{"bytesInOutput":1838},"src/observability-extension.ts":{"bytesInOutput":151},"src/extensions/otel/index.ts":{"bytesInOutput":83},"src/extensions/otel/extension.ts":{"bytesInOutput":4856},"src/cli-observability-secrets.json":{"bytesInOutput":280},"src/extensions/stub.ts":{"bytesInOutput":311},"src/extensions/index.ts":{"bytesInOutput":0},"src/extensions/posthog/index.ts":{"bytesInOutput":90},"src/extensions/posthog/extension.ts":{"bytesInOutput":5581},"src/providers/index.ts":{"bytesInOutput":174},"src/providers/client-observability.ts":{"bytesInOutput":8756},"src/providers/ip-data.ts":{"bytesInOutput":2095},"src/providers/storage.ts":{"bytesInOutput":895}},"bytes":35371},"dist/lib/browser/logs-ATTRIUTL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7265},"dist/lib/browser/logs-ATTRIUTL.mjs":{"imports":[{"path":"dist/lib/browser/chunk-K4VFBKST.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["OtelLogs"],"entryPoint":"src/extensions/otel/logs.ts","inputs":{"src/extensions/otel/logs.ts":{"bytesInOutput":3076}},"bytes":3261},"dist/lib/browser/metrics-PKTV6IGF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6100},"dist/lib/browser/metrics-PKTV6IGF.mjs":{"imports":[{"path":"dist/lib/browser/chunk-K4VFBKST.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"exports":["OtelMetrics"],"entryPoint":"src/extensions/otel/metrics.ts","inputs":{"src/extensions/otel/metrics.ts":{"bytesInOutput":3058}},"bytes":3252},"dist/lib/browser/chunk-K4VFBKST.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1010},"dist/lib/browser/chunk-K4VFBKST.mjs":{"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"exports":["setDiagLogger"],"inputs":{"src/extensions/otel/otel.ts":{"bytesInOutput":229}},"bytes":333},"dist/lib/browser/traces-browser-XYXBF5ZX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3273},"dist/lib/browser/traces-browser-XYXBF5ZX.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/auto-instrumentations-web","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/instrumentation","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-web","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"exports":["OtelTraces"],"entryPoint":"src/extensions/otel/traces-browser.ts","inputs":{"src/extensions/otel/traces-browser.ts":{"bytesInOutput":1878}},"bytes":2029},"dist/lib/browser/log-processor-FDLTDQEM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3467},"dist/lib/browser/log-processor-FDLTDQEM.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"posthog-js","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["logProcessor"],"entryPoint":"src/extensions/posthog/log-processor.ts","inputs":{"src/extensions/posthog/log-processor.ts":{"bytesInOutput":1338}},"bytes":1492},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
1
+ {"inputs":{"src/storage/browser.ts":{"bytes":8238,"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/storage/index.ts":{"bytes":368,"imports":[{"path":"src/storage/browser.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/observability.ts":{"bytes":28799,"imports":[{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/storage/index.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"src/cli-observability-secrets.json":{"bytes":165,"imports":[]},"src/extensions/stub.ts":{"bytes":1689,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/otel.ts":{"bytes":3260,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/logs.ts":{"bytes":14077,"imports":[{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/extensions/otel/metrics.ts":{"bytes":12229,"imports":[{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"}],"format":"esm"},"src/extensions/otel/span-processors.ts":{"bytes":4354,"imports":[{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/otel/traces-browser.ts":{"bytes":17181,"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/auto-instrumentations-web","kind":"import-statement","external":true},{"path":"@opentelemetry/core","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/instrumentation","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-web","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"src/extensions/otel/otel.ts","kind":"import-statement","original":"./otel"},{"path":"src/extensions/otel/span-processors.ts","kind":"import-statement","original":"./span-processors"}],"format":"esm"},"src/extensions/otel/extension.ts":{"bytes":34487,"imports":[{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Ref","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/cli-observability-secrets.json","kind":"import-statement","original":"../../cli-observability-secrets.json"},{"path":"src/storage/index.ts","kind":"import-statement","original":"../../storage"},{"path":"src/extensions/stub.ts","kind":"import-statement","original":"../stub"},{"path":"src/extensions/otel/logs.ts","kind":"dynamic-import","original":"./logs"},{"path":"src/extensions/otel/metrics.ts","kind":"dynamic-import","original":"./metrics"},{"path":"src/extensions/otel/traces-browser.ts","kind":"dynamic-import","original":"./traces"}],"format":"esm"},"src/extensions/otel/index.ts":{"bytes":377,"imports":[{"path":"src/extensions/otel/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"src/extensions/posthog/log-processor.ts":{"bytes":5374,"imports":[{"path":"posthog-js","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/posthog/extension.ts":{"bytes":23891,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/extensions/stub.ts","kind":"import-statement","original":"../stub"},{"path":"posthog-js","kind":"dynamic-import","external":true},{"path":"src/extensions/posthog/log-processor.ts","kind":"dynamic-import","original":"./log-processor"}],"format":"esm"},"src/extensions/posthog/index.ts":{"bytes":377,"imports":[{"path":"src/extensions/posthog/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"src/extensions/index.ts":{"bytes":562,"imports":[{"path":"src/extensions/otel/index.ts","kind":"import-statement","original":"./otel"},{"path":"src/extensions/posthog/index.ts","kind":"import-statement","original":"./posthog"}],"format":"esm"},"src/observability-extension.ts":{"bytes":4066,"imports":[{"path":"src/extensions/index.ts","kind":"import-statement","original":"./extensions"}],"format":"esm"},"src/providers/client-observability.ts":{"bytes":35900,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true}],"format":"esm"},"src/providers/ip-data.ts":{"bytes":9579,"imports":[{"path":"@effect/platform/FetchHttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClientRequest","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/providers/storage.ts":{"bytes":3514,"imports":[{"path":"effect/Duration","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Fiber","kind":"import-statement","external":true},{"path":"effect/Schedule","kind":"import-statement","external":true}],"format":"esm"},"src/providers/index.ts":{"bytes":749,"imports":[{"path":"src/providers/client-observability.ts","kind":"import-statement","original":"./client-observability"},{"path":"src/providers/ip-data.ts","kind":"import-statement","original":"./ip-data"},{"path":"src/providers/storage.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"src/index.ts":{"bytes":921,"imports":[{"path":"src/observability.ts","kind":"import-statement","original":"./observability"},{"path":"src/observability-extension.ts","kind":"import-statement","original":"./observability-extension"},{"path":"src/providers/index.ts","kind":"import-statement","original":"./providers"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":72630},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@opentelemetry/resources","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Ref","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"dist/lib/browser/logs-UTNIFYHF.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/metrics-PRGSYAZJ.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/traces-browser-XRINKQUA.mjs","kind":"dynamic-import"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"posthog-js","kind":"dynamic-import","external":true},{"path":"dist/lib/browser/log-processor-HPHWNBOK.mjs","kind":"dynamic-import"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@effect/platform/FetchHttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClient","kind":"import-statement","external":true},{"path":"@effect/platform/HttpClientRequest","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect/Duration","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Fiber","kind":"import-statement","external":true},{"path":"effect/Schedule","kind":"import-statement","external":true}],"exports":["Observability","ObservabilityExtension","ObservabilityProvider"],"entryPoint":"src/index.ts","inputs":{"src/observability.ts":{"bytesInOutput":7679},"src/storage/browser.ts":{"bytesInOutput":1956},"src/index.ts":{"bytesInOutput":0},"src/observability-extension.ts":{"bytesInOutput":151},"src/extensions/otel/index.ts":{"bytesInOutput":83},"src/extensions/otel/extension.ts":{"bytesInOutput":7040},"src/cli-observability-secrets.json":{"bytesInOutput":199},"src/extensions/stub.ts":{"bytesInOutput":311},"src/extensions/index.ts":{"bytesInOutput":0},"src/extensions/posthog/index.ts":{"bytesInOutput":90},"src/extensions/posthog/extension.ts":{"bytesInOutput":6136},"src/providers/index.ts":{"bytesInOutput":174},"src/providers/client-observability.ts":{"bytesInOutput":8977},"src/providers/ip-data.ts":{"bytesInOutput":2205},"src/providers/storage.ts":{"bytesInOutput":895}},"bytes":36630},"dist/lib/browser/logs-UTNIFYHF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7525},"dist/lib/browser/logs-UTNIFYHF.mjs":{"imports":[{"path":"dist/lib/browser/chunk-PSFTIG54.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@opentelemetry/api-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-logs-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-logs","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["OtelLogs"],"entryPoint":"src/extensions/otel/logs.ts","inputs":{"src/extensions/otel/logs.ts":{"bytesInOutput":3158}},"bytes":3361},"dist/lib/browser/metrics-PRGSYAZJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5590},"dist/lib/browser/metrics-PRGSYAZJ.mjs":{"imports":[{"path":"dist/lib/browser/chunk-PSFTIG54.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@opentelemetry/exporter-metrics-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-metrics","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true}],"exports":["OtelMetrics"],"entryPoint":"src/extensions/otel/metrics.ts","inputs":{"src/extensions/otel/metrics.ts":{"bytesInOutput":2996}},"bytes":3208},"dist/lib/browser/traces-browser-XRINKQUA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10080},"dist/lib/browser/traces-browser-XRINKQUA.mjs":{"imports":[{"path":"dist/lib/browser/chunk-PSFTIG54.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@opentelemetry/api","kind":"import-statement","external":true},{"path":"@opentelemetry/auto-instrumentations-web","kind":"import-statement","external":true},{"path":"@opentelemetry/core","kind":"import-statement","external":true},{"path":"@opentelemetry/exporter-trace-otlp-http","kind":"import-statement","external":true},{"path":"@opentelemetry/instrumentation","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-base","kind":"import-statement","external":true},{"path":"@opentelemetry/sdk-trace-web","kind":"import-statement","external":true},{"path":"@opentelemetry/semantic-conventions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["OtelTraces"],"entryPoint":"src/extensions/otel/traces-browser.ts","inputs":{"src/extensions/otel/traces-browser.ts":{"bytesInOutput":4721},"src/extensions/otel/span-processors.ts":{"bytesInOutput":644}},"bytes":5658},"dist/lib/browser/chunk-PSFTIG54.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1777},"dist/lib/browser/chunk-PSFTIG54.mjs":{"imports":[{"path":"@opentelemetry/api","kind":"import-statement","external":true}],"exports":["resolveOtlpUrl","setDiagLogger"],"inputs":{"src/extensions/otel/otel.ts":{"bytesInOutput":404}},"bytes":526},"dist/lib/browser/log-processor-HPHWNBOK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2898},"dist/lib/browser/log-processor-HPHWNBOK.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"posthog-js","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["logProcessor"],"entryPoint":"src/extensions/posthog/log-processor.ts","inputs":{"src/extensions/posthog/log-processor.ts":{"bytesInOutput":1175}},"bytes":1329},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
@@ -1,6 +1,7 @@
1
1
  import {
2
+ resolveOtlpUrl,
2
3
  setDiagLogger
3
- } from "./chunk-K4VFBKST.mjs";
4
+ } from "./chunk-PSFTIG54.mjs";
4
5
  import "./chunk-J5LGTIGS.mjs";
5
6
 
6
7
  // src/extensions/otel/metrics.ts
@@ -19,7 +20,7 @@ var OtelMetrics = class {
19
20
  setDiagLogger(options.consoleDiagLogLevel);
20
21
  const grafanaMetricReader = new PeriodicExportingMetricReader({
21
22
  exporter: new OTLPMetricExporter({
22
- url: this.options.endpoint + "/v1/metrics",
23
+ url: resolveOtlpUrl(this.options.endpoint + "/v1/metrics"),
23
24
  headers: this.options.headers
24
25
  }),
25
26
  exportIntervalMillis: EXPORT_INTERVAL
@@ -56,12 +57,7 @@ var OtelMetrics = class {
56
57
  ...this.options.getTags(),
57
58
  ...tags
58
59
  }
59
- }, {
60
- F: __dxlog_file,
61
- L: 60,
62
- S: this,
63
- C: (f, a) => f(...a)
64
- });
60
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 52, S: this });
65
61
  gauge.record(value, {
66
62
  ...this.options.getTags(),
67
63
  ...tags
@@ -76,12 +72,7 @@ var OtelMetrics = class {
76
72
  ...this.options.getTags(),
77
73
  ...tags
78
74
  }
79
- }, {
80
- F: __dxlog_file,
81
- L: 66,
82
- S: this,
83
- C: (f, a) => f(...a)
84
- });
75
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 67, S: this });
85
76
  counter.add(value ?? 1, {
86
77
  ...this.options.getTags(),
87
78
  ...tags
@@ -96,12 +87,7 @@ var OtelMetrics = class {
96
87
  ...this.options.getTags(),
97
88
  ...tags
98
89
  }
99
- }, {
100
- F: __dxlog_file,
101
- L: 72,
102
- S: this,
103
- C: (f, a) => f(...a)
104
- });
90
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 82, S: this });
105
91
  distribution.record(value, {
106
92
  ...this.options.getTags(),
107
93
  ...tags
@@ -127,4 +113,4 @@ var convertTags = (data) => {
127
113
  export {
128
114
  OtelMetrics
129
115
  };
130
- //# sourceMappingURL=metrics-PKTV6IGF.mjs.map
116
+ //# sourceMappingURL=metrics-PRGSYAZJ.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, resolveOtlpUrl, 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: resolveOtlpUrl(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,IAAA,eAAMC;;AAGIC,IAAAA,cAAAA,MAA8B;EAC9BC;EAER;;cACE,SAAA;AACA,SAAA,UAAA;kBAIY,QAAIC,mBAAmB;gCACX,IAAI,8BAAoB;gBAC5CC,IAAS,mBAAoB;QAC/B,KAAA,eAAA,KAAA,QAAA,WAAA,aAAA;QACAC,SAAAA,KAAAA,QAAsBL;MACxB,CAAA;MAEI,sBAAsBM;;SAExBC,iBAAS,IAAA,cAAA;gBAACC,KAAAA,QAAAA;eAAoB;QAChC;MACI;IAEJ,CAAA;SACE,SAAA,KAAA,eAAA,SAAA,oBAAgD;UAChDC,UAAYC;;MAEZ,WAAA,CAAA,MAAA,OAAA,SAAA;AACAC,aAAAA,UAAeD,MAAcE,OAAeC,YAAAA,IAAAA,CAAAA;;MAE5C,cAAA,CAAA,MAAA,OAAA,SAAA;AACAC,aAAMJ,aAAsCG,MAAAA,OAAAA,YAAAA,IAAAA,CAAAA;MAC1C;MACF,KAAA,CAAA,MAAA,OAAA,SAAA;;MAGA,OAAA,CAAA,MAAA,OAAA,SAAA;AACF,aAAA,MAAA,MAAA,OAAA,YAAA,IAAA,CAAA;MAEAE;IACF;AAEAC,oBAAmCC,cAAkB,kBAAA,OAAA;;QAEnDC,MAAI,OAAA,MAAc;UAAER,QAAAA,KAAAA,OAAAA,YAAAA,IAAAA;QAAME,cAAAA;MAAOK;;YAAmC;QAAQ,GAAA,KAAA,QAAA,QAAA;QAAE,GAAA;MAC9ED;qBAA8BG,YAAQC,GAAO,cAAE,GAAA,IAAA,GAAA,KAAA,CAAA;UAAE,OAAO,OAAA;MAAC,GAAA,KAAA,QAAA,QAAA;MAC3D,GAAA;IAEAX,CAAAA;;YAEM,MAAA,OAAA,MAAgB;UAAEC,UAAAA,KAAAA,OAAAA,cAAAA,IAAAA;QAAME,gBAAAA;MAAOK;;YAAmC;QAAQ,GAAA,KAAA,QAAA,QAAA;QAAE,GAAA;MAChFI;qBAAkCF,YAAQC,GAAO,cAAE,GAAA,IAAA,GAAA,KAAA,CAAA;YAAKH,IAAI,SAAA,GAAA;MAAC,GAAA,KAAA,QAAA,QAAA;MAC/D,GAAA;IAEAN,CAAAA;;eAEM,MAAA,OAAA,MAAqB;UAAED,eAAAA,KAAAA,OAAAA,gBAAAA,IAAAA;QAAME,qBAAAA;MAAOK;;YAAmC;QAAQ,GAAA,KAAA,QAAA,QAAA;QAAE,GAAA;MACrFN;qBAAqCQ,YAAQC,GAAO,cAAE,GAAA,IAAA,GAAA,KAAA,CAAA;iBAAS,OAAA,OAAA;MAAC,GAAA,KAAA,QAAA,QAAA;MAClE,GAAA;IAEAE,CAAAA;;EAEA,QAAA;AAEAC,WAAuB,KAAA,eAAA,WAAA;;EAEvB,QAAA;AACF,WAAA,KAAA,eAAA,SAAA;EAEA;;kBAEWC,CAAAA,SAAOC;cACRC,KAAI,MAAGd;WACX,OAAOe,QAAAA,KAAAA,IAAAA,EAAAA,OAAAA,CAAAA,KAAAA,CAAAA,KAAAA,KAAAA,MAAAA;AACL,UAAA,GAAA,IAAA;AACC,aAAA;IACL,GAAA,CAAA,CAAA;EACF,OAAA;AACF,WAAA,CAAA;;;",
6
+ "names": ["OTLPMetricExporter", "MeterProvider", "PeriodicExportingMetricReader", "log", "TRACE_PROCESSOR", "EXPORT_INTERVAL", "_meterProvider", "_meter", "OTLPMetricExporter", "headers", "exportIntervalMillis", "MeterProvider", "readers", "grafanaMetricReader", "increment", "name", "distribution", "value", "data", "set", "TRACE_PROCESSOR", "gauge", "tags", "log", "options", "getTags", "counter", "flush", "close", "Object", "entries", "key", "obj"]
7
+ }
@@ -0,0 +1,154 @@
1
+ import {
2
+ resolveOtlpUrl
3
+ } from "./chunk-PSFTIG54.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/extensions/otel/traces-browser.ts
7
+ import { ROOT_CONTEXT, SpanStatusCode, context as otelContext, propagation, trace } from "@opentelemetry/api";
8
+ import { getWebAutoInstrumentations } from "@opentelemetry/auto-instrumentations-web";
9
+ import { W3CTraceContextPropagator } from "@opentelemetry/core";
10
+ import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
11
+ import { registerInstrumentations } from "@opentelemetry/instrumentation";
12
+ import { AlwaysOnSampler, BatchSpanProcessor, ParentBasedSampler, TraceIdRatioBasedSampler } from "@opentelemetry/sdk-trace-base";
13
+ import { WebTracerProvider } from "@opentelemetry/sdk-trace-web";
14
+ import { ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
15
+ import { log as log2 } from "@dxos/log";
16
+ import { TRACE_ALL_KEY, TRACE_PROCESSOR } from "@dxos/tracing";
17
+
18
+ // src/extensions/otel/span-processors.ts
19
+ import { log } from "@dxos/log";
20
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/otel/span-processors.ts";
21
+ var TagInjectorSpanProcessor = class {
22
+ _getTags;
23
+ constructor(_getTags) {
24
+ this._getTags = _getTags;
25
+ }
26
+ onStart(span, _parentContext) {
27
+ let tags;
28
+ try {
29
+ tags = this._getTags();
30
+ } catch (err) {
31
+ log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 28, S: this });
32
+ return;
33
+ }
34
+ for (const [key, value] of Object.entries(tags)) {
35
+ span.setAttribute(key, value);
36
+ }
37
+ }
38
+ onEnd(_span) {
39
+ }
40
+ async shutdown() {
41
+ }
42
+ async forceFlush() {
43
+ }
44
+ };
45
+
46
+ // src/extensions/otel/traces-browser.ts
47
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/otel/traces-browser.ts";
48
+ var OtelTraces = class {
49
+ options;
50
+ _tracer;
51
+ _tracerProvider;
52
+ constructor(options) {
53
+ this.options = options;
54
+ propagation.setGlobalPropagator(new W3CTraceContextPropagator());
55
+ const forceTraceAll = typeof localStorage !== "undefined" && localStorage.getItem(TRACE_ALL_KEY) === "true";
56
+ this._tracerProvider = new WebTracerProvider({
57
+ resource: this.options.resource,
58
+ sampler: new ParentBasedSampler({
59
+ root: forceTraceAll ? new AlwaysOnSampler() : new TraceIdRatioBasedSampler(0.3)
60
+ }),
61
+ spanProcessors: [
62
+ new TagInjectorSpanProcessor(this.options.getTags),
63
+ new BatchSpanProcessor(new OTLPTraceExporter({
64
+ url: resolveOtlpUrl(this.options.endpoint + "/v1/traces"),
65
+ headers: this.options.headers,
66
+ concurrencyLimit: 10
67
+ }), {
68
+ scheduledDelayMillis: 5e3
69
+ })
70
+ ]
71
+ });
72
+ trace.setGlobalTracerProvider(this._tracerProvider);
73
+ this._tracer = trace.getTracer("dxos-observability", this.options.resource.attributes[ATTR_SERVICE_VERSION]?.toString());
74
+ }
75
+ /**
76
+ * Forcibly flush the BatchSpanProcessor. Call before process exit / page unload
77
+ * to avoid losing queued spans (which manifests as "Missing Span" in SigNoz —
78
+ * their already-exported children reference a parent that never made it to OTLP).
79
+ */
80
+ async flush() {
81
+ await this._tracerProvider.forceFlush();
82
+ }
83
+ /**
84
+ * Flush + shut down the tracer provider via `WebTracerProvider.shutdown()`,
85
+ * which forces a final export then terminates all span processors.
86
+ *
87
+ * Terminal and effectively one-shot: safe to call after `flush()`, but
88
+ * `flush()` MUST NOT be called after `close()` — shutdown stops further
89
+ * exporting, so subsequent `close()`/`flush()` calls resolve without
90
+ * emitting new spans.
91
+ */
92
+ async close() {
93
+ await this._tracerProvider.shutdown();
94
+ }
95
+ start() {
96
+ log2("trace processor registered", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 62, S: this });
97
+ registerInstrumentations({
98
+ instrumentations: [
99
+ getWebAutoInstrumentations({
100
+ "@opentelemetry/instrumentation-fetch": {
101
+ enabled: false,
102
+ ignoreUrls: [
103
+ /api\.ipdata\.co/
104
+ ]
105
+ },
106
+ "@opentelemetry/instrumentation-document-load": {
107
+ enabled: false
108
+ },
109
+ "@opentelemetry/instrumentation-xml-http-request": {
110
+ enabled: false
111
+ },
112
+ "@opentelemetry/instrumentation-user-interaction": {
113
+ enabled: false
114
+ }
115
+ })
116
+ ]
117
+ });
118
+ const tracer = this._tracer;
119
+ TRACE_PROCESSOR.tracingBackend = {
120
+ startSpan: (options) => {
121
+ log2("begin otel trace", {
122
+ options
123
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 87, S: this });
124
+ const parentCtx = options.parentContext ? propagation.extract(ROOT_CONTEXT, {
125
+ traceparent: options.parentContext.traceparent,
126
+ tracestate: options.parentContext.tracestate ?? ""
127
+ }) : otelContext.active();
128
+ const span = tracer.startSpan(options.name, options, parentCtx);
129
+ const sc = span.spanContext();
130
+ const spanContext = sc && sc.traceId && sc.spanId ? {
131
+ traceparent: `00-${sc.traceId}-${sc.spanId}-${(sc.traceFlags ?? 0).toString(16).padStart(2, "0")}`,
132
+ tracestate: sc.traceState?.serialize()
133
+ } : void 0;
134
+ return {
135
+ end: (endTime) => span.end(endTime),
136
+ setError: (err) => {
137
+ if (err instanceof Error) {
138
+ span.recordException(err);
139
+ }
140
+ span.setStatus({
141
+ code: SpanStatusCode.ERROR,
142
+ message: err instanceof Error ? err.message : String(err)
143
+ });
144
+ },
145
+ spanContext
146
+ };
147
+ }
148
+ };
149
+ }
150
+ };
151
+ export {
152
+ OtelTraces
153
+ };
154
+ //# sourceMappingURL=traces-browser-XRINKQUA.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, resolveOtlpUrl } 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: resolveOtlpUrl(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": ";;;;;;AAIA,SACEA,cACAC,gBAEAC,WAAWC,aACXC,aACAC,aACK;AACP,SAASC,kCAAkC;AAC3C,SAASC,iCAAiC;AAC1C,SAASC,yBAAyB;AAClC,SAASC,gCAAgC;AACzC,SACEC,iBACAC,oBACAC,oBACAC,gCACK;AACP,SAASC,yBAAyB;AAClC,SAASC,4BAA4B;AAErC,SAASC,OAAAA,YAAW;AACpB,SAASC,eAAuDC,uBAAuB;;;ACnBvF,SAASC,WAAW;AAEpB,IAAA,eAAA;AAeE,IAA6BC,2BAA7B,MAAqE;;EAAC,YAAA,UAAA;AAEtEC,SAAQC,WAAYC;;UAEd,MAAA,gBAAA;QACFC;AACF,QAAE;AACAL,aAAIM,KAAMC,SAAAA;aACV,KAAA;AACF,UAAA,MAAA,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AACA;;AAEA,eAAA,CAAA,KAAA,KAAA,KAAA,OAAA,QAAA,IAAA,GAAA;AACF,WAAA,aAAA,KAAA,KAAA;IAEAC;EAEA;EAEA,MAAMC,OAAAA;EAAAA;EACR,MAAA,WAAA;EAAA;;;;;;ADbA,IAAAC,gBAAaC;AACHC,IAAgB,aAAhBA,MAAgB;EACPC;EAEjB;;cACEC,SAAYC;AAEZ,SAAA,UAAMC;AAEN,gBAAKH,oBAAsBI,IAAAA,0BAAkB,CAAA;UAC3CC,gBAAeC,OAAQD,iBAAQ,eAAA,aAAA,QAAA,aAAA,MAAA;SAC/BE,kBAAaC,IAAAA,kBAAmB;gBACxBL,KAAAA,QAAAA;MACR,SAAA,IAAA,mBAAA;QACAM,MAAAA,gBAAgB,IAAA,gBAAA,IAAA,IAAA,yBAAA,GAAA;;sBAEVC;YAEAC,yBAAyBL,KAAAA,QAAQM,OAAW;YAC5CC,mBAAcP,IAAQO,kBAAO;UAC7BC,KAAAA,eAAkB,KAAA,QAAA,WAAA,YAAA;UAEpB,SAAA,KAAA,QAAA;UAAEC,kBAAAA;QAA4B,CAAA,GAAA;UAEjC,sBAAA;QACH,CAAA;MAEAC;IAEA,CAAA;AAIF,UAAA,wBAAA,KAAA,eAAA;AAEA,SAAA,UAAA,MAAA,UAAA,sBAAA,KAAA,QAAA,SAAA,WAAA,oBAAA,GAAA,SAAA,CAAA;;;;;;;EAOA,MAAA,QAAA;AAEA,UAAA,KAAA,gBAAA,WAAA;;;;;;;;;;;EAWA,MAAA,QAAA;AAEOC,UAAc,KAAA,gBAAA,SAAA;;UAGnBC;SACEC,8BAAkB,QAAA,EAAA,YAAA,YAAA,GAAAtB,eAAA,GAAA,IAAA,GAAA,KAAA,CAAA;6BAChBuB;wBACE;mCAAmD;kDAAmB;qBAAC;wBAAkB;cAAC;YAC1F;;UAAiE,gDAAA;YACjE,SAAA;;UAAoE,mDAAA;YACpE,SAAA;;UAAoE,mDAAA;YACtE,SAAA;UACD;QACH,CAAA;MAEA;IAEAC,CAAAA;UACEC,SAAW,KAAChB;oBACN,iBAAoB;iBAAEA,CAAAA,YAAAA;AAAQ,QAAAiB,KAAA,oBAAA;UAClC;yBAEMC,YAAqBC,GAAAA,eAAcD,GAAAA,IAAAA,GAAAA,KAAW,CAAA;cAC9CE,YAAYpB,QAAQmB,gBAAcC,YAAc,QAAA,cAAA;UAClD,aACYC,QAAM,cAAA;UAEtB,YAAaC,QAAON,cAAkBO,cAAMvB;QAE5C,CAAA,IAAA,YAAgBwB,OAAAA;AAChB,cAAMA,OAAAA,OACJC,UAASC,QAAO,MAAOC,SACnB,SAAA;cACET,KAAAA,KAAAA,YAAsBQ;cACtBN,cAAeQ,MAAAA,GAAU,WAAEC,GAAAA,SAAAA;UAE7BC,aAAAA,MAAAA,GAAAA,OAAAA,IAAAA,GAAAA,MAAAA,KAAAA,GAAAA,cAAAA,GAAAA,SAAAA,EAAAA,EAAAA,SAAAA,GAAAA,GAAAA,CAAAA;UAEN,YAAO,GAAA,YAAA,UAAA;YACLC;eACAC;eACE,CAAA,YAAIC,KAAAA,IAAeC,OAAO;oBACxBC,CAAAA,QAAKC;AACP,gBAAA,eAAA,OAAA;AACAD,mBAAKE,gBAAU,GAAA;;iBAA8BC,UAASL;cAAiD,MAAA,eAAA;cACzG,SAAA,eAAA,QAAA,IAAA,UAAA,OAAA,GAAA;YACAT,CAAAA;UACF;UACF;QACF;MACF;IACF;;;",
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", "_getTags", "onStart", "span", "_parentContext", "tags", "catch", "err", "onEnd", "forceFlush", "__dxlog_file", "OtelTraces", "_tracer", "_tracerProvider", "propagation", "setGlobalPropagator", "forceTraceAll", "WebTracerProvider", "resource", "options", "sampler", "ParentBasedSampler", "spanProcessors", "BatchSpanProcessor", "url", "endpoint", "headers", "concurrencyLimit", "scheduledDelayMillis", "trace", "start", "registerInstrumentations", "instrumentations", "getWebAutoInstrumentations", "TRACE_PROCESSOR", "startSpan", "log", "traceparent", "parentContext", "tracestate", "active", "tracer", "name", "spanContext", "sc", "traceId", "spanId", "traceState", "serialize", "undefined", "end", "setError", "err", "Error", "span", "recordException", "setStatus", "message"]
7
+ }
@@ -8,8 +8,15 @@ var setDiagLogger = (level) => {
8
8
  diag.setLogger(new DiagConsoleLogger(), logLevel);
9
9
  }
10
10
  };
11
+ var resolveOtlpUrl = (url) => {
12
+ if (typeof window !== "undefined" && url.startsWith("/")) {
13
+ return new URL(url, window.location.origin).toString();
14
+ }
15
+ return url;
16
+ };
11
17
 
12
18
  export {
13
- setDiagLogger
19
+ setDiagLogger,
20
+ resolveOtlpUrl
14
21
  };
15
- //# sourceMappingURL=chunk-FEVP3MK4.mjs.map
22
+ //# sourceMappingURL=chunk-EDDZWPYV.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\n/**\n * Resolve a possibly-relative OTLP exporter URL to an absolute URL.\n * The OpenTelemetry browser HTTP exporter validates user-provided URLs with `new URL(url)`,\n * which throws on relative paths like `/api/otel/v1/logs`. In a browser context we resolve\n * against `window.location.origin`; outside the browser we return the input unchanged.\n */\nexport const resolveOtlpUrl = (url: string): string => {\n if (typeof window !== 'undefined' && url.startsWith('/')) {\n return new URL(url, window.location.origin).toString();\n }\n return url;\n};\n"],
5
+ "mappings": ";;;AAIA,SAASA,mBAAmBC,cAAcC,YAAY;AAW/C,IAAMC,gBAAgB,CAACC,UAAAA;AAC5B,QAAMC,WAAWJ,aAAaG,KAAAA;AAC9B,MAAIC,UAAU;AACZH,SAAKI,UAAU,IAAIN,kBAAAA,GAAqBK,QAAAA;EAC1C;AACF;AAQO,IAAME,iBAAiB,CAACC,QAAAA;AAC7B,MAAI,OAAOC,WAAW,eAAeD,IAAIE,WAAW,GAAA,GAAM;AACxD,WAAO,IAAIC,IAAIH,KAAKC,OAAOG,SAASC,MAAM,EAAEC,SAAQ;EACtD;AACA,SAAON;AACT;",
6
+ "names": ["DiagConsoleLogger", "DiagLogLevel", "diag", "setDiagLogger", "level", "logLevel", "setLogger", "resolveOtlpUrl", "url", "window", "startsWith", "URL", "location", "origin", "toString"]
7
+ }