@dxos/observability 0.8.4-main.ae835ea → 0.8.4-main.bc674ce

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 (95) hide show
  1. package/dist/lib/browser/{chunk-XNAF22QM.mjs → chunk-5LN7D6GM.mjs} +6 -6
  2. package/dist/lib/browser/chunk-5LN7D6GM.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-USIB5JOP.mjs → chunk-JJQT5TQH.mjs} +51 -398
  4. package/dist/lib/browser/chunk-JJQT5TQH.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-ZI3ZS3PA.mjs → chunk-O4BG5MRL.mjs} +1 -1
  6. package/dist/lib/browser/chunk-U6JWT3E2.mjs +1 -0
  7. package/dist/lib/browser/chunk-VL6LVQPU.mjs +69 -0
  8. package/dist/lib/browser/chunk-VL6LVQPU.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +341 -15
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/observability-XK652NZG.mjs +11 -0
  13. package/dist/lib/browser/otel/traces-browser.mjs +7 -0
  14. package/dist/lib/browser/otel/traces-browser.mjs.map +7 -0
  15. package/dist/lib/browser/otel/traces.mjs +7 -0
  16. package/dist/lib/browser/otel/traces.mjs.map +7 -0
  17. package/dist/lib/browser/{otel-UH7ZRWC2.mjs → otel-DI4ASU7Y.mjs} +5 -66
  18. package/dist/lib/{node-esm/otel-7PUCFSTY.mjs.map → browser/otel-DI4ASU7Y.mjs.map} +4 -4
  19. package/dist/lib/browser/segment/browser.mjs +9 -0
  20. package/dist/lib/browser/segment/browser.mjs.map +7 -0
  21. package/dist/lib/browser/segment/index.mjs +3 -2
  22. package/dist/lib/browser/segment/node.mjs +9 -0
  23. package/dist/lib/browser/segment/node.mjs.map +7 -0
  24. package/dist/lib/browser/sentry/browser.mjs +23 -0
  25. package/dist/lib/browser/sentry/browser.mjs.map +7 -0
  26. package/dist/lib/browser/sentry/index.mjs +1 -1
  27. package/dist/lib/browser/sentry/node.mjs +23 -0
  28. package/dist/lib/browser/sentry/node.mjs.map +7 -0
  29. package/dist/lib/browser/{sentry-log-processor-5LSQJMIO.mjs → sentry-log-processor-W7LI6WXA.mjs} +2 -2
  30. package/dist/lib/browser/sentry-log-processor-W7LI6WXA.mjs.map +7 -0
  31. package/dist/lib/node-esm/{chunk-JJS4CBLT.mjs → chunk-KKNY7TRV.mjs} +51 -398
  32. package/dist/lib/node-esm/chunk-KKNY7TRV.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-KLJGCUYA.mjs +2 -0
  34. package/dist/lib/node-esm/chunk-KLJGCUYA.mjs.map +7 -0
  35. package/dist/lib/node-esm/{chunk-OJV247NY.mjs → chunk-KVJTNW3F.mjs} +27 -84
  36. package/dist/lib/node-esm/chunk-KVJTNW3F.mjs.map +7 -0
  37. package/dist/lib/node-esm/{chunk-QK5IUYVA.mjs → chunk-M4627SMT.mjs} +1 -1
  38. package/dist/lib/node-esm/chunk-UIVXGEGJ.mjs +62 -0
  39. package/dist/lib/node-esm/chunk-UIVXGEGJ.mjs.map +7 -0
  40. package/dist/lib/node-esm/chunk-WAGGA7IT.mjs +52 -0
  41. package/dist/lib/node-esm/chunk-WAGGA7IT.mjs.map +7 -0
  42. package/dist/lib/node-esm/index.mjs +342 -15
  43. package/dist/lib/node-esm/index.mjs.map +4 -4
  44. package/dist/lib/node-esm/meta.json +1 -1
  45. package/dist/lib/node-esm/observability-CXQ3CZGB.mjs +13 -0
  46. package/dist/lib/node-esm/observability-CXQ3CZGB.mjs.map +7 -0
  47. package/dist/lib/node-esm/otel/traces-browser.mjs +70 -0
  48. package/dist/lib/node-esm/otel/traces-browser.mjs.map +7 -0
  49. package/dist/lib/node-esm/otel/traces.mjs +8 -0
  50. package/dist/lib/node-esm/otel/traces.mjs.map +7 -0
  51. package/dist/lib/node-esm/{otel-7PUCFSTY.mjs → otel-JFXO22WD.mjs} +4 -47
  52. package/dist/lib/{browser/otel-UH7ZRWC2.mjs.map → node-esm/otel-JFXO22WD.mjs.map} +4 -4
  53. package/dist/lib/node-esm/segment/browser.mjs +92 -0
  54. package/dist/lib/node-esm/segment/browser.mjs.map +7 -0
  55. package/dist/lib/node-esm/segment/index.mjs +6 -3
  56. package/dist/lib/node-esm/segment/node.mjs +11 -0
  57. package/dist/lib/node-esm/segment/node.mjs.map +7 -0
  58. package/dist/lib/node-esm/sentry/browser.mjs +165 -0
  59. package/dist/lib/node-esm/sentry/browser.mjs.map +7 -0
  60. package/dist/lib/node-esm/sentry/index.mjs +1 -1
  61. package/dist/lib/node-esm/sentry/node.mjs +24 -0
  62. package/dist/lib/node-esm/sentry/node.mjs.map +7 -0
  63. package/dist/lib/node-esm/{sentry-log-processor-C4UGMAMV.mjs → sentry-log-processor-W3SG4RQL.mjs} +2 -2
  64. package/dist/lib/node-esm/sentry-log-processor-W3SG4RQL.mjs.map +7 -0
  65. package/dist/types/src/helpers/map-spaces.js +1 -1
  66. package/dist/types/src/helpers/map-spaces.js.map +1 -1
  67. package/dist/types/src/segment/base.d.ts +2 -2
  68. package/dist/types/src/segment/base.d.ts.map +1 -1
  69. package/dist/types/src/segment/base.js +2 -2
  70. package/dist/types/src/segment/base.js.map +1 -1
  71. package/dist/types/src/segment/browser.js +2 -2
  72. package/dist/types/src/segment/browser.js.map +1 -1
  73. package/dist/types/src/segment/node.js +2 -2
  74. package/dist/types/src/segment/node.js.map +1 -1
  75. package/dist/types/src/sentry/sentry-log-processor.d.ts.map +1 -1
  76. package/dist/types/src/sentry/sentry-log-processor.js.map +1 -1
  77. package/dist/types/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +23 -22
  79. package/src/helpers/map-spaces.ts +1 -1
  80. package/src/segment/base.ts +2 -2
  81. package/src/segment/browser.ts +2 -2
  82. package/src/segment/node.ts +2 -2
  83. package/src/sentry/sentry-log-processor.ts +2 -0
  84. package/dist/lib/browser/chunk-USIB5JOP.mjs.map +0 -7
  85. package/dist/lib/browser/chunk-XNAF22QM.mjs.map +0 -7
  86. package/dist/lib/browser/observability-AOZNUWZS.mjs +0 -10
  87. package/dist/lib/browser/sentry-log-processor-5LSQJMIO.mjs.map +0 -7
  88. package/dist/lib/node-esm/chunk-JJS4CBLT.mjs.map +0 -7
  89. package/dist/lib/node-esm/chunk-OJV247NY.mjs.map +0 -7
  90. package/dist/lib/node-esm/observability-UWX2LAYX.mjs +0 -11
  91. package/dist/lib/node-esm/sentry-log-processor-C4UGMAMV.mjs.map +0 -7
  92. /package/dist/lib/browser/{chunk-ZI3ZS3PA.mjs.map → chunk-O4BG5MRL.mjs.map} +0 -0
  93. /package/dist/lib/browser/{observability-AOZNUWZS.mjs.map → chunk-U6JWT3E2.mjs.map} +0 -0
  94. /package/dist/lib/{node-esm/observability-UWX2LAYX.mjs.map → browser/observability-XK652NZG.mjs.map} +0 -0
  95. /package/dist/lib/node-esm/{chunk-QK5IUYVA.mjs.map → chunk-M4627SMT.mjs.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  TelemetryEvent
3
- } from "./chunk-XNAF22QM.mjs";
3
+ } from "./chunk-5LN7D6GM.mjs";
4
4
 
5
5
  // src/observability.ts
6
6
  import { Event, scheduleTaskInterval } from "@dxos/async";
7
7
  import { PublicKey } from "@dxos/client";
8
8
  import { Context } from "@dxos/context";
9
9
  import { invariant } from "@dxos/invariant";
10
- import { LogLevel, log as log3 } from "@dxos/log";
10
+ import { LogLevel, log } from "@dxos/log";
11
11
  import { ConnectionState } from "@dxos/network-manager";
12
12
  import { DeviceKind, Platform } from "@dxos/protocols/proto/dxos/client/services";
13
13
  import { isNode } from "@dxos/util";
@@ -21,163 +21,6 @@ var cli_observability_secrets_default = {
21
21
  OTEL_AUTHORIZATION: "Basic OTA3MzIzOmdsY19leUp2SWpvaU1URXdNVEl6TnlJc0ltNGlPaUp6ZEdGamF5MDVNRGN6TWpNdGFXNTBaV2R5WVhScGIyNHRZMnh2ZFdSbWJHRnlaUzF2ZEd4d0xYQnliM2g1SWl3aWF5STZJalZ2Tkd4cFYydE5iRmszTlRNMGJUVXpTemRTVjNBeVNpSXNJbTBpT25zaWNpSTZJbkJ5YjJRdGRYTXRaV0Z6ZEMwd0luMTk="
22
22
  };
23
23
 
24
- // src/helpers/browser-observability.ts
25
- import * as localForage from "localforage";
26
- import { log } from "@dxos/log";
27
- var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/helpers/browser-observability.ts";
28
- var OBSERVABILITY_DISABLED_KEY = "observability-disabled";
29
- var OBSERVABILITY_GROUP_KEY = "observability-group";
30
- var isObservabilityDisabled = async (namespace) => {
31
- try {
32
- return await localForage.getItem(`${namespace}:${OBSERVABILITY_DISABLED_KEY}`) === "true";
33
- } catch (err) {
34
- log.catch("Failed to check if observability is disabled, assuming it is", err, {
35
- F: __dxlog_file,
36
- L: 25,
37
- S: void 0,
38
- C: (f, a) => f(...a)
39
- });
40
- return true;
41
- }
42
- };
43
- var storeObservabilityDisabled = async (namespace, value) => {
44
- try {
45
- await localForage.setItem(`${namespace}:${OBSERVABILITY_DISABLED_KEY}`, String(value));
46
- } catch (err) {
47
- log.catch("Failed to store observability disabled", err, {
48
- F: __dxlog_file,
49
- L: 34,
50
- S: void 0,
51
- C: (f, a) => f(...a)
52
- });
53
- }
54
- };
55
- var getObservabilityGroup = async (namespace) => {
56
- try {
57
- return await localForage.getItem(`${namespace}:${OBSERVABILITY_GROUP_KEY}`) ?? void 0;
58
- } catch (err) {
59
- log.catch("Failed to get observability group", err, {
60
- F: __dxlog_file,
61
- L: 42,
62
- S: void 0,
63
- C: (f, a) => f(...a)
64
- });
65
- }
66
- };
67
- var storeObservabilityGroup = async (namespace, value) => {
68
- try {
69
- await localForage.setItem(`${namespace}:${OBSERVABILITY_GROUP_KEY}`, value);
70
- } catch (err) {
71
- log.catch("Failed to store observability group", err, {
72
- F: __dxlog_file,
73
- L: 50,
74
- S: void 0,
75
- C: (f, a) => f(...a)
76
- });
77
- }
78
- };
79
- var initializeAppObservability = async ({
80
- namespace,
81
- config,
82
- // TODO(nf): Configure mode.
83
- mode = "basic",
84
- tracingEnable = false,
85
- replayEnable = false
86
- }) => {
87
- log("initializeAppObservability", {
88
- config
89
- }, {
90
- F: __dxlog_file,
91
- L: 74,
92
- S: void 0,
93
- C: (f, a) => f(...a)
94
- });
95
- const group = await getObservabilityGroup(namespace) ?? void 0;
96
- const release = `${namespace}@${config.get("runtime.app.build.version")}`;
97
- const environment = config.get("runtime.app.env.DX_ENVIRONMENT");
98
- const { Observability: Observability2 } = await import("./observability-AOZNUWZS.mjs");
99
- const observability = new Observability2({
100
- namespace,
101
- release,
102
- environment,
103
- group,
104
- mode,
105
- config,
106
- errorLog: {
107
- sentryInitOptions: {
108
- environment,
109
- release,
110
- tracing: tracingEnable,
111
- replay: replayEnable,
112
- // TODO(wittjosiah): Configure these.
113
- // Consider using a sampling function to dynamically configure these values.
114
- // https://docs.sentry.io/platforms/javascript/configuration/sampling/#setting-a-sampling-function
115
- sampleRate: 1,
116
- replaySampleRate: 1,
117
- replaySampleRateOnError: 1
118
- }
119
- }
120
- });
121
- const observabilityDisabled = await isObservabilityDisabled(namespace);
122
- if (observabilityDisabled) {
123
- observability.setMode("disabled");
124
- log.info("observability disabled", void 0, {
125
- F: __dxlog_file,
126
- L: 114,
127
- S: void 0,
128
- C: (f, a) => f(...a)
129
- });
130
- return observability;
131
- }
132
- try {
133
- const getIPData = async (config2) => {
134
- const IP_DATA_CACHE_TIMEOUT = 6 * 60 * 60 * 1e3;
135
- const cachedData = await localForage.getItem("dxos:observability:ipdata");
136
- if (cachedData && cachedData.timestamp > Date.now() - IP_DATA_CACHE_TIMEOUT) {
137
- return cachedData.data;
138
- }
139
- const IPDATA_API_KEY = config2.get("runtime.app.env.DX_IPDATA_API_KEY");
140
- if (IPDATA_API_KEY) {
141
- return fetch(`https://api.ipdata.co?api-key=${IPDATA_API_KEY}`).then((res) => res.json()).then((data) => {
142
- localForage.setItem("dxos:observability:ipdata", {
143
- data,
144
- timestamp: Date.now()
145
- }).catch((err) => observability.captureException(err));
146
- return data;
147
- }).catch((err) => observability.captureException(err));
148
- }
149
- };
150
- await observability.initialize();
151
- observability.startErrorLogs();
152
- const ipData = await getIPData(config);
153
- ipData && observability.setIPDataTelemetryTags(ipData);
154
- if (typeof navigator !== "undefined" && navigator.storage?.estimate) {
155
- setInterval(async () => {
156
- try {
157
- const storageEstimate = await navigator.storage.estimate();
158
- storageEstimate.usage && observability.setTag("storageUsage", storageEstimate.usage.toString(), "telemetry");
159
- storageEstimate.quota && observability.setTag("storageQuota", storageEstimate.quota.toString(), "telemetry");
160
- } catch (error) {
161
- log.warn("Failed to run estimate()", error, {
162
- F: __dxlog_file,
163
- L: 169,
164
- S: void 0,
165
- C: (f, a) => f(...a)
166
- });
167
- }
168
- }, 1e4);
169
- }
170
- } catch (err) {
171
- log.error("Failed to initialize app observability", err, {
172
- F: __dxlog_file,
173
- L: 174,
174
- S: void 0,
175
- C: (f, a) => f(...a)
176
- });
177
- }
178
- return observability;
179
- };
180
-
181
24
  // src/helpers/common.ts
182
25
  var getTelemetryIdentifier = (client) => {
183
26
  if (!client?.initialized) {
@@ -196,98 +39,6 @@ var getTelemetryIdentity = (client) => {
196
39
  };
197
40
  };
198
41
 
199
- // src/helpers/node-observability.ts
200
- import { existsSync, statSync } from "@dxos/node-std/fs";
201
- import { mkdir, readFile, writeFile } from "@dxos/node-std/fs/promises";
202
- import { join } from "@dxos/node-std/path";
203
- import yaml from "js-yaml";
204
- import { v4 as uuid, validate as validateUuid } from "uuid";
205
- import { log as log2 } from "@dxos/log";
206
- var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/observability/src/helpers/node-observability.ts";
207
- var showObservabilityBanner = async (configDir, bannercb) => {
208
- const path = join(configDir, ".observability-banner-printed");
209
- if (existsSync(path)) {
210
- return;
211
- }
212
- bannercb(
213
- // eslint-disable-next-line no-multi-str
214
- "Basic observability data will be sent to the DXOS team in order to improve the product. This includes performance metrics, error logs, and usage data. No personally identifiable information, other than your public key, is included with this data and no private data ever leaves your devices. To disable sending observability data, set the environment variable DX_DISABLE_OBSERVABILITY=true."
215
- );
216
- await writeFile(path, "", "utf-8");
217
- };
218
- var getObservabilityState = async (configDir) => {
219
- if (existsSync(configDir)) {
220
- if (!statSync(configDir).isDirectory()) {
221
- throw new Error(`Config directory ${configDir} exists but is not a directory`);
222
- }
223
- } else {
224
- await mkdir(configDir, {
225
- recursive: true
226
- });
227
- }
228
- const idPath = join(configDir, "observability.yml");
229
- if (existsSync(idPath)) {
230
- const context = await readFile(idPath, "utf-8");
231
- return validate(context) ?? initializeState(idPath);
232
- }
233
- return initializeState(idPath);
234
- };
235
- var initializeState = async (idPath) => {
236
- const observabilityState = {
237
- installationId: uuid(),
238
- group: process.env.DX_OBSERVABILITY_GROUP ?? void 0,
239
- mode: process.env.DX_DISABLE_OBSERVABILITY ? "disabled" : process.env.DX_OBSERVABILITY_MODE ?? "basic"
240
- };
241
- await writeFile(idPath, "# This file is automatically generated by the @dxos/cli.\n" + yaml.dump(observabilityState), "utf-8");
242
- return observabilityState;
243
- };
244
- var validate = (contextString) => {
245
- const context = yaml.load(contextString);
246
- if (Boolean(context.installationId) && validateUuid(context.installationId)) {
247
- return {
248
- ...context,
249
- mode: process.env.DX_DISABLE_OBSERVABILITY ? "disabled" : context.mode ?? "basic"
250
- };
251
- }
252
- };
253
- var initializeNodeObservability = async ({ namespace, version, config, installationId, group, mode = "basic", tracingEnable = true, replayEnable = true }) => {
254
- log2("initializeCliObservability", {
255
- config
256
- }, {
257
- F: __dxlog_file2,
258
- L: 111,
259
- S: void 0,
260
- C: (f, a) => f(...a)
261
- });
262
- const release = `${namespace}@${version}`;
263
- const environment = process.env.DX_ENVIRONMENT ?? "unknown";
264
- const observability = new Observability({
265
- mode,
266
- namespace,
267
- release,
268
- environment,
269
- group,
270
- errorLog: {
271
- sentryInitOptions: {
272
- environment,
273
- release,
274
- // TODO(wittjosiah): Configure this.
275
- sampleRate: 1
276
- }
277
- }
278
- });
279
- observability.setTag("installationId", installationId);
280
- const IPDATA_API_KEY = config.get("runtime.app.env.DX_IPDATA_API_KEY");
281
- try {
282
- const res = await fetch(`https://api.ipdata.co/?api-key=${IPDATA_API_KEY}`);
283
- const ipData = await res.json();
284
- ipData && observability.setIPDataTelemetryTags(ipData);
285
- } catch (err) {
286
- observability?.captureException(err);
287
- }
288
- return observability;
289
- };
290
-
291
42
  // src/helpers/map-spaces.ts
292
43
  var mapSpaces = (spaces, options = {
293
44
  verbose: false,
@@ -306,7 +57,7 @@ var mapSpaces = (spaces, options = {
306
57
  key: space.key.truncate(),
307
58
  open: space.isOpen,
308
59
  members: space.members.get().length,
309
- objects: space.db.coreDatabase.getAllObjectIds().length,
60
+ objects: space.internal.db.coreDatabase.getAllObjectIds().length,
310
61
  startup,
311
62
  epoch,
312
63
  // appliedEpoch,
@@ -319,95 +70,8 @@ var mapSpaces = (spaces, options = {
319
70
  });
320
71
  };
321
72
 
322
- // src/helpers/setup-telemetry-listeners.ts
323
- var lastFocusEvent = /* @__PURE__ */ new Date();
324
- var totalTime = 0;
325
- var setupTelemetryListeners = (namespace, client, observability) => {
326
- const clickCallback = (event) => {
327
- const id = event.target?.id;
328
- if (!id) {
329
- return;
330
- }
331
- setTimeout(() => {
332
- observability.track({
333
- ...getTelemetryIdentity(client),
334
- action: "window.click",
335
- properties: {
336
- id: event.target?.id,
337
- path: event.composedPath().filter((el) => Boolean(el.tagName)).map((el) => `${el.tagName.toLowerCase()}${el.id ? `#${el.id}` : ""}`).reverse().join(">")
338
- }
339
- });
340
- });
341
- };
342
- const focusCallback = () => {
343
- const now = /* @__PURE__ */ new Date();
344
- setTimeout(() => {
345
- observability.track({
346
- ...getTelemetryIdentity(client),
347
- action: "window.focus",
348
- properties: {
349
- timeAway: now.getTime() - lastFocusEvent.getTime()
350
- }
351
- });
352
- });
353
- lastFocusEvent = now;
354
- };
355
- const blurCallback = () => {
356
- const now = /* @__PURE__ */ new Date();
357
- const duration = now.getTime() - lastFocusEvent.getTime();
358
- setTimeout(() => {
359
- observability.track({
360
- ...getTelemetryIdentity(client),
361
- action: "window.blur",
362
- properties: {
363
- duration
364
- }
365
- });
366
- });
367
- lastFocusEvent = now;
368
- totalTime = totalTime + duration;
369
- };
370
- const unloadCallback = () => {
371
- setTimeout(() => {
372
- observability.track({
373
- ...getTelemetryIdentity(client),
374
- action: "page.unload",
375
- properties: {
376
- duration: totalTime
377
- }
378
- });
379
- });
380
- };
381
- const errorCallback = (event) => {
382
- setTimeout(() => {
383
- observability.track({
384
- ...getTelemetryIdentity(client),
385
- action: "window.error",
386
- properties: {
387
- message: event.message,
388
- filename: event.filename,
389
- stack: event.error?.stack,
390
- cause: event.error?.cause
391
- }
392
- });
393
- });
394
- };
395
- window.addEventListener("click", clickCallback, true);
396
- window.addEventListener("focus", focusCallback);
397
- window.addEventListener("blur", blurCallback);
398
- window.addEventListener("beforeunload", unloadCallback);
399
- window.addEventListener("error", errorCallback);
400
- return () => {
401
- window.removeEventListener("click", clickCallback, true);
402
- window.removeEventListener("focus", focusCallback);
403
- window.removeEventListener("blur", blurCallback);
404
- window.removeEventListener("beforeunload", unloadCallback);
405
- window.removeEventListener("error", errorCallback);
406
- };
407
- };
408
-
409
73
  // src/observability.ts
410
- var __dxlog_file3 = "/__w/dxos/dxos/packages/sdk/observability/src/observability.ts";
74
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/observability/src/observability.ts";
411
75
  var SPACE_METRICS_MIN_INTERVAL = 1e3 * 60;
412
76
  var SPACE_TELEMETRY_MIN_INTERVAL = 1e3 * 60 * 60;
413
77
  var NETWORK_METRICS_MIN_INTERVAL = 1e3 * 60 * 5;
@@ -432,7 +96,7 @@ var Observability = class {
432
96
  _captureUserFeedback;
433
97
  _lastNetworkStatus;
434
98
  _ctx = new Context(void 0, {
435
- F: __dxlog_file3,
99
+ F: __dxlog_file,
436
100
  L: 115
437
101
  });
438
102
  // TODO(nf): make platform a required extension?
@@ -475,11 +139,11 @@ var Observability = class {
475
139
  process.env.DX_OTEL_AUTHORIZATION && (mergedSecrets.OTEL_AUTHORIZATION = process.env.DX_OTEL_AUTHORIZATION);
476
140
  return mergedSecrets;
477
141
  } else {
478
- log3("config", {
142
+ log("config", {
479
143
  rtc: this._secrets,
480
144
  config
481
145
  }, {
482
- F: __dxlog_file3,
146
+ F: __dxlog_file,
483
147
  L: 176,
484
148
  S: this,
485
149
  C: (f, a) => f(...a)
@@ -497,8 +161,8 @@ var Observability = class {
497
161
  }
498
162
  }
499
163
  async initialize() {
500
- log3("initializing...", void 0, {
501
- F: __dxlog_file3,
164
+ log("initializing...", void 0, {
165
+ F: __dxlog_file,
502
166
  L: 191,
503
167
  S: this,
504
168
  C: (f, a) => f(...a)
@@ -510,8 +174,8 @@ var Observability = class {
510
174
  await this._initTraces();
511
175
  }
512
176
  async close() {
513
- log3("closing...", void 0, {
514
- F: __dxlog_file3,
177
+ log("closing...", void 0, {
178
+ F: __dxlog_file,
515
179
  L: 200,
516
180
  S: this,
517
181
  C: (f, a) => f(...a)
@@ -557,10 +221,10 @@ var Observability = class {
557
221
  if (clientServices.IdentityService) {
558
222
  clientServices.IdentityService.queryIdentity().subscribe((idqr) => {
559
223
  if (!idqr?.identity?.did) {
560
- log3("empty response from identity service", {
224
+ log("empty response from identity service", {
561
225
  idqr
562
226
  }, {
563
- F: __dxlog_file3,
227
+ F: __dxlog_file,
564
228
  L: 247,
565
229
  S: this,
566
230
  C: (f, a) => f(...a)
@@ -576,10 +240,10 @@ var Observability = class {
576
240
  if (clientServices.DevicesService) {
577
241
  clientServices.DevicesService.queryDevices().subscribe((dqr) => {
578
242
  if (!dqr || !dqr.devices || dqr.devices.length === 0) {
579
- log3("empty response from device service", {
243
+ log("empty response from device service", {
580
244
  device: dqr
581
245
  }, {
582
- F: __dxlog_file3,
246
+ F: __dxlog_file,
583
247
  L: 259,
584
248
  S: this,
585
249
  C: (f, a) => f(...a)
@@ -587,7 +251,7 @@ var Observability = class {
587
251
  return;
588
252
  }
589
253
  invariant(dqr, "empty response from device service", {
590
- F: __dxlog_file3,
254
+ F: __dxlog_file,
591
255
  L: 263,
592
256
  S: this,
593
257
  A: [
@@ -597,10 +261,10 @@ var Observability = class {
597
261
  });
598
262
  const thisDevice = dqr.devices.find((device) => device.kind === DeviceKind.CURRENT);
599
263
  if (!thisDevice) {
600
- log3("no current device", {
264
+ log("no current device", {
601
265
  device: dqr
602
266
  }, {
603
- F: __dxlog_file3,
267
+ F: __dxlog_file,
604
268
  L: 266,
605
269
  S: this,
606
270
  C: (f, a) => f(...a)
@@ -626,7 +290,7 @@ var Observability = class {
626
290
  //
627
291
  async _initLogs() {
628
292
  if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== "disabled") {
629
- const { OtelLogs } = await import("./otel-UH7ZRWC2.mjs");
293
+ const { OtelLogs } = await import("./otel-DI4ASU7Y.mjs");
630
294
  this._otelLogs = new OtelLogs({
631
295
  endpoint: this._secrets.OTEL_ENDPOINT,
632
296
  authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
@@ -641,18 +305,18 @@ var Observability = class {
641
305
  logLevel: LogLevel.VERBOSE,
642
306
  includeSharedWorkerLogs: false
643
307
  });
644
- this._otelLogs && log3.runtimeConfig.processors.push(this._otelLogs.logProcessor);
645
- log3("otel logs enabled", {
308
+ this._otelLogs && log.runtimeConfig.processors.push(this._otelLogs.logProcessor);
309
+ log("otel logs enabled", {
646
310
  namespace: this._namespace
647
311
  }, {
648
- F: __dxlog_file3,
312
+ F: __dxlog_file,
649
313
  L: 310,
650
314
  S: this,
651
315
  C: (f, a) => f(...a)
652
316
  });
653
317
  } else {
654
- log3("otel logs disabled", void 0, {
655
- F: __dxlog_file3,
318
+ log("otel logs disabled", void 0, {
319
+ F: __dxlog_file,
656
320
  L: 312,
657
321
  S: this,
658
322
  C: (f, a) => f(...a)
@@ -664,7 +328,7 @@ var Observability = class {
664
328
  //
665
329
  async _initMetrics() {
666
330
  if (this.enabled && this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION) {
667
- const { OtelMetrics } = await import("./otel-UH7ZRWC2.mjs");
331
+ const { OtelMetrics } = await import("./otel-DI4ASU7Y.mjs");
668
332
  this._otelMetrics = new OtelMetrics({
669
333
  endpoint: this._secrets.OTEL_ENDPOINT,
670
334
  authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
@@ -677,15 +341,15 @@ var Observability = class {
677
341
  value.value
678
342
  ]))
679
343
  });
680
- log3("otel metrics enabled", void 0, {
681
- F: __dxlog_file3,
344
+ log("otel metrics enabled", void 0, {
345
+ F: __dxlog_file,
682
346
  L: 337,
683
347
  S: this,
684
348
  C: (f, a) => f(...a)
685
349
  });
686
350
  } else {
687
- log3("otel metrics disabled", void 0, {
688
- F: __dxlog_file3,
351
+ log("otel metrics disabled", void 0, {
352
+ F: __dxlog_file,
689
353
  L: 339,
690
354
  S: this,
691
355
  C: (f, a) => f(...a)
@@ -707,8 +371,8 @@ var Observability = class {
707
371
  }
708
372
  const updateSignalMetrics = new Event().debounce(NETWORK_METRICS_MIN_INTERVAL);
709
373
  updateSignalMetrics.on(this._ctx, async () => {
710
- log3("send signal metrics", void 0, {
711
- F: __dxlog_file3,
374
+ log("send signal metrics", void 0, {
375
+ F: __dxlog_file,
712
376
  L: 361,
713
377
  S: this,
714
378
  C: (f, a) => f(...a)
@@ -759,8 +423,8 @@ var Observability = class {
759
423
  this._ctx.onDispose(() => subscriptions.forEach((subscription) => subscription.unsubscribe()));
760
424
  const updateSpaceMetrics = new Event().debounce(SPACE_METRICS_MIN_INTERVAL);
761
425
  updateSpaceMetrics.on(this._ctx, async () => {
762
- log3("send space metrics", void 0, {
763
- F: __dxlog_file3,
426
+ log("send space metrics", void 0, {
427
+ F: __dxlog_file,
764
428
  L: 414,
765
429
  S: this,
766
430
  C: (f, a) => f(...a)
@@ -784,8 +448,8 @@ var Observability = class {
784
448
  });
785
449
  const updateSpaceTelemetry = new Event().debounce(SPACE_TELEMETRY_MIN_INTERVAL);
786
450
  updateSpaceTelemetry.on(this._ctx, async () => {
787
- log3("send space telemetry", void 0, {
788
- F: __dxlog_file3,
451
+ log("send space telemetry", void 0, {
452
+ F: __dxlog_file,
789
453
  L: 425,
790
454
  S: this,
791
455
  C: (f, a) => f(...a)
@@ -822,7 +486,7 @@ var Observability = class {
822
486
  async startRuntimeMetrics(client, frequency = NETWORK_METRICS_MIN_INTERVAL) {
823
487
  const platform = await client.services.services.SystemService?.getPlatform();
824
488
  invariant(platform, "platform is required", {
825
- F: __dxlog_file3,
489
+ F: __dxlog_file,
826
490
  L: 463,
827
491
  S: this,
828
492
  A: [
@@ -857,10 +521,10 @@ var Observability = class {
857
521
  this.gauge("dxos.client.services.runtime.heapTotal", platform2.memory.heapTotal);
858
522
  this.gauge("dxos.client.services.runtime.heapUsed", platform2.memory.heapUsed);
859
523
  }
860
- }).catch((error) => log3("platform error", {
524
+ }).catch((error) => log("platform error", {
861
525
  error
862
526
  }, {
863
- F: __dxlog_file3,
527
+ F: __dxlog_file,
864
528
  L: 497,
865
529
  S: this,
866
530
  C: (f, a) => f(...a)
@@ -884,8 +548,8 @@ var Observability = class {
884
548
  ]))
885
549
  });
886
550
  } else {
887
- log3("segment disabled", void 0, {
888
- F: __dxlog_file3,
551
+ log("segment disabled", void 0, {
552
+ F: __dxlog_file,
889
553
  L: 523,
890
554
  S: this,
891
555
  C: (f, a) => f(...a)
@@ -912,15 +576,15 @@ var Observability = class {
912
576
  async _initErrorLogs() {
913
577
  if (this._secrets.SENTRY_DESTINATION && this._mode !== "disabled") {
914
578
  const { captureException, captureUserFeedback, init, setTag } = await import("./sentry/index.mjs");
915
- const { SentryLogProcessor } = await import("./sentry-log-processor-5LSQJMIO.mjs");
579
+ const { SentryLogProcessor } = await import("./sentry-log-processor-W7LI6WXA.mjs");
916
580
  this._captureException = captureException;
917
581
  this._captureUserFeedback = captureUserFeedback;
918
582
  this._setTag = setTag;
919
- log3.info("Initializing Sentry", {
583
+ log.info("Initializing Sentry", {
920
584
  dest: this._secrets.SENTRY_DESTINATION,
921
585
  options: this._errorReportingOptions
922
586
  }, {
923
- F: __dxlog_file3,
587
+ F: __dxlog_file,
924
588
  L: 556,
925
589
  S: this,
926
590
  C: (f, a) => f(...a)
@@ -938,8 +602,8 @@ var Observability = class {
938
602
  }
939
603
  });
940
604
  } else {
941
- log3("sentry disabled", void 0, {
942
- F: __dxlog_file3,
605
+ log("sentry disabled", void 0, {
606
+ F: __dxlog_file,
943
607
  L: 576,
944
608
  S: this,
945
609
  C: (f, a) => f(...a)
@@ -947,7 +611,7 @@ var Observability = class {
947
611
  }
948
612
  }
949
613
  startErrorLogs() {
950
- this._sentryLogProcessor && log3.runtimeConfig.processors.push(this._sentryLogProcessor.logProcessor);
614
+ this._sentryLogProcessor && log.runtimeConfig.processors.push(this._sentryLogProcessor.logProcessor);
951
615
  }
952
616
  startTraces() {
953
617
  this._otelTraces && this._otelTraces.start();
@@ -955,7 +619,7 @@ var Observability = class {
955
619
  // TODO(nf): Refactor init based on providers and their capabilities.
956
620
  async _initTraces() {
957
621
  if (this._secrets.OTEL_ENDPOINT && this._secrets.OTEL_AUTHORIZATION && this._mode !== "disabled") {
958
- const { OtelTraces } = await import("./otel-UH7ZRWC2.mjs");
622
+ const { OtelTraces } = await import("./otel-DI4ASU7Y.mjs");
959
623
  this._otelTraces = new OtelTraces({
960
624
  endpoint: this._secrets.OTEL_ENDPOINT,
961
625
  authorizationHeader: this._secrets.OTEL_AUTHORIZATION,
@@ -985,10 +649,10 @@ var Observability = class {
985
649
  */
986
650
  captureUserFeedback(message) {
987
651
  if (!this._secrets.SENTRY_DESTINATION) {
988
- log3.info("Feedback submitted without Sentry destination", {
652
+ log.info("Feedback submitted without Sentry destination", {
989
653
  message
990
654
  }, {
991
- F: __dxlog_file3,
655
+ F: __dxlog_file,
992
656
  L: 625,
993
657
  S: this,
994
658
  C: (f, a) => f(...a)
@@ -1001,19 +665,8 @@ var Observability = class {
1001
665
 
1002
666
  export {
1003
667
  Observability,
1004
- OBSERVABILITY_DISABLED_KEY,
1005
- OBSERVABILITY_GROUP_KEY,
1006
- isObservabilityDisabled,
1007
- storeObservabilityDisabled,
1008
- getObservabilityGroup,
1009
- storeObservabilityGroup,
1010
- initializeAppObservability,
1011
668
  getTelemetryIdentifier,
1012
669
  getTelemetryIdentity,
1013
- showObservabilityBanner,
1014
- getObservabilityState,
1015
- initializeNodeObservability,
1016
- mapSpaces,
1017
- setupTelemetryListeners
670
+ mapSpaces
1018
671
  };
1019
- //# sourceMappingURL=chunk-USIB5JOP.mjs.map
672
+ //# sourceMappingURL=chunk-JJQT5TQH.mjs.map