@dxos/tracing 0.8.3-staging.0fa589b → 0.8.4-main.28f8d3d

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.
@@ -1,9 +1,9 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
 
3
- // packages/common/tracing/src/api.ts
3
+ // src/api.ts
4
4
  import { Context as Context2 } from "@dxos/context";
5
5
 
6
- // packages/common/tracing/src/symbols.ts
6
+ // src/symbols.ts
7
7
  var symbolTracingContext = Symbol("dxos.tracing.context");
8
8
  var getTracingContext = (target) => {
9
9
  return target[symbolTracingContext] ??= {
@@ -13,22 +13,26 @@ var getTracingContext = (target) => {
13
13
  };
14
14
  var TRACE_SPAN_ATTRIBUTE = "dxos.trace-span";
15
15
 
16
- // packages/common/tracing/src/trace-processor.ts
16
+ // src/trace-processor.ts
17
17
  import { unrefTimeout } from "@dxos/async";
18
18
  import { LogLevel, getContextFromEntry, log } from "@dxos/log";
19
19
  import { getPrototypeSpecificInstanceId } from "@dxos/util";
20
20
 
21
- // packages/common/tracing/src/diagnostic.ts
21
+ // src/diagnostic.ts
22
22
  import { asyncTimeout } from "@dxos/async";
23
23
  import { invariant } from "@dxos/invariant";
24
24
 
25
- // packages/common/tracing/src/util.ts
25
+ // src/util.ts
26
26
  var createId = () => Math.random().toString(36).slice(2);
27
27
 
28
- // packages/common/tracing/src/diagnostic.ts
29
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/tracing/src/diagnostic.ts";
28
+ // src/diagnostic.ts
29
+ var __dxlog_file = "/__w/dxos/dxos/packages/common/tracing/src/diagnostic.ts";
30
30
  var DIAGNOSTICS_TIMEOUT = 1e4;
31
31
  var TraceDiagnosticImpl = class {
32
+ id;
33
+ fetch;
34
+ name;
35
+ _onUnregister;
32
36
  constructor(id, fetch, name, _onUnregister) {
33
37
  this.id = id;
34
38
  this.fetch = fetch;
@@ -40,11 +44,9 @@ var TraceDiagnosticImpl = class {
40
44
  }
41
45
  };
42
46
  var DiagnosticsManager = class {
43
- constructor() {
44
- this.instanceId = createId();
45
- this.registry = /* @__PURE__ */ new Map();
46
- this._instanceTag = null;
47
- }
47
+ instanceId = createId();
48
+ registry = /* @__PURE__ */ new Map();
49
+ _instanceTag = null;
48
50
  get instanceTag() {
49
51
  return this._instanceTag;
50
52
  }
@@ -109,17 +111,22 @@ var DiagnosticsManager = class {
109
111
  }
110
112
  };
111
113
 
112
- // packages/common/tracing/src/diagnostics-channel.ts
114
+ // src/diagnostics-channel.ts
113
115
  import { Trigger, sleep } from "@dxos/async";
114
116
  import { Context } from "@dxos/context";
115
117
  import { invariant as invariant2 } from "@dxos/invariant";
116
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/common/tracing/src/diagnostics-channel.ts";
118
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/common/tracing/src/diagnostics-channel.ts";
117
119
  var DEFAULT_CHANNEL_NAME = "dxos-diagnostics";
118
120
  var DISCOVER_TIME = 500;
119
121
  var DiagnosticsChannel = class _DiagnosticsChannel {
122
+ _channelName;
120
123
  static get supported() {
121
124
  return globalThis.BroadcastChannel != null;
122
125
  }
126
+ _ctx;
127
+ // Separate channels becauase the client and server may be in the same process.
128
+ _serveChannel;
129
+ _clientChannel;
123
130
  constructor(_channelName = DEFAULT_CHANNEL_NAME) {
124
131
  this._channelName = _channelName;
125
132
  this._ctx = new Context(void 0, {
@@ -260,11 +267,9 @@ var DiagnosticsChannel = class _DiagnosticsChannel {
260
267
  }
261
268
  };
262
269
 
263
- // packages/common/tracing/src/remote/metrics.ts
270
+ // src/remote/metrics.ts
264
271
  var RemoteMetrics = class {
265
- constructor() {
266
- this._metrics = /* @__PURE__ */ new Set();
267
- }
272
+ _metrics = /* @__PURE__ */ new Set();
268
273
  registerProcessor(processor) {
269
274
  this._metrics.add(processor);
270
275
  }
@@ -282,11 +287,10 @@ var RemoteMetrics = class {
282
287
  }
283
288
  };
284
289
 
285
- // packages/common/tracing/src/remote/tracing.ts
290
+ // src/remote/tracing.ts
286
291
  var RemoteTracing = class {
287
- constructor() {
288
- this._spanMap = /* @__PURE__ */ new Map();
289
- }
292
+ _tracing;
293
+ _spanMap = /* @__PURE__ */ new Map();
290
294
  registerProcessor(processor) {
291
295
  this._tracing = processor;
292
296
  }
@@ -311,9 +315,10 @@ var RemoteTracing = class {
311
315
  }
312
316
  };
313
317
 
314
- // packages/common/tracing/src/trace-sender.ts
318
+ // src/trace-sender.ts
315
319
  import { Stream } from "@dxos/codec-protobuf/stream";
316
320
  var TraceSender = class {
321
+ _traceProcessor;
317
322
  constructor(_traceProcessor) {
318
323
  this._traceProcessor = _traceProcessor;
319
324
  }
@@ -400,7 +405,7 @@ var TraceSender = class {
400
405
  }
401
406
  };
402
407
 
403
- // packages/common/tracing/src/weak-ref.ts
408
+ // src/weak-ref.ts
404
409
  var WeakRefMock = class {
405
410
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor
406
411
  constructor(target) {
@@ -411,9 +416,18 @@ var WeakRefMock = class {
411
416
  };
412
417
  var WeakRef = globalThis.WeakRef ?? WeakRefMock;
413
418
 
414
- // packages/common/tracing/src/trace-processor.ts
415
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/common/tracing/src/trace-processor.ts";
419
+ // src/trace-processor.ts
420
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/common/tracing/src/trace-processor.ts";
416
421
  var ResourceEntry = class {
422
+ data;
423
+ instance;
424
+ annotation;
425
+ /**
426
+ * Sometimes bundlers mangle class names: WebFile -> WebFile2.
427
+ *
428
+ * We use a heuristic to remove the suffix.
429
+ */
430
+ sanitizedClassName;
417
431
  constructor(data, instance, annotation) {
418
432
  this.data = data;
419
433
  this.instance = instance;
@@ -431,50 +445,19 @@ var REFRESH_INTERVAL = 1e3;
431
445
  var MAX_INFO_OBJECT_DEPTH = 8;
432
446
  var IS_CLOUDFLARE_WORKERS = !!globalThis?.navigator?.userAgent?.includes("Cloudflare-Workers");
433
447
  var TraceProcessor = class {
448
+ diagnostics = new DiagnosticsManager();
449
+ diagnosticsChannel = new DiagnosticsChannel();
450
+ remoteMetrics = new RemoteMetrics();
451
+ remoteTracing = new RemoteTracing();
452
+ subscriptions = /* @__PURE__ */ new Set();
453
+ resources = /* @__PURE__ */ new Map();
454
+ resourceInstanceIndex = /* @__PURE__ */ new WeakMap();
455
+ resourceIdList = [];
456
+ spans = /* @__PURE__ */ new Map();
457
+ spanIdList = [];
458
+ logs = [];
459
+ _instanceTag = null;
434
460
  constructor() {
435
- this.diagnostics = new DiagnosticsManager();
436
- this.diagnosticsChannel = new DiagnosticsChannel();
437
- this.remoteMetrics = new RemoteMetrics();
438
- this.remoteTracing = new RemoteTracing();
439
- this.subscriptions = /* @__PURE__ */ new Set();
440
- this.resources = /* @__PURE__ */ new Map();
441
- this.resourceInstanceIndex = /* @__PURE__ */ new WeakMap();
442
- this.resourceIdList = [];
443
- this.spans = /* @__PURE__ */ new Map();
444
- this.spanIdList = [];
445
- this.logs = [];
446
- this._instanceTag = null;
447
- this._logProcessor = (config, entry) => {
448
- switch (entry.level) {
449
- case LogLevel.ERROR:
450
- case LogLevel.WARN:
451
- case LogLevel.TRACE: {
452
- const scope = entry.meta?.S;
453
- const resource2 = this.resourceInstanceIndex.get(scope);
454
- if (!resource2) {
455
- return;
456
- }
457
- const context = getContextFromEntry(entry) ?? {};
458
- for (const key of Object.keys(context)) {
459
- context[key] = sanitizeValue(context[key], 0, this);
460
- }
461
- const entryToPush = {
462
- level: entry.level,
463
- message: entry.message,
464
- context,
465
- timestamp: /* @__PURE__ */ new Date(),
466
- meta: {
467
- file: entry.meta?.F ?? "",
468
- line: entry.meta?.L ?? 0,
469
- resourceId: resource2.data.id
470
- }
471
- };
472
- this._pushLog(entryToPush);
473
- break;
474
- }
475
- default:
476
- }
477
- };
478
461
  log.addProcessor(this._logProcessor.bind(this), void 0, {
479
462
  F: __dxlog_file3,
480
463
  L: 103,
@@ -658,11 +641,52 @@ var TraceProcessor = class {
658
641
  subscription.newLogs.push(log2);
659
642
  }
660
643
  }
644
+ _logProcessor = (config, entry) => {
645
+ switch (entry.level) {
646
+ case LogLevel.ERROR:
647
+ case LogLevel.WARN:
648
+ case LogLevel.TRACE: {
649
+ const scope = entry.meta?.S;
650
+ const resource2 = this.resourceInstanceIndex.get(scope);
651
+ if (!resource2) {
652
+ return;
653
+ }
654
+ const context = getContextFromEntry(entry) ?? {};
655
+ for (const key of Object.keys(context)) {
656
+ context[key] = sanitizeValue(context[key], 0, this);
657
+ }
658
+ const entryToPush = {
659
+ level: entry.level,
660
+ message: entry.message ?? (entry.error ? entry.error.message ?? String(entry.error) : ""),
661
+ context,
662
+ timestamp: /* @__PURE__ */ new Date(),
663
+ meta: {
664
+ file: entry.meta?.F ?? "",
665
+ line: entry.meta?.L ?? 0,
666
+ resourceId: resource2.data.id
667
+ }
668
+ };
669
+ this._pushLog(entryToPush);
670
+ break;
671
+ }
672
+ default:
673
+ }
674
+ };
661
675
  };
662
676
  var TracingSpan = class _TracingSpan {
663
- static {
664
- this.nextId = 0;
665
- }
677
+ _traceProcessor;
678
+ static nextId = 0;
679
+ id;
680
+ parentId;
681
+ methodName;
682
+ resourceId;
683
+ op;
684
+ attributes;
685
+ startTs;
686
+ endTs;
687
+ error;
688
+ _showInBrowserTimeline;
689
+ _ctx;
666
690
  constructor(_traceProcessor, params) {
667
691
  this._traceProcessor = _traceProcessor;
668
692
  this.parentId = null;
@@ -813,7 +837,7 @@ var sanitizeClassName = (className) => {
813
837
  var isSetLike = (value) => value instanceof Set || typeof value === "object" && value !== null && Object.getPrototypeOf(value).constructor.name === "ComplexSet";
814
838
  var isMapLike = (value) => value instanceof Map || typeof value === "object" && value !== null && Object.getPrototypeOf(value).constructor.name === "ComplexMap";
815
839
 
816
- // packages/common/tracing/src/api.ts
840
+ // src/api.ts
817
841
  var resource = (options) => (constructor) => {
818
842
  const klass = /* @__PURE__ */ (() => class extends constructor {
819
843
  constructor(...rest) {
@@ -901,8 +925,13 @@ var trace = {
901
925
  metrics: TRACE_PROCESSOR.remoteMetrics
902
926
  };
903
927
 
904
- // packages/common/tracing/src/metrics/base.ts
928
+ // src/metrics/base.ts
905
929
  var BaseCounter = class {
930
+ /**
931
+ * @internal
932
+ */
933
+ _instance;
934
+ name;
906
935
  /**
907
936
  * @internal
908
937
  */
@@ -914,11 +943,12 @@ var BaseCounter = class {
914
943
  }
915
944
  };
916
945
 
917
- // packages/common/tracing/src/metrics/unary-counter.ts
946
+ // src/metrics/unary-counter.ts
918
947
  var UnaryCounter = class extends BaseCounter {
948
+ value = 0;
949
+ units;
919
950
  constructor({ units } = {}) {
920
951
  super();
921
- this.value = 0;
922
952
  this.units = units;
923
953
  }
924
954
  inc(by = 1) {
@@ -935,14 +965,15 @@ var UnaryCounter = class extends BaseCounter {
935
965
  }
936
966
  };
937
967
 
938
- // packages/common/tracing/src/metrics/time-series-counter.ts
968
+ // src/metrics/time-series-counter.ts
939
969
  var MAX_BUCKETS = 60;
940
970
  var TimeSeriesCounter = class extends BaseCounter {
971
+ _currentValue = 0;
972
+ _totalValue = 0;
973
+ _buckets = [];
974
+ units;
941
975
  constructor({ units } = {}) {
942
976
  super();
943
- this._currentValue = 0;
944
- this._totalValue = 0;
945
- this._buckets = [];
946
977
  this.units = units;
947
978
  }
948
979
  inc(by = 1) {
@@ -975,16 +1006,13 @@ var TimeSeriesCounter = class extends BaseCounter {
975
1006
  }
976
1007
  };
977
1008
 
978
- // packages/common/tracing/src/metrics/time-usage-counter.ts
1009
+ // src/metrics/time-usage-counter.ts
979
1010
  var MAX_BUCKETS2 = 60;
980
1011
  var TimeUsageCounter = class extends BaseCounter {
981
- constructor() {
982
- super(...arguments);
983
- this._currentValue = 0;
984
- this._totalValue = 0;
985
- this._buckets = [];
986
- this._lastTickTime = performance.now();
987
- }
1012
+ _currentValue = 0;
1013
+ _totalValue = 0;
1014
+ _buckets = [];
1015
+ _lastTickTime = performance.now();
988
1016
  record(time) {
989
1017
  this._currentValue += time;
990
1018
  this._totalValue += time;
@@ -1027,11 +1055,12 @@ var TimeUsageCounter = class extends BaseCounter {
1027
1055
  }
1028
1056
  };
1029
1057
 
1030
- // packages/common/tracing/src/metrics/map-counter.ts
1058
+ // src/metrics/map-counter.ts
1031
1059
  var MapCounter = class extends BaseCounter {
1060
+ values = /* @__PURE__ */ new Map();
1061
+ units;
1032
1062
  constructor({ units } = {}) {
1033
1063
  super();
1034
- this.values = /* @__PURE__ */ new Map();
1035
1064
  this.units = units;
1036
1065
  }
1037
1066
  inc(key, by = 1) {
@@ -1052,8 +1081,9 @@ var MapCounter = class extends BaseCounter {
1052
1081
  }
1053
1082
  };
1054
1083
 
1055
- // packages/common/tracing/src/metrics/custom-counter.ts
1084
+ // src/metrics/custom-counter.ts
1056
1085
  var CustomCounter = class extends BaseCounter {
1086
+ _getData;
1057
1087
  constructor(_getData) {
1058
1088
  super(), this._getData = _getData;
1059
1089
  }
@@ -1067,7 +1097,7 @@ var CustomCounter = class extends BaseCounter {
1067
1097
  }
1068
1098
  };
1069
1099
 
1070
- // packages/common/tracing/src/index.ts
1100
+ // src/index.ts
1071
1101
  trace.diagnostic({
1072
1102
  id: "process-info",
1073
1103
  name: "Process Info",