bitfab 0.52.2 → 0.52.3
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/{chunk-RU7KJE2D.js → chunk-EAET3MSX.js} +11 -11
- package/dist/{chunk-RU7KJE2D.js.map → chunk-EAET3MSX.js.map} +1 -1
- package/dist/{chunk-ESIEHZHQ.js → chunk-JPFJ5YSK.js} +36 -21
- package/dist/chunk-JPFJ5YSK.js.map +1 -0
- package/dist/{chunk-SIMPLMRG.js → chunk-NZGYJWHY.js} +2 -2
- package/dist/{chunk-XL5M3ETX.js → chunk-XRSOWDOP.js} +67 -28
- package/dist/chunk-XRSOWDOP.js.map +1 -0
- package/dist/{http-RULNEWBV.js → http-HSNLZMNZ.js} +2 -2
- package/dist/{http-2NFFBFYV.js → http-W66ZE5TL.js} +2 -2
- package/dist/index.cjs +70 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/node.cjs +70 -31
- package/dist/node.cjs.map +1 -1
- package/dist/node.js +3 -3
- package/dist/{replay-6SQSBWLX.js → replay-QMA2K5M4.js} +3 -3
- package/dist/replayCli.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-ESIEHZHQ.js.map +0 -1
- package/dist/chunk-XL5M3ETX.js.map +0 -1
- /package/dist/{chunk-SIMPLMRG.js.map → chunk-NZGYJWHY.js.map} +0 -0
- /package/dist/{http-2NFFBFYV.js.map → http-HSNLZMNZ.js.map} +0 -0
- /package/dist/{http-RULNEWBV.js.map → http-W66ZE5TL.js.map} +0 -0
- /package/dist/{replay-6SQSBWLX.js.map → replay-QMA2K5M4.js.map} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -51,7 +51,7 @@ var __version__, __packageName__;
|
|
|
51
51
|
var init_version_generated = __esm({
|
|
52
52
|
"src/version.generated.ts"() {
|
|
53
53
|
"use strict";
|
|
54
|
-
__version__ = "0.52.
|
|
54
|
+
__version__ = "0.52.3";
|
|
55
55
|
__packageName__ = "bitfab";
|
|
56
56
|
}
|
|
57
57
|
});
|
|
@@ -394,15 +394,18 @@ var init_payloadBudget = __esm({
|
|
|
394
394
|
});
|
|
395
395
|
|
|
396
396
|
// src/warnOnce.ts
|
|
397
|
+
function warn(message) {
|
|
398
|
+
try {
|
|
399
|
+
console.warn(`[bitfab] ${message}`);
|
|
400
|
+
} catch {
|
|
401
|
+
}
|
|
402
|
+
}
|
|
397
403
|
function warnOnce(key, message) {
|
|
398
404
|
if (warned.has(key)) {
|
|
399
405
|
return;
|
|
400
406
|
}
|
|
401
407
|
warned.add(key);
|
|
402
|
-
|
|
403
|
-
console.warn(`[bitfab] ${message}`);
|
|
404
|
-
} catch {
|
|
405
|
-
}
|
|
408
|
+
warn(message);
|
|
406
409
|
}
|
|
407
410
|
var warned;
|
|
408
411
|
var init_warnOnce = __esm({
|
|
@@ -544,6 +547,9 @@ var init_serializePayload = __esm({
|
|
|
544
547
|
});
|
|
545
548
|
|
|
546
549
|
// src/traceMetadata.ts
|
|
550
|
+
function findRecord(traceId) {
|
|
551
|
+
return activeRecords.get(traceId) ?? completedRecords.get(traceId);
|
|
552
|
+
}
|
|
547
553
|
function recordCallerTraceMetadata(traceId, metadata) {
|
|
548
554
|
if (typeof traceId !== "string" || traceId === "") {
|
|
549
555
|
return;
|
|
@@ -554,15 +560,52 @@ function recordCallerTraceMetadata(traceId, metadata) {
|
|
|
554
560
|
if (Object.keys(metadata).length === 0) {
|
|
555
561
|
return;
|
|
556
562
|
}
|
|
557
|
-
|
|
563
|
+
const existing = findRecord(traceId);
|
|
564
|
+
if (existing) {
|
|
565
|
+
Object.assign(existing.caller, metadata);
|
|
566
|
+
return;
|
|
567
|
+
}
|
|
568
|
+
activeRecords.set(traceId, {
|
|
569
|
+
caller: { ...metadata },
|
|
570
|
+
derived: {},
|
|
571
|
+
warnedKeys: /* @__PURE__ */ new Set()
|
|
572
|
+
});
|
|
558
573
|
}
|
|
559
574
|
function callerTraceMetadata(traceId) {
|
|
560
|
-
const
|
|
561
|
-
|
|
575
|
+
const record = findRecord(traceId);
|
|
576
|
+
if (!record || Object.keys(record.caller).length === 0) {
|
|
577
|
+
return void 0;
|
|
578
|
+
}
|
|
579
|
+
return { ...record.caller };
|
|
562
580
|
}
|
|
563
|
-
function
|
|
564
|
-
|
|
565
|
-
|
|
581
|
+
function retireTraceMetadata(traceId) {
|
|
582
|
+
const record = activeRecords.get(traceId);
|
|
583
|
+
if (!record) {
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
activeRecords.delete(traceId);
|
|
587
|
+
completedRecords.set(traceId, record);
|
|
588
|
+
while (completedRecords.size > RETAINED_COMPLETED_TRACES) {
|
|
589
|
+
const oldest = completedRecords.keys().next();
|
|
590
|
+
if (oldest.done) {
|
|
591
|
+
return;
|
|
592
|
+
}
|
|
593
|
+
completedRecords.delete(oldest.value);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
function warnAboutShadowedKeys(traceId, record) {
|
|
597
|
+
const shadowed = Object.keys(record.derived).filter(
|
|
598
|
+
(key) => key in record.caller && record.caller[key] !== record.derived[key] && !record.warnedKeys.has(key)
|
|
599
|
+
).sort();
|
|
600
|
+
if (shadowed.length === 0) {
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
603
|
+
for (const key of shadowed) {
|
|
604
|
+
record.warnedKeys.add(key);
|
|
605
|
+
}
|
|
606
|
+
warn(
|
|
607
|
+
`trace metadata key(s) ${shadowed.join(", ")} on trace ${traceId} were set both by the caller and by an integration's own trace export; the caller's value is the one kept on the trace.`
|
|
608
|
+
);
|
|
566
609
|
}
|
|
567
610
|
function mergeCallerMetadataIntoTracePayload(payload) {
|
|
568
611
|
const externalTrace = payload.externalTrace;
|
|
@@ -574,35 +617,31 @@ function mergeCallerMetadataIntoTracePayload(payload) {
|
|
|
574
617
|
if (typeof traceId !== "string" || traceId === "") {
|
|
575
618
|
return payload;
|
|
576
619
|
}
|
|
577
|
-
const
|
|
578
|
-
if (!caller) {
|
|
620
|
+
const record = findRecord(traceId);
|
|
621
|
+
if (!record || Object.keys(record.caller).length === 0) {
|
|
579
622
|
return payload;
|
|
580
623
|
}
|
|
581
|
-
const derived = derivedMetadata.get(traceId) ?? {};
|
|
582
624
|
const exported = external.metadata;
|
|
583
625
|
if (typeof exported === "object" && exported !== null) {
|
|
584
|
-
Object.assign(derived, exported);
|
|
585
|
-
}
|
|
586
|
-
derivedMetadata.set(traceId, derived);
|
|
587
|
-
const shadowed = Object.keys(derived).filter((key) => key in caller && caller[key] !== derived[key]).sort();
|
|
588
|
-
if (shadowed.length > 0) {
|
|
589
|
-
warnOnce(
|
|
590
|
-
`trace-metadata-shadowed:${shadowed.join(",")}`,
|
|
591
|
-
`trace metadata key(s) ${shadowed.join(", ")} were set both by the caller and by an integration's own trace export; the caller's value is the one kept on the trace.`
|
|
592
|
-
);
|
|
626
|
+
Object.assign(record.derived, exported);
|
|
593
627
|
}
|
|
628
|
+
warnAboutShadowedKeys(traceId, record);
|
|
594
629
|
return {
|
|
595
630
|
...payload,
|
|
596
|
-
externalTrace: {
|
|
631
|
+
externalTrace: {
|
|
632
|
+
...external,
|
|
633
|
+
metadata: { ...record.derived, ...record.caller }
|
|
634
|
+
}
|
|
597
635
|
};
|
|
598
636
|
}
|
|
599
|
-
var
|
|
637
|
+
var RETAINED_COMPLETED_TRACES, activeRecords, completedRecords;
|
|
600
638
|
var init_traceMetadata = __esm({
|
|
601
639
|
"src/traceMetadata.ts"() {
|
|
602
640
|
"use strict";
|
|
603
641
|
init_warnOnce();
|
|
604
|
-
|
|
605
|
-
|
|
642
|
+
RETAINED_COMPLETED_TRACES = 128;
|
|
643
|
+
activeRecords = /* @__PURE__ */ new Map();
|
|
644
|
+
completedRecords = /* @__PURE__ */ new Map();
|
|
606
645
|
}
|
|
607
646
|
});
|
|
608
647
|
|
|
@@ -7467,7 +7506,7 @@ var Bitfab = class {
|
|
|
7467
7506
|
}
|
|
7468
7507
|
});
|
|
7469
7508
|
activeTraceStates.delete(traceId);
|
|
7470
|
-
|
|
7509
|
+
retireTraceMetadata(traceId);
|
|
7471
7510
|
}
|
|
7472
7511
|
} catch {
|
|
7473
7512
|
}
|
|
@@ -7660,7 +7699,7 @@ var Bitfab = class {
|
|
|
7660
7699
|
} catch (setupError) {
|
|
7661
7700
|
if (registeredTraceId) {
|
|
7662
7701
|
activeTraceStates.delete(registeredTraceId);
|
|
7663
|
-
|
|
7702
|
+
retireTraceMetadata(registeredTraceId);
|
|
7664
7703
|
}
|
|
7665
7704
|
if (setupError instanceof MixedTracingError) {
|
|
7666
7705
|
throw setupError;
|
|
@@ -8059,7 +8098,7 @@ var Bitfab = class {
|
|
|
8059
8098
|
});
|
|
8060
8099
|
} finally {
|
|
8061
8100
|
activeTraceStates.delete(traceId);
|
|
8062
|
-
|
|
8101
|
+
retireTraceMetadata(traceId);
|
|
8063
8102
|
}
|
|
8064
8103
|
return traceId;
|
|
8065
8104
|
}
|
|
@@ -8105,7 +8144,7 @@ var Bitfab = class {
|
|
|
8105
8144
|
await flushTraces2(3e4);
|
|
8106
8145
|
} finally {
|
|
8107
8146
|
unrecorded = activeTraceStates.delete(traceId);
|
|
8108
|
-
|
|
8147
|
+
retireTraceMetadata(traceId);
|
|
8109
8148
|
}
|
|
8110
8149
|
}
|
|
8111
8150
|
if (unrecorded) {
|