@dxos/tracing 0.8.4-main.b97322e → 0.8.4-main.f5c0578
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.
- package/dist/lib/browser/index.mjs +99 -69
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +99 -69
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/diagnostic.d.ts +1 -1
- package/dist/types/src/diagnostic.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/src/diagnostic.ts +1 -1
|
@@ -27,6 +27,10 @@ var createId = () => Math.random().toString(36).slice(2);
|
|
|
27
27
|
var __dxlog_file = "/__w/dxos/dxos/packages/common/tracing/src/diagnostic.ts";
|
|
28
28
|
var DIAGNOSTICS_TIMEOUT = 1e4;
|
|
29
29
|
var TraceDiagnosticImpl = class {
|
|
30
|
+
id;
|
|
31
|
+
fetch;
|
|
32
|
+
name;
|
|
33
|
+
_onUnregister;
|
|
30
34
|
constructor(id, fetch, name, _onUnregister) {
|
|
31
35
|
this.id = id;
|
|
32
36
|
this.fetch = fetch;
|
|
@@ -38,11 +42,9 @@ var TraceDiagnosticImpl = class {
|
|
|
38
42
|
}
|
|
39
43
|
};
|
|
40
44
|
var DiagnosticsManager = class {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
this._instanceTag = null;
|
|
45
|
-
}
|
|
45
|
+
instanceId = createId();
|
|
46
|
+
registry = /* @__PURE__ */ new Map();
|
|
47
|
+
_instanceTag = null;
|
|
46
48
|
get instanceTag() {
|
|
47
49
|
return this._instanceTag;
|
|
48
50
|
}
|
|
@@ -115,9 +117,14 @@ var __dxlog_file2 = "/__w/dxos/dxos/packages/common/tracing/src/diagnostics-chan
|
|
|
115
117
|
var DEFAULT_CHANNEL_NAME = "dxos-diagnostics";
|
|
116
118
|
var DISCOVER_TIME = 500;
|
|
117
119
|
var DiagnosticsChannel = class _DiagnosticsChannel {
|
|
120
|
+
_channelName;
|
|
118
121
|
static get supported() {
|
|
119
122
|
return globalThis.BroadcastChannel != null;
|
|
120
123
|
}
|
|
124
|
+
_ctx;
|
|
125
|
+
// Separate channels becauase the client and server may be in the same process.
|
|
126
|
+
_serveChannel;
|
|
127
|
+
_clientChannel;
|
|
121
128
|
constructor(_channelName = DEFAULT_CHANNEL_NAME) {
|
|
122
129
|
this._channelName = _channelName;
|
|
123
130
|
this._ctx = new Context(void 0, {
|
|
@@ -260,9 +267,7 @@ var DiagnosticsChannel = class _DiagnosticsChannel {
|
|
|
260
267
|
|
|
261
268
|
// src/remote/metrics.ts
|
|
262
269
|
var RemoteMetrics = class {
|
|
263
|
-
|
|
264
|
-
this._metrics = /* @__PURE__ */ new Set();
|
|
265
|
-
}
|
|
270
|
+
_metrics = /* @__PURE__ */ new Set();
|
|
266
271
|
registerProcessor(processor) {
|
|
267
272
|
this._metrics.add(processor);
|
|
268
273
|
}
|
|
@@ -282,9 +287,8 @@ var RemoteMetrics = class {
|
|
|
282
287
|
|
|
283
288
|
// src/remote/tracing.ts
|
|
284
289
|
var RemoteTracing = class {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
}
|
|
290
|
+
_tracing;
|
|
291
|
+
_spanMap = /* @__PURE__ */ new Map();
|
|
288
292
|
registerProcessor(processor) {
|
|
289
293
|
this._tracing = processor;
|
|
290
294
|
}
|
|
@@ -312,6 +316,7 @@ var RemoteTracing = class {
|
|
|
312
316
|
// src/trace-sender.ts
|
|
313
317
|
import { Stream } from "@dxos/codec-protobuf/stream";
|
|
314
318
|
var TraceSender = class {
|
|
319
|
+
_traceProcessor;
|
|
315
320
|
constructor(_traceProcessor) {
|
|
316
321
|
this._traceProcessor = _traceProcessor;
|
|
317
322
|
}
|
|
@@ -412,6 +417,15 @@ var WeakRef = globalThis.WeakRef ?? WeakRefMock;
|
|
|
412
417
|
// src/trace-processor.ts
|
|
413
418
|
var __dxlog_file3 = "/__w/dxos/dxos/packages/common/tracing/src/trace-processor.ts";
|
|
414
419
|
var ResourceEntry = class {
|
|
420
|
+
data;
|
|
421
|
+
instance;
|
|
422
|
+
annotation;
|
|
423
|
+
/**
|
|
424
|
+
* Sometimes bundlers mangle class names: WebFile -> WebFile2.
|
|
425
|
+
*
|
|
426
|
+
* We use a heuristic to remove the suffix.
|
|
427
|
+
*/
|
|
428
|
+
sanitizedClassName;
|
|
415
429
|
constructor(data, instance, annotation) {
|
|
416
430
|
this.data = data;
|
|
417
431
|
this.instance = instance;
|
|
@@ -429,50 +443,19 @@ var REFRESH_INTERVAL = 1e3;
|
|
|
429
443
|
var MAX_INFO_OBJECT_DEPTH = 8;
|
|
430
444
|
var IS_CLOUDFLARE_WORKERS = !!globalThis?.navigator?.userAgent?.includes("Cloudflare-Workers");
|
|
431
445
|
var TraceProcessor = class {
|
|
446
|
+
diagnostics = new DiagnosticsManager();
|
|
447
|
+
diagnosticsChannel = new DiagnosticsChannel();
|
|
448
|
+
remoteMetrics = new RemoteMetrics();
|
|
449
|
+
remoteTracing = new RemoteTracing();
|
|
450
|
+
subscriptions = /* @__PURE__ */ new Set();
|
|
451
|
+
resources = /* @__PURE__ */ new Map();
|
|
452
|
+
resourceInstanceIndex = /* @__PURE__ */ new WeakMap();
|
|
453
|
+
resourceIdList = [];
|
|
454
|
+
spans = /* @__PURE__ */ new Map();
|
|
455
|
+
spanIdList = [];
|
|
456
|
+
logs = [];
|
|
457
|
+
_instanceTag = null;
|
|
432
458
|
constructor() {
|
|
433
|
-
this.diagnostics = new DiagnosticsManager();
|
|
434
|
-
this.diagnosticsChannel = new DiagnosticsChannel();
|
|
435
|
-
this.remoteMetrics = new RemoteMetrics();
|
|
436
|
-
this.remoteTracing = new RemoteTracing();
|
|
437
|
-
this.subscriptions = /* @__PURE__ */ new Set();
|
|
438
|
-
this.resources = /* @__PURE__ */ new Map();
|
|
439
|
-
this.resourceInstanceIndex = /* @__PURE__ */ new WeakMap();
|
|
440
|
-
this.resourceIdList = [];
|
|
441
|
-
this.spans = /* @__PURE__ */ new Map();
|
|
442
|
-
this.spanIdList = [];
|
|
443
|
-
this.logs = [];
|
|
444
|
-
this._instanceTag = null;
|
|
445
|
-
this._logProcessor = (config, entry) => {
|
|
446
|
-
switch (entry.level) {
|
|
447
|
-
case LogLevel.ERROR:
|
|
448
|
-
case LogLevel.WARN:
|
|
449
|
-
case LogLevel.TRACE: {
|
|
450
|
-
const scope = entry.meta?.S;
|
|
451
|
-
const resource2 = this.resourceInstanceIndex.get(scope);
|
|
452
|
-
if (!resource2) {
|
|
453
|
-
return;
|
|
454
|
-
}
|
|
455
|
-
const context = getContextFromEntry(entry) ?? {};
|
|
456
|
-
for (const key of Object.keys(context)) {
|
|
457
|
-
context[key] = sanitizeValue(context[key], 0, this);
|
|
458
|
-
}
|
|
459
|
-
const entryToPush = {
|
|
460
|
-
level: entry.level,
|
|
461
|
-
message: entry.message ?? (entry.error ? entry.error.message ?? String(entry.error) : ""),
|
|
462
|
-
context,
|
|
463
|
-
timestamp: /* @__PURE__ */ new Date(),
|
|
464
|
-
meta: {
|
|
465
|
-
file: entry.meta?.F ?? "",
|
|
466
|
-
line: entry.meta?.L ?? 0,
|
|
467
|
-
resourceId: resource2.data.id
|
|
468
|
-
}
|
|
469
|
-
};
|
|
470
|
-
this._pushLog(entryToPush);
|
|
471
|
-
break;
|
|
472
|
-
}
|
|
473
|
-
default:
|
|
474
|
-
}
|
|
475
|
-
};
|
|
476
459
|
log.addProcessor(this._logProcessor.bind(this), void 0, {
|
|
477
460
|
F: __dxlog_file3,
|
|
478
461
|
L: 103,
|
|
@@ -656,11 +639,52 @@ var TraceProcessor = class {
|
|
|
656
639
|
subscription.newLogs.push(log2);
|
|
657
640
|
}
|
|
658
641
|
}
|
|
642
|
+
_logProcessor = (config, entry) => {
|
|
643
|
+
switch (entry.level) {
|
|
644
|
+
case LogLevel.ERROR:
|
|
645
|
+
case LogLevel.WARN:
|
|
646
|
+
case LogLevel.TRACE: {
|
|
647
|
+
const scope = entry.meta?.S;
|
|
648
|
+
const resource2 = this.resourceInstanceIndex.get(scope);
|
|
649
|
+
if (!resource2) {
|
|
650
|
+
return;
|
|
651
|
+
}
|
|
652
|
+
const context = getContextFromEntry(entry) ?? {};
|
|
653
|
+
for (const key of Object.keys(context)) {
|
|
654
|
+
context[key] = sanitizeValue(context[key], 0, this);
|
|
655
|
+
}
|
|
656
|
+
const entryToPush = {
|
|
657
|
+
level: entry.level,
|
|
658
|
+
message: entry.message ?? (entry.error ? entry.error.message ?? String(entry.error) : ""),
|
|
659
|
+
context,
|
|
660
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
661
|
+
meta: {
|
|
662
|
+
file: entry.meta?.F ?? "",
|
|
663
|
+
line: entry.meta?.L ?? 0,
|
|
664
|
+
resourceId: resource2.data.id
|
|
665
|
+
}
|
|
666
|
+
};
|
|
667
|
+
this._pushLog(entryToPush);
|
|
668
|
+
break;
|
|
669
|
+
}
|
|
670
|
+
default:
|
|
671
|
+
}
|
|
672
|
+
};
|
|
659
673
|
};
|
|
660
674
|
var TracingSpan = class _TracingSpan {
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
675
|
+
_traceProcessor;
|
|
676
|
+
static nextId = 0;
|
|
677
|
+
id;
|
|
678
|
+
parentId;
|
|
679
|
+
methodName;
|
|
680
|
+
resourceId;
|
|
681
|
+
op;
|
|
682
|
+
attributes;
|
|
683
|
+
startTs;
|
|
684
|
+
endTs;
|
|
685
|
+
error;
|
|
686
|
+
_showInBrowserTimeline;
|
|
687
|
+
_ctx;
|
|
664
688
|
constructor(_traceProcessor, params) {
|
|
665
689
|
this._traceProcessor = _traceProcessor;
|
|
666
690
|
this.parentId = null;
|
|
@@ -901,6 +925,11 @@ var trace = {
|
|
|
901
925
|
|
|
902
926
|
// src/metrics/base.ts
|
|
903
927
|
var BaseCounter = class {
|
|
928
|
+
/**
|
|
929
|
+
* @internal
|
|
930
|
+
*/
|
|
931
|
+
_instance;
|
|
932
|
+
name;
|
|
904
933
|
/**
|
|
905
934
|
* @internal
|
|
906
935
|
*/
|
|
@@ -914,9 +943,10 @@ var BaseCounter = class {
|
|
|
914
943
|
|
|
915
944
|
// src/metrics/unary-counter.ts
|
|
916
945
|
var UnaryCounter = class extends BaseCounter {
|
|
946
|
+
value = 0;
|
|
947
|
+
units;
|
|
917
948
|
constructor({ units } = {}) {
|
|
918
949
|
super();
|
|
919
|
-
this.value = 0;
|
|
920
950
|
this.units = units;
|
|
921
951
|
}
|
|
922
952
|
inc(by = 1) {
|
|
@@ -936,11 +966,12 @@ var UnaryCounter = class extends BaseCounter {
|
|
|
936
966
|
// src/metrics/time-series-counter.ts
|
|
937
967
|
var MAX_BUCKETS = 60;
|
|
938
968
|
var TimeSeriesCounter = class extends BaseCounter {
|
|
969
|
+
_currentValue = 0;
|
|
970
|
+
_totalValue = 0;
|
|
971
|
+
_buckets = [];
|
|
972
|
+
units;
|
|
939
973
|
constructor({ units } = {}) {
|
|
940
974
|
super();
|
|
941
|
-
this._currentValue = 0;
|
|
942
|
-
this._totalValue = 0;
|
|
943
|
-
this._buckets = [];
|
|
944
975
|
this.units = units;
|
|
945
976
|
}
|
|
946
977
|
inc(by = 1) {
|
|
@@ -976,13 +1007,10 @@ var TimeSeriesCounter = class extends BaseCounter {
|
|
|
976
1007
|
// src/metrics/time-usage-counter.ts
|
|
977
1008
|
var MAX_BUCKETS2 = 60;
|
|
978
1009
|
var TimeUsageCounter = class extends BaseCounter {
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
this._buckets = [];
|
|
984
|
-
this._lastTickTime = performance.now();
|
|
985
|
-
}
|
|
1010
|
+
_currentValue = 0;
|
|
1011
|
+
_totalValue = 0;
|
|
1012
|
+
_buckets = [];
|
|
1013
|
+
_lastTickTime = performance.now();
|
|
986
1014
|
record(time) {
|
|
987
1015
|
this._currentValue += time;
|
|
988
1016
|
this._totalValue += time;
|
|
@@ -1027,9 +1055,10 @@ var TimeUsageCounter = class extends BaseCounter {
|
|
|
1027
1055
|
|
|
1028
1056
|
// src/metrics/map-counter.ts
|
|
1029
1057
|
var MapCounter = class extends BaseCounter {
|
|
1058
|
+
values = /* @__PURE__ */ new Map();
|
|
1059
|
+
units;
|
|
1030
1060
|
constructor({ units } = {}) {
|
|
1031
1061
|
super();
|
|
1032
|
-
this.values = /* @__PURE__ */ new Map();
|
|
1033
1062
|
this.units = units;
|
|
1034
1063
|
}
|
|
1035
1064
|
inc(key, by = 1) {
|
|
@@ -1052,6 +1081,7 @@ var MapCounter = class extends BaseCounter {
|
|
|
1052
1081
|
|
|
1053
1082
|
// src/metrics/custom-counter.ts
|
|
1054
1083
|
var CustomCounter = class extends BaseCounter {
|
|
1084
|
+
_getData;
|
|
1055
1085
|
constructor(_getData) {
|
|
1056
1086
|
super(), this._getData = _getData;
|
|
1057
1087
|
}
|