@dxos/tracing 0.8.4-main.2e9d522 → 0.8.4-main.3c1ae3b

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.
@@ -29,6 +29,10 @@ var createId = () => Math.random().toString(36).slice(2);
29
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
  }
@@ -117,17 +119,19 @@ var __dxlog_file2 = "/__w/dxos/dxos/packages/common/tracing/src/diagnostics-chan
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 = new Context(void 0, {
127
+ F: __dxlog_file2,
128
+ L: 46
129
+ });
130
+ // Separate channels becauase the client and server may be in the same process.
131
+ _serveChannel = void 0;
132
+ _clientChannel = void 0;
123
133
  constructor(_channelName = DEFAULT_CHANNEL_NAME) {
124
134
  this._channelName = _channelName;
125
- this._ctx = new Context(void 0, {
126
- F: __dxlog_file2,
127
- L: 46
128
- });
129
- this._serveChannel = void 0;
130
- this._clientChannel = void 0;
131
135
  if (_DiagnosticsChannel.supported) {
132
136
  this._serveChannel = new BroadcastChannel(_channelName);
133
137
  this._clientChannel = new BroadcastChannel(_channelName);
@@ -262,9 +266,7 @@ var DiagnosticsChannel = class _DiagnosticsChannel {
262
266
 
263
267
  // src/remote/metrics.ts
264
268
  var RemoteMetrics = class {
265
- constructor() {
266
- this._metrics = /* @__PURE__ */ new Set();
267
- }
269
+ _metrics = /* @__PURE__ */ new Set();
268
270
  registerProcessor(processor) {
269
271
  this._metrics.add(processor);
270
272
  }
@@ -284,9 +286,8 @@ var RemoteMetrics = class {
284
286
 
285
287
  // src/remote/tracing.ts
286
288
  var RemoteTracing = class {
287
- constructor() {
288
- this._spanMap = /* @__PURE__ */ new Map();
289
- }
289
+ _tracing;
290
+ _spanMap = /* @__PURE__ */ new Map();
290
291
  registerProcessor(processor) {
291
292
  this._tracing = processor;
292
293
  }
@@ -314,6 +315,7 @@ var RemoteTracing = class {
314
315
  // src/trace-sender.ts
315
316
  import { Stream } from "@dxos/codec-protobuf/stream";
316
317
  var TraceSender = class {
318
+ _traceProcessor;
317
319
  constructor(_traceProcessor) {
318
320
  this._traceProcessor = _traceProcessor;
319
321
  }
@@ -414,6 +416,15 @@ var WeakRef = globalThis.WeakRef ?? WeakRefMock;
414
416
  // src/trace-processor.ts
415
417
  var __dxlog_file3 = "/__w/dxos/dxos/packages/common/tracing/src/trace-processor.ts";
416
418
  var ResourceEntry = class {
419
+ data;
420
+ instance;
421
+ annotation;
422
+ /**
423
+ * Sometimes bundlers mangle class names: WebFile -> WebFile2.
424
+ *
425
+ * We use a heuristic to remove the suffix.
426
+ */
427
+ sanitizedClassName;
417
428
  constructor(data, instance, annotation) {
418
429
  this.data = data;
419
430
  this.instance = instance;
@@ -431,50 +442,19 @@ var REFRESH_INTERVAL = 1e3;
431
442
  var MAX_INFO_OBJECT_DEPTH = 8;
432
443
  var IS_CLOUDFLARE_WORKERS = !!globalThis?.navigator?.userAgent?.includes("Cloudflare-Workers");
433
444
  var TraceProcessor = class {
445
+ diagnostics = new DiagnosticsManager();
446
+ diagnosticsChannel = new DiagnosticsChannel();
447
+ remoteMetrics = new RemoteMetrics();
448
+ remoteTracing = new RemoteTracing();
449
+ subscriptions = /* @__PURE__ */ new Set();
450
+ resources = /* @__PURE__ */ new Map();
451
+ resourceInstanceIndex = /* @__PURE__ */ new WeakMap();
452
+ resourceIdList = [];
453
+ spans = /* @__PURE__ */ new Map();
454
+ spanIdList = [];
455
+ logs = [];
456
+ _instanceTag = null;
434
457
  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 ?? (entry.error ? entry.error.message ?? String(entry.error) : ""),
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
458
  log.addProcessor(this._logProcessor.bind(this), void 0, {
479
459
  F: __dxlog_file3,
480
460
  L: 103,
@@ -658,18 +638,54 @@ var TraceProcessor = class {
658
638
  subscription.newLogs.push(log2);
659
639
  }
660
640
  }
641
+ _logProcessor = (config, entry) => {
642
+ switch (entry.level) {
643
+ case LogLevel.ERROR:
644
+ case LogLevel.WARN:
645
+ case LogLevel.TRACE: {
646
+ const scope = entry.meta?.S;
647
+ const resource2 = this.resourceInstanceIndex.get(scope);
648
+ if (!resource2) {
649
+ return;
650
+ }
651
+ const context = getContextFromEntry(entry) ?? {};
652
+ for (const key of Object.keys(context)) {
653
+ context[key] = sanitizeValue(context[key], 0, this);
654
+ }
655
+ const entryToPush = {
656
+ level: entry.level,
657
+ message: entry.message ?? (entry.error ? entry.error.message ?? String(entry.error) : ""),
658
+ context,
659
+ timestamp: /* @__PURE__ */ new Date(),
660
+ meta: {
661
+ file: entry.meta?.F ?? "",
662
+ line: entry.meta?.L ?? 0,
663
+ resourceId: resource2.data.id
664
+ }
665
+ };
666
+ this._pushLog(entryToPush);
667
+ break;
668
+ }
669
+ default:
670
+ }
671
+ };
661
672
  };
662
673
  var TracingSpan = class _TracingSpan {
663
- static {
664
- this.nextId = 0;
665
- }
674
+ _traceProcessor;
675
+ static nextId = 0;
676
+ id;
677
+ parentId = null;
678
+ methodName;
679
+ resourceId = null;
680
+ op;
681
+ attributes;
682
+ startTs;
683
+ endTs = null;
684
+ error = null;
685
+ _showInBrowserTimeline;
686
+ _ctx = null;
666
687
  constructor(_traceProcessor, params) {
667
688
  this._traceProcessor = _traceProcessor;
668
- this.parentId = null;
669
- this.resourceId = null;
670
- this.endTs = null;
671
- this.error = null;
672
- this._ctx = null;
673
689
  this.id = _TracingSpan.nextId++;
674
690
  this.methodName = params.methodName;
675
691
  this.resourceId = _traceProcessor.getResourceId(params.instance);
@@ -903,6 +919,11 @@ var trace = {
903
919
 
904
920
  // src/metrics/base.ts
905
921
  var BaseCounter = class {
922
+ /**
923
+ * @internal
924
+ */
925
+ _instance;
926
+ name;
906
927
  /**
907
928
  * @internal
908
929
  */
@@ -916,9 +937,10 @@ var BaseCounter = class {
916
937
 
917
938
  // src/metrics/unary-counter.ts
918
939
  var UnaryCounter = class extends BaseCounter {
940
+ value = 0;
941
+ units;
919
942
  constructor({ units } = {}) {
920
943
  super();
921
- this.value = 0;
922
944
  this.units = units;
923
945
  }
924
946
  inc(by = 1) {
@@ -938,11 +960,12 @@ var UnaryCounter = class extends BaseCounter {
938
960
  // src/metrics/time-series-counter.ts
939
961
  var MAX_BUCKETS = 60;
940
962
  var TimeSeriesCounter = class extends BaseCounter {
963
+ _currentValue = 0;
964
+ _totalValue = 0;
965
+ _buckets = [];
966
+ units;
941
967
  constructor({ units } = {}) {
942
968
  super();
943
- this._currentValue = 0;
944
- this._totalValue = 0;
945
- this._buckets = [];
946
969
  this.units = units;
947
970
  }
948
971
  inc(by = 1) {
@@ -978,13 +1001,10 @@ var TimeSeriesCounter = class extends BaseCounter {
978
1001
  // src/metrics/time-usage-counter.ts
979
1002
  var MAX_BUCKETS2 = 60;
980
1003
  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
- }
1004
+ _currentValue = 0;
1005
+ _totalValue = 0;
1006
+ _buckets = [];
1007
+ _lastTickTime = performance.now();
988
1008
  record(time) {
989
1009
  this._currentValue += time;
990
1010
  this._totalValue += time;
@@ -1029,9 +1049,10 @@ var TimeUsageCounter = class extends BaseCounter {
1029
1049
 
1030
1050
  // src/metrics/map-counter.ts
1031
1051
  var MapCounter = class extends BaseCounter {
1052
+ values = /* @__PURE__ */ new Map();
1053
+ units;
1032
1054
  constructor({ units } = {}) {
1033
1055
  super();
1034
- this.values = /* @__PURE__ */ new Map();
1035
1056
  this.units = units;
1036
1057
  }
1037
1058
  inc(key, by = 1) {
@@ -1054,6 +1075,7 @@ var MapCounter = class extends BaseCounter {
1054
1075
 
1055
1076
  // src/metrics/custom-counter.ts
1056
1077
  var CustomCounter = class extends BaseCounter {
1078
+ _getData;
1057
1079
  constructor(_getData) {
1058
1080
  super(), this._getData = _getData;
1059
1081
  }