@dxos/observability 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef

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 (85) hide show
  1. package/dist/lib/browser/{chunk-K4VFBKST.mjs → chunk-3534PNWM.mjs} +1 -1
  2. package/dist/lib/browser/{chunk-K4VFBKST.mjs.map → chunk-3534PNWM.mjs.map} +2 -2
  3. package/dist/lib/browser/index.mjs +111 -184
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/{log-processor-FDLTDQEM.mjs → log-processor-HPHWNBOK.mjs} +11 -18
  6. package/dist/lib/browser/log-processor-HPHWNBOK.mjs.map +7 -0
  7. package/dist/lib/browser/{logs-ATTRIUTL.mjs → logs-A2VDAHHD.mjs} +5 -3
  8. package/dist/lib/browser/{logs-ATTRIUTL.mjs.map → logs-A2VDAHHD.mjs.map} +3 -3
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/{metrics-PKTV6IGF.mjs → metrics-6OSN54ZV.mjs} +5 -20
  11. package/dist/lib/browser/{metrics-PKTV6IGF.mjs.map → metrics-6OSN54ZV.mjs.map} +2 -2
  12. package/dist/lib/browser/traces-browser-6MRGAKFC.mjs +151 -0
  13. package/dist/lib/browser/traces-browser-6MRGAKFC.mjs.map +7 -0
  14. package/dist/lib/node-esm/{chunk-FEVP3MK4.mjs → chunk-SYPJQI4L.mjs} +1 -1
  15. package/dist/lib/node-esm/{chunk-FEVP3MK4.mjs.map → chunk-SYPJQI4L.mjs.map} +2 -2
  16. package/dist/lib/node-esm/index.mjs +100 -154
  17. package/dist/lib/node-esm/index.mjs.map +3 -3
  18. package/dist/lib/node-esm/{log-processor-TKJVJJSJ.mjs → log-processor-ZODHERST.mjs} +11 -18
  19. package/dist/lib/node-esm/log-processor-ZODHERST.mjs.map +7 -0
  20. package/dist/lib/node-esm/{logs-7J45KLM7.mjs → logs-TA32MBMW.mjs} +5 -3
  21. package/dist/lib/node-esm/{logs-7J45KLM7.mjs.map → logs-TA32MBMW.mjs.map} +3 -3
  22. package/dist/lib/node-esm/meta.json +1 -1
  23. package/dist/lib/node-esm/{metrics-H7DDLYSG.mjs → metrics-C5IKPAWD.mjs} +5 -20
  24. package/dist/lib/node-esm/{metrics-H7DDLYSG.mjs.map → metrics-C5IKPAWD.mjs.map} +2 -2
  25. package/dist/lib/node-esm/traces-5LKHMVVG.mjs +122 -0
  26. package/dist/lib/node-esm/traces-5LKHMVVG.mjs.map +7 -0
  27. package/dist/types/src/cli-observability-secrets.json +2 -2
  28. package/dist/types/src/extensions/otel/extension.d.ts.map +1 -1
  29. package/dist/types/src/extensions/otel/extension.js +83 -6
  30. package/dist/types/src/extensions/otel/extension.js.map +1 -1
  31. package/dist/types/src/extensions/otel/logs.d.ts.map +1 -1
  32. package/dist/types/src/extensions/otel/logs.js +4 -1
  33. package/dist/types/src/extensions/otel/logs.js.map +1 -1
  34. package/dist/types/src/extensions/otel/metrics.d.ts.map +1 -1
  35. package/dist/types/src/extensions/otel/metrics.js.map +1 -1
  36. package/dist/types/src/extensions/otel/otel.d.ts.map +1 -1
  37. package/dist/types/src/extensions/otel/span-processors.d.ts +25 -0
  38. package/dist/types/src/extensions/otel/span-processors.d.ts.map +1 -0
  39. package/dist/types/src/extensions/otel/span-processors.js +41 -0
  40. package/dist/types/src/extensions/otel/span-processors.js.map +1 -0
  41. package/dist/types/src/extensions/otel/traces-browser.d.ts +17 -0
  42. package/dist/types/src/extensions/otel/traces-browser.d.ts.map +1 -1
  43. package/dist/types/src/extensions/otel/traces-browser.js +53 -34
  44. package/dist/types/src/extensions/otel/traces-browser.js.map +1 -1
  45. package/dist/types/src/extensions/otel/traces.d.ts +17 -0
  46. package/dist/types/src/extensions/otel/traces.d.ts.map +1 -1
  47. package/dist/types/src/extensions/otel/traces.js +57 -8
  48. package/dist/types/src/extensions/otel/traces.js.map +1 -1
  49. package/dist/types/src/extensions/posthog/extension.d.ts +7 -3
  50. package/dist/types/src/extensions/posthog/extension.d.ts.map +1 -1
  51. package/dist/types/src/extensions/posthog/extension.js +7 -7
  52. package/dist/types/src/extensions/posthog/extension.js.map +1 -1
  53. package/dist/types/src/extensions/posthog/log-processor.d.ts.map +1 -1
  54. package/dist/types/src/extensions/posthog/log-processor.js +10 -19
  55. package/dist/types/src/extensions/posthog/log-processor.js.map +1 -1
  56. package/dist/types/src/extensions/posthog/log-processor.test.js +2 -2
  57. package/dist/types/src/extensions/posthog/log-processor.test.js.map +1 -1
  58. package/dist/types/src/observability.d.ts.map +1 -1
  59. package/dist/types/src/providers/client-observability.d.ts.map +1 -1
  60. package/dist/types/src/providers/client-observability.js +2 -0
  61. package/dist/types/src/providers/client-observability.js.map +1 -1
  62. package/dist/types/src/providers/ip-data.d.ts.map +1 -1
  63. package/dist/types/src/storage/browser.d.ts.map +1 -1
  64. package/dist/types/src/storage/browser.js +10 -0
  65. package/dist/types/src/storage/browser.js.map +1 -1
  66. package/dist/types/src/storage/node.d.ts.map +1 -1
  67. package/dist/types/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +19 -16
  69. package/src/cli-observability-secrets.json +2 -2
  70. package/src/extensions/otel/extension.ts +87 -7
  71. package/src/extensions/otel/logs.ts +4 -1
  72. package/src/extensions/otel/span-processors.ts +45 -0
  73. package/src/extensions/otel/traces-browser.ts +68 -39
  74. package/src/extensions/otel/traces.ts +74 -10
  75. package/src/extensions/posthog/extension.ts +14 -9
  76. package/src/extensions/posthog/log-processor.test.ts +7 -6
  77. package/src/extensions/posthog/log-processor.ts +10 -21
  78. package/src/providers/client-observability.ts +2 -0
  79. package/src/storage/browser.ts +9 -0
  80. package/dist/lib/browser/log-processor-FDLTDQEM.mjs.map +0 -7
  81. package/dist/lib/browser/traces-browser-PUNCJ5KV.mjs +0 -112
  82. package/dist/lib/browser/traces-browser-PUNCJ5KV.mjs.map +0 -7
  83. package/dist/lib/node-esm/log-processor-TKJVJJSJ.mjs.map +0 -7
  84. package/dist/lib/node-esm/traces-KMTHMYFX.mjs +0 -44
  85. package/dist/lib/node-esm/traces-KMTHMYFX.mjs.map +0 -7
@@ -114,12 +114,7 @@ var ObservabilityImpl = class {
114
114
  this._subscriptions.add(...cleanups.filter((cleanup) => cleanup !== void 0));
115
115
  this._initialized = true;
116
116
  }).pipe(Effect.catchAll((error) => Effect.gen(this, function* () {
117
- log.catch(error, void 0, {
118
- F: __dxlog_file,
119
- L: 85,
120
- S: this,
121
- C: (f, a) => f(...a)
122
- });
117
+ log.catch(error, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 32, S: this });
123
118
  for (const extension of initializedExtensions) {
124
119
  if (extension.close) {
125
120
  yield* extension.close().pipe(Effect.catchAll(() => Effect.succeed(void 0)));
@@ -168,27 +163,11 @@ var ObservabilityImpl = class {
168
163
  });
169
164
  }
170
165
  _addExtension(extension) {
171
- invariant(!this._initialized, "Observability is already initialized", {
172
- F: __dxlog_file,
173
- L: 142,
174
- S: this,
175
- A: [
176
- "!this._initialized",
177
- "'Observability is already initialized'"
178
- ]
179
- });
166
+ invariant(!this._initialized, "Observability is already initialized", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 82, S: this, A: ["!this._initialized", "'Observability is already initialized'"] });
180
167
  this._extensions.push(extension);
181
168
  }
182
169
  _addDataProvider(dataProvider) {
183
- invariant(!this._initialized, "Observability is already initialized", {
184
- F: __dxlog_file,
185
- L: 147,
186
- S: this,
187
- A: [
188
- "!this._initialized",
189
- "'Observability is already initialized'"
190
- ]
191
- });
170
+ invariant(!this._initialized, "Observability is already initialized", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 86, S: this, A: ["!this._initialized", "'Observability is already initialized'"] });
192
171
  this._dataProviders.push(dataProvider);
193
172
  }
194
173
  /**
@@ -297,29 +276,13 @@ var make = () => Effect.succeed(new ObservabilityImpl());
297
276
  var addExtension = (_extension) => Effect.fn(function* (_observability) {
298
277
  const observability = yield* _observability;
299
278
  const extension = yield* _extension;
300
- invariant("_addExtension" in observability && typeof observability._addExtension === "function", void 0, {
301
- F: __dxlog_file,
302
- L: 276,
303
- S: this,
304
- A: [
305
- "'_addExtension' in observability && typeof observability._addExtension === 'function'",
306
- ""
307
- ]
308
- });
279
+ invariant("_addExtension" in observability && typeof observability._addExtension === "function", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 194, S: this, A: ["'_addExtension' in observability && typeof observability._addExtension === 'function'", ""] });
309
280
  observability._addExtension(extension);
310
281
  return observability;
311
282
  });
312
283
  var addDataProvider = (dataProvider) => Effect.fn(function* (_observability) {
313
284
  const observability = yield* _observability;
314
- invariant("_addDataProvider" in observability && typeof observability._addDataProvider === "function", void 0, {
315
- F: __dxlog_file,
316
- L: 284,
317
- S: this,
318
- A: [
319
- "'_addDataProvider' in observability && typeof observability._addDataProvider === 'function'",
320
- ""
321
- ]
322
- });
285
+ invariant("_addDataProvider" in observability && typeof observability._addDataProvider === "function", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 200, S: this, A: ["'_addDataProvider' in observability && typeof observability._addDataProvider === 'function'", ""] });
323
286
  observability._addDataProvider(dataProvider);
324
287
  return observability;
325
288
  });
@@ -349,6 +312,7 @@ import * as Effect3 from "effect/Effect";
349
312
  import * as Match from "effect/Match";
350
313
  import * as Option from "effect/Option";
351
314
  import * as Ref from "effect/Ref";
315
+ import { resolveTelemetryTag } from "@dxos/config";
352
316
  import { LogLevel, log as log2 } from "@dxos/log";
353
317
  import { isNode, isNonNullable } from "@dxos/util";
354
318
 
@@ -356,8 +320,8 @@ import { isNode, isNonNullable } from "@dxos/util";
356
320
  var cli_observability_secrets_default = {
357
321
  POSTHOG_API_KEY: null,
358
322
  IPDATA_API_KEY: "73dfdecdf979c18f07d50cf841bbdd9e589f237256326ac8cca23786",
359
- OTEL_ENDPOINT: "https://ingest.eu.signoz.cloud:443",
360
- OTEL_HEADERS: "signoz-ingestion-key: 5300e0c9-a5e8-4a10-9c61-f473e539c0b7"
323
+ OTEL_ENDPOINT: "/api/otel",
324
+ OTEL_HEADERS: null
361
325
  };
362
326
 
363
327
  // src/extensions/stub.ts
@@ -392,27 +356,32 @@ var extensions = Effect3.fn(function* ({
392
356
  metrics: metricsEnabled = false,
393
357
  traces: tracesEnabled = false
394
358
  }) {
395
- const { OtelLogs } = yield* Effect3.promise(() => import("./logs-7J45KLM7.mjs"));
396
- const { OtelMetrics } = yield* Effect3.promise(() => import("./metrics-H7DDLYSG.mjs"));
397
- const { OtelTraces } = yield* Effect3.promise(() => import("./traces-KMTHMYFX.mjs"));
359
+ const { OtelLogs } = yield* Effect3.promise(() => import("./logs-TA32MBMW.mjs"));
360
+ const { OtelMetrics } = yield* Effect3.promise(() => import("./metrics-C5IKPAWD.mjs"));
361
+ const { OtelTraces } = yield* Effect3.promise(() => import("./traces-5LKHMVVG.mjs"));
398
362
  const cachedDisabled = yield* Effect3.promise(() => isObservabilityDisabled(serviceName));
399
- const enabledRef = yield* Ref.make(!cachedDisabled);
363
+ const disabled = cachedDisabled || isObservabilityDisabledSync(serviceName);
364
+ const enabledRef = yield* Ref.make(!disabled);
400
365
  const tags = /* @__PURE__ */ new Map();
401
366
  const endpoint = isNode() ? process.env.DX_OTEL_ENDPOINT ?? _endpoint ?? cli_observability_secrets_default.OTEL_ENDPOINT : config.values.runtime?.app?.env?.DX_OTEL_ENDPOINT;
402
367
  const headers = _headers ?? Match.value(isNode()).pipe(Match.when(true, () => Option.fromNullable(process.env.DX_OTEL_HEADERS ?? cli_observability_secrets_default.OTEL_HEADERS)), Match.when(false, () => Option.fromNullable(config.values.runtime?.app?.env?.DX_OTEL_HEADERS)), Match.exhaustive, Option.map((raw) => parseHeaders(raw)), Option.getOrElse(() => void 0));
403
368
  if (!endpoint || !headers) {
404
- log2.info("Missing OTEL_ENDPOINT or OTEL_HEADERS", void 0, {
405
- F: __dxlog_file2,
406
- L: 77,
407
- S: this,
408
- C: (f, a) => f(...a)
409
- });
369
+ log2.info("Missing OTEL_ENDPOINT or OTEL_HEADERS", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 31, S: this });
410
370
  return stubExtension;
411
371
  }
372
+ const clientTag = resolveTelemetryTag(config);
373
+ if (clientTag) {
374
+ tags.set("ctx.tag", clientTag);
375
+ }
412
376
  const resource = defaultResource().merge(resourceFromAttributes({
413
377
  [ATTR_SERVICE_NAME]: serviceName,
414
378
  [ATTR_SERVICE_VERSION]: serviceVersion,
415
- "deployment.environment": environment
379
+ "session.id": crypto.randomUUID(),
380
+ "deployment.environment": environment,
381
+ "dxos.process.type": detectProcessType(),
382
+ ...clientTag ? {
383
+ "ctx.tag": clientTag
384
+ } : {}
416
385
  }));
417
386
  const logs = logsEnabled ? new OtelLogs({
418
387
  endpoint,
@@ -433,8 +402,11 @@ var extensions = Effect3.fn(function* ({
433
402
  resource,
434
403
  getTags: () => Object.fromEntries(tags)
435
404
  }) : void 0;
436
- return {
405
+ const extension = {
437
406
  initialize: () => Effect3.sync(() => {
407
+ if (disabled) {
408
+ return;
409
+ }
438
410
  if (logs) {
439
411
  log2.runtimeConfig.processors.push(logs.logProcessor);
440
412
  }
@@ -451,12 +423,28 @@ var extensions = Effect3.fn(function* ({
451
423
  yield* Ref.update(enabledRef, () => false);
452
424
  }),
453
425
  close: () => Effect3.promise(async () => {
454
- await logs?.close();
455
- await metrics?.close();
426
+ const results = await Promise.allSettled([
427
+ logs?.close(),
428
+ metrics?.close()
429
+ ]);
430
+ for (const result of results) {
431
+ if (result.status === "rejected") {
432
+ log2.catch(result.reason, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 111, S: this });
433
+ }
434
+ }
435
+ await traces?.close();
456
436
  }),
457
437
  flush: () => Effect3.promise(async () => {
458
- await logs?.flush();
459
- await metrics?.flush();
438
+ const results = await Promise.allSettled([
439
+ logs?.flush(),
440
+ metrics?.flush()
441
+ ]);
442
+ for (const result of results) {
443
+ if (result.status === "rejected") {
444
+ log2.catch(result.reason, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 126, S: this });
445
+ }
446
+ }
447
+ await traces?.flush();
460
448
  }),
461
449
  setTags: (incomingTags) => {
462
450
  for (const [key, value2] of Object.entries(incomingTags)) {
@@ -484,7 +472,35 @@ var extensions = Effect3.fn(function* ({
484
472
  } : void 0
485
473
  ].filter(isNonNullable)
486
474
  };
475
+ return extension;
487
476
  });
477
+ var isObservabilityDisabledSync = (serviceName) => {
478
+ if (isNode()) {
479
+ return process.env.DX_DISABLE_OBSERVABILITY === "true";
480
+ }
481
+ try {
482
+ if (typeof localStorage !== "undefined") {
483
+ return localStorage.getItem(`${serviceName}/observability-disabled`) === "true";
484
+ }
485
+ } catch {
486
+ }
487
+ return false;
488
+ };
489
+ var detectProcessType = () => {
490
+ if (isNode()) {
491
+ return "node";
492
+ }
493
+ if (typeof window !== "undefined") {
494
+ return "browser";
495
+ }
496
+ if (typeof globalThis.ServiceWorkerGlobalScope !== "undefined") {
497
+ return "service-worker";
498
+ }
499
+ if (typeof globalThis.SharedWorkerGlobalScope !== "undefined") {
500
+ return "shared-worker";
501
+ }
502
+ return "dedicated-worker";
503
+ };
488
504
  var parseHeaders = (unparsedHeaders) => {
489
505
  return unparsedHeaders.split(";").reduce((acc, header) => {
490
506
  const [key, ...rest] = header.split(":");
@@ -503,7 +519,7 @@ __export(posthog_exports, {
503
519
 
504
520
  // src/extensions/posthog/extension.ts
505
521
  import * as Effect4 from "effect/Effect";
506
- import { LogBuffer, log as log3 } from "@dxos/log";
522
+ import { log as log3 } from "@dxos/log";
507
523
  var __dxlog_file3 = "/__w/dxos/dxos/packages/sdk/observability/src/extensions/posthog/extension.ts";
508
524
  var uploadLogs = async (body) => {
509
525
  try {
@@ -517,12 +533,7 @@ var uploadLogs = async (body) => {
517
533
  if (!response.ok) {
518
534
  log3.warn("feedback log upload failed", {
519
535
  status: response.status
520
- }, {
521
- F: __dxlog_file3,
522
- L: 34,
523
- S: void 0,
524
- C: (f, a) => f(...a)
525
- });
536
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 17, S: void 0 });
526
537
  return void 0;
527
538
  }
528
539
  const { key } = await response.json();
@@ -530,40 +541,24 @@ var uploadLogs = async (body) => {
530
541
  } catch (err) {
531
542
  log3.warn("feedback log upload error", {
532
543
  error: err
533
- }, {
534
- F: __dxlog_file3,
535
- L: 40,
536
- S: void 0,
537
- C: (f, a) => f(...a)
538
- });
544
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 25, S: void 0 });
539
545
  return void 0;
540
546
  }
541
547
  };
542
- var extensions2 = Effect4.fn(function* ({ config, release, environment, posthog: posthogConfig, logBuffer: externalLogBuffer }) {
548
+ var extensions2 = Effect4.fn(function* ({ config, release, environment, posthog: posthogConfig, logStore }) {
543
549
  if (typeof window === "undefined") {
544
- log3("PostHog is being stubbed because it is running in a worker.", void 0, {
545
- F: __dxlog_file3,
546
- L: 54,
547
- S: this,
548
- C: (f, a) => f(...a)
549
- });
550
+ log3("PostHog is being stubbed because it is running in a worker.", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 33, S: this });
550
551
  return stubExtension;
551
552
  }
552
553
  const feedbackSurveyId = config.get("runtime.app.env.DX_POSTHOG_FEEDBACK_SURVEY_ID");
553
554
  const apiKey = config.get("runtime.app.env.DX_POSTHOG_API_KEY");
554
555
  const api_host = config.get("runtime.app.env.DX_POSTHOG_API_HOST");
555
556
  if (!apiKey || !api_host) {
556
- log3.info("Missing POSTHOG_API_KEY or POSTHOG_API_HOST", void 0, {
557
- F: __dxlog_file3,
558
- L: 62,
559
- S: this,
560
- C: (f, a) => f(...a)
561
- });
557
+ log3.info("Missing POSTHOG_API_KEY or POSTHOG_API_HOST", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 40, S: this });
562
558
  return stubExtension;
563
559
  }
564
560
  const { default: posthog } = yield* Effect4.promise(() => import("posthog-js"));
565
- const { logProcessor } = yield* Effect4.promise(() => import("./log-processor-TKJVJJSJ.mjs"));
566
- const logBuffer = externalLogBuffer ?? new LogBuffer();
561
+ const { logProcessor } = yield* Effect4.promise(() => import("./log-processor-ZODHERST.mjs"));
567
562
  let feedbackSurveyAvailable = null;
568
563
  let unregisterPosthogProcessors;
569
564
  const checkFeedbackSurveyAvailable = () => feedbackSurveyId ? Effect4.promise(() => {
@@ -597,21 +592,9 @@ var extensions2 = Effect4.fn(function* ({ config, release, environment, posthog:
597
592
  });
598
593
  }
599
594
  unregisterPosthogProcessors?.();
600
- const removePosthogLog = log3.addProcessor(logProcessor, void 0, {
601
- F: __dxlog_file3,
602
- L: 105,
603
- S: this,
604
- C: (f, a) => f(...a)
605
- });
606
- const removeLogBuffer = log3.addProcessor(logBuffer.logProcessor, void 0, {
607
- F: __dxlog_file3,
608
- L: 106,
609
- S: this,
610
- C: (f, a) => f(...a)
611
- });
595
+ const removePosthogLog = log3.addProcessor(logProcessor, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 79, S: this });
612
596
  unregisterPosthogProcessors = () => {
613
597
  removePosthogLog();
614
- removeLogBuffer();
615
598
  };
616
599
  }),
617
600
  close: () => Effect4.sync(() => {
@@ -656,17 +639,15 @@ var extensions2 = Effect4.fn(function* ({ config, release, environment, posthog:
656
639
  if (!survey || survey.questions.length === 0) {
657
640
  log3.error("Missing feedback survey or survey has no questions", {
658
641
  feedbackSurveyId
659
- }, {
660
- F: __dxlog_file3,
661
- L: 153,
662
- S: this,
663
- C: (f, a) => f(...a)
664
- });
642
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 124, S: this });
665
643
  return;
666
644
  }
667
645
  let debugLogDumpKey = null;
668
- if (form.includeLogs !== false && logBuffer.size > 0) {
669
- debugLogDumpKey = await uploadLogs(logBuffer.serialize()) ?? "failed";
646
+ if (form.includeLogs !== false && logStore !== void 0) {
647
+ const ndjson = await logStore.export();
648
+ if (ndjson.length > 0) {
649
+ debugLogDumpKey = await uploadLogs(ndjson) ?? "failed";
650
+ }
670
651
  }
671
652
  const question = survey.questions[0];
672
653
  posthog.capture("survey sent", {
@@ -744,19 +725,11 @@ var identityProvider = (clientServices) => Effect5.fn(function* (observability)
744
725
  });
745
726
  });
746
727
  var networkMetricsProvider = (clientServices) => Effect5.fn(function* (observability) {
747
- const ctx = new Context(void 0, {
748
- F: __dxlog_file4,
749
- L: 61
750
- });
728
+ const ctx = new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 50 });
751
729
  let lastNetworkStatus;
752
730
  const updateSignalMetrics = new Event().debounce(NETWORK_METRICS_MIN_INTERVAL);
753
731
  updateSignalMetrics.on(ctx, async () => {
754
- log4("send signal metrics", void 0, {
755
- F: __dxlog_file4,
756
- L: 67,
757
- S: this,
758
- C: (f, a) => f(...a)
759
- });
732
+ log4("send signal metrics", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 55, S: this });
760
733
  lastNetworkStatus?.signaling?.forEach(({ server, state }) => {
761
734
  observability.metrics.gauge("dxos.client.network.signal.connectionState", state, {
762
735
  server
@@ -801,20 +774,11 @@ var networkMetricsProvider = (clientServices) => Effect5.fn(function* (observabi
801
774
  };
802
775
  });
803
776
  var runtimeMetricsProvider = (clientServices) => Effect5.fn(function* (observability) {
804
- const ctx = new Context(void 0, {
805
- F: __dxlog_file4,
806
- L: 121
807
- });
777
+ const ctx = new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 100 });
778
+ log4("runtimeMetricsProvider: requesting platform from SystemService", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 101, S: this });
808
779
  const platform = yield* Effect5.promise(() => clientServices.SystemService.getPlatform());
809
- invariant2(platform, "platform is required", {
810
- F: __dxlog_file4,
811
- L: 123,
812
- S: this,
813
- A: [
814
- "platform",
815
- "'platform is required'"
816
- ]
817
- });
780
+ log4("runtimeMetricsProvider: platform received", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 103, S: this });
781
+ invariant2(platform, "platform is required", { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 104, S: this, A: ["platform", "'platform is required'"] });
818
782
  observability.setTags({
819
783
  platformType: Platform.PLATFORM_TYPE[platform.type].toLowerCase(),
820
784
  platform: platform.platform,
@@ -838,33 +802,20 @@ var runtimeMetricsProvider = (clientServices) => Effect5.fn(function* (observabi
838
802
  }
839
803
  }).catch((error) => log4("platform error", {
840
804
  error
841
- }, {
842
- F: __dxlog_file4,
843
- L: 152,
844
- S: this,
845
- C: (f, a) => f(...a)
846
- }));
805
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 126, S: this }));
847
806
  }, RUNTIME_METRICS_MIN_INTERVAL);
848
807
  return async () => {
849
808
  await ctx.dispose();
850
809
  };
851
810
  });
852
811
  var spacesMetricsProvider = (client) => Effect5.fn(function* (observability) {
853
- const ctx = new Context(void 0, {
854
- F: __dxlog_file4,
855
- L: 165
856
- });
812
+ const ctx = new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 135 });
857
813
  const spaces = client.spaces.get();
858
814
  const subscriptions = /* @__PURE__ */ new Map();
859
815
  ctx.onDispose(() => subscriptions.forEach((subscription) => subscription.unsubscribe()));
860
816
  const updateSpaceMetrics = new Event().debounce(SPACE_METRICS_MIN_INTERVAL);
861
817
  updateSpaceMetrics.on(ctx, async () => {
862
- log4("send space metrics", void 0, {
863
- F: __dxlog_file4,
864
- L: 173,
865
- S: this,
866
- C: (f, a) => f(...a)
867
- });
818
+ log4("send space metrics", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 142, S: this });
868
819
  for (const data of mapSpaces(spaces, {
869
820
  truncateKeys: true
870
821
  })) {
@@ -985,12 +936,7 @@ var provider = (config) => (observability) => Effect6.gen(function* () {
985
936
  }).pipe(Effect6.provide(FetchHttpClient.layer), Effect6.catchAll((err) => Effect6.sync(() => {
986
937
  log5.verbose("ipdata fetch failed", {
987
938
  err
988
- }, {
989
- F: __dxlog_file5,
990
- L: 88,
991
- S: void 0,
992
- C: (f, a) => f(...a)
993
- });
939
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 54, S: void 0 });
994
940
  })));
995
941
 
996
942
  // src/providers/storage.ts