@peerbit/pubsub 5.3.12 → 5.4.1
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/src/index.d.ts +31 -13
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +624 -147
- package/dist/src/index.js.map +1 -1
- package/package.json +8 -7
- package/src/index.ts +924 -218
- package/dist/benchmark/fanout-tree-parent-upgrade-default-ready.d.ts +0 -3
- package/dist/benchmark/fanout-tree-parent-upgrade-default-ready.d.ts.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-default-ready.js +0 -90
- package/dist/benchmark/fanout-tree-parent-upgrade-default-ready.js.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-eval.d.ts +0 -2
- package/dist/benchmark/fanout-tree-parent-upgrade-eval.d.ts.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-eval.js +0 -712
- package/dist/benchmark/fanout-tree-parent-upgrade-eval.js.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-multi-eval.d.ts +0 -2
- package/dist/benchmark/fanout-tree-parent-upgrade-multi-eval.d.ts.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-multi-eval.js +0 -1591
- package/dist/benchmark/fanout-tree-parent-upgrade-multi-eval.js.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-prepush.d.ts +0 -2
- package/dist/benchmark/fanout-tree-parent-upgrade-prepush.d.ts.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-prepush.js +0 -297
- package/dist/benchmark/fanout-tree-parent-upgrade-prepush.js.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-preset.d.ts +0 -73
- package/dist/benchmark/fanout-tree-parent-upgrade-preset.d.ts.map +0 -1
- package/dist/benchmark/fanout-tree-parent-upgrade-preset.js +0 -183
- package/dist/benchmark/fanout-tree-parent-upgrade-preset.js.map +0 -1
- package/dist/benchmark/fanout-tree-sim-lib.d.ts +0 -303
- package/dist/benchmark/fanout-tree-sim-lib.d.ts.map +0 -1
- package/dist/benchmark/fanout-tree-sim-lib.js +0 -1752
- package/dist/benchmark/fanout-tree-sim-lib.js.map +0 -1
- package/dist/benchmark/fanout-tree-sim.d.ts +0 -2
- package/dist/benchmark/fanout-tree-sim.d.ts.map +0 -1
- package/dist/benchmark/fanout-tree-sim.js +0 -870
- package/dist/benchmark/fanout-tree-sim.js.map +0 -1
- package/dist/benchmark/index.d.ts +0 -8
- package/dist/benchmark/index.d.ts.map +0 -1
- package/dist/benchmark/index.js +0 -62
- package/dist/benchmark/index.js.map +0 -1
- package/dist/benchmark/pubsub-topic-sim-lib.d.ts +0 -86
- package/dist/benchmark/pubsub-topic-sim-lib.d.ts.map +0 -1
- package/dist/benchmark/pubsub-topic-sim-lib.js +0 -680
- package/dist/benchmark/pubsub-topic-sim-lib.js.map +0 -1
- package/dist/benchmark/pubsub-topic-sim.d.ts +0 -9
- package/dist/benchmark/pubsub-topic-sim.d.ts.map +0 -1
- package/dist/benchmark/pubsub-topic-sim.js +0 -134
- package/dist/benchmark/pubsub-topic-sim.js.map +0 -1
- package/dist/benchmark/sim/bench-utils.d.ts +0 -25
- package/dist/benchmark/sim/bench-utils.d.ts.map +0 -1
- package/dist/benchmark/sim/bench-utils.js +0 -141
- package/dist/benchmark/sim/bench-utils.js.map +0 -1
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
const PARENT_UPGRADE_RUNTIME_OPTION_KEYS = [
|
|
2
|
-
"parentUpgradeIntervalMs",
|
|
3
|
-
"parentUpgradeLeafOnly",
|
|
4
|
-
"parentUpgradeMinLevelGain",
|
|
5
|
-
"parentUpgradeRootMinLevelGain",
|
|
6
|
-
"parentUpgradeRootMinSubtreeGain",
|
|
7
|
-
"parentUpgradeNonRootMinLevelGain",
|
|
8
|
-
"parentUpgradeMinFreeSlots",
|
|
9
|
-
"parentUpgradeRootMinFreeSlots",
|
|
10
|
-
"parentUpgradeMaxChildLoadRatio",
|
|
11
|
-
"parentUpgradeRootMaxChildLoadRatio",
|
|
12
|
-
"parentUpgradeCooldownMs",
|
|
13
|
-
"parentUpgradeFailedBackoffMinMs",
|
|
14
|
-
"parentUpgradeFailedBackoffMaxMs",
|
|
15
|
-
"parentUpgradeQuietMs",
|
|
16
|
-
"parentUpgradeRepairQuietMs",
|
|
17
|
-
"parentUpgradeMaxPerPeer",
|
|
18
|
-
"parentUpgradeRepairGuard",
|
|
19
|
-
"parentUpgradeDataGuard",
|
|
20
|
-
"parentUpgradeMode",
|
|
21
|
-
"parentUpgradeVerifyStaleRootCapacity",
|
|
22
|
-
"parentUpgradeStaleRootProbeProbability",
|
|
23
|
-
"parentProbeTimeoutMs",
|
|
24
|
-
"parentProbeMaxPerRound",
|
|
25
|
-
"parentProbeMaxLagMessages",
|
|
26
|
-
"parentProbeRejectCooldownMs",
|
|
27
|
-
"parentProbeRejectCooldownMaxMs",
|
|
28
|
-
"parentShadowObserveMs",
|
|
29
|
-
"parentShadowMinObservations",
|
|
30
|
-
"parentShadowDualPathMs",
|
|
31
|
-
"parentShadowDualPathMinMessages",
|
|
32
|
-
];
|
|
33
|
-
export const DEFAULT_CANDIDATE_PRESET = "default-candidate";
|
|
34
|
-
export const DEFAULT_PARENT_UPGRADE_SEEDS = [1, 2, 3];
|
|
35
|
-
export const DEFAULT_PARENT_UPGRADE_SEED_CSV = DEFAULT_PARENT_UPGRADE_SEEDS.join(",");
|
|
36
|
-
export const DEFAULT_PARENT_UPGRADE_FAST_SEED_CSV = "1";
|
|
37
|
-
const RAW_STALE_ROOT_PROBE_PROBABILITY = 0.015625;
|
|
38
|
-
const DEFAULT_CANDIDATE_STALE_ROOT_PROBE_PROBABILITY = 0.00390625;
|
|
39
|
-
export const PARENT_UPGRADE_FRONTIER_ROOT_CAPS = [
|
|
40
|
-
"0.2",
|
|
41
|
-
"0.225",
|
|
42
|
-
"0.25",
|
|
43
|
-
"0.4",
|
|
44
|
-
];
|
|
45
|
-
export const PARENT_UPGRADE_HELP_TEXT = [
|
|
46
|
-
" --parentUpgradePreset NAME preset to evaluate (raw|default-candidate, default: raw)",
|
|
47
|
-
" --parentUpgradeIntervalMs MS upgrade check interval for treatment run (default: 1000)",
|
|
48
|
-
" --parentUpgradeLeafOnly 0|1 restrict treatment upgrades to leaves (default: 1)",
|
|
49
|
-
" --parentUpgradeMinLevelGain N min tree-level gain for treatment upgrades (default: 2)",
|
|
50
|
-
" --parentUpgradeRootMinLevelGain N min tree-level gain for root treatment targets (default: 3)",
|
|
51
|
-
" --parentUpgradeRootMinSubtreeGain N min level-gain times local branch size for root treatment targets (default: parentUpgradeRootMinLevelGain)",
|
|
52
|
-
" --parentUpgradeNonRootMinLevelGain N min tree-level gain for non-root treatment targets (default: 2)",
|
|
53
|
-
" --parentUpgradeMinFreeSlots N min free slots for treatment upgrade targets (default: 8)",
|
|
54
|
-
" --parentUpgradeRootMinFreeSlots N min free slots for root treatment targets (default: parentUpgradeMinFreeSlots)",
|
|
55
|
-
" --parentUpgradeMaxChildLoadRatio R max child load ratio after accepting treatment child (default: 0.5)",
|
|
56
|
-
" --parentUpgradeRootMaxChildLoadRatio R max root child load ratio after accepting treatment child (default: min(parentUpgradeMaxChildLoadRatio, 0.4))",
|
|
57
|
-
" --parentUpgradeCooldownMs MS cooldown after successful treatment upgrades (default: 5000)",
|
|
58
|
-
" --parentUpgradeFailedBackoffMinMs MS initial backoff after failed probe/shadow rounds (default: 5000)",
|
|
59
|
-
" --parentUpgradeFailedBackoffMaxMs MS max backoff after failed probe/shadow rounds (default: 60000)",
|
|
60
|
-
" --parentUpgradeQuietMs MS min quiet time since parent data before upgrades (default: 5000)",
|
|
61
|
-
" --parentUpgradeRepairQuietMs MS min quiet time since repair before upgrades (default: parentUpgradeQuietMs)",
|
|
62
|
-
" --parentUpgradeMaxPerPeer N max successful treatment upgrades per peer, 0 = unlimited (default: 2)",
|
|
63
|
-
" --parentUpgradeRepairGuard 0|1 skip treatment upgrades while missing data (default: 1)",
|
|
64
|
-
" --parentUpgradeDataGuard 0|1 wait for finite channel completion before treatment upgrades (default: 1)",
|
|
65
|
-
" --parentUpgradeMode MODE treatment upgrade mode (direct|probe|shadow, default: preset-dependent)",
|
|
66
|
-
" --parentUpgradeVerifyStaleRootCapacity 0|1 allow shadow probes against tracker-full root (default: 1 for default-candidate, otherwise 0)",
|
|
67
|
-
" --parentUpgradeStaleRootProbeProbability R base sample for tracker-full root probes per peer (default: 0.015625, default-candidate: 0.00390625)",
|
|
68
|
-
" --parentProbeTimeoutMs MS timeout for probe-mode parent checks (default: 500)",
|
|
69
|
-
" --parentProbeMaxPerRound N max probe-mode candidates per upgrade check (default: 2)",
|
|
70
|
-
" --parentProbeMaxLagMessages N max sequence lag for probe-mode candidates (default: 0)",
|
|
71
|
-
" --parentProbeRejectCooldownMs MS cooldown after rejected parent probes (default: 10000)",
|
|
72
|
-
" --parentProbeRejectCooldownMaxMs MS max adaptive cooldown after rejected parent probes (default: 60000)",
|
|
73
|
-
" --parentShadowObserveMs MS min healthy shadow observation window before promotion (default: 2000)",
|
|
74
|
-
" --parentShadowMinObservations N min successful shadow observations before promotion (default: 2)",
|
|
75
|
-
" --parentShadowDualPathMs MS keep old parent during active-flow shadow cutover until candidate data is observed (default: 5000 for default-candidate, otherwise 0)",
|
|
76
|
-
" --parentShadowDualPathMinMessages N min candidate data messages before active-flow cutover (default: 32 for default-candidate, otherwise 1)",
|
|
77
|
-
];
|
|
78
|
-
export const defaultCandidateArgs = (...args) => [
|
|
79
|
-
"--parentUpgradePreset",
|
|
80
|
-
DEFAULT_CANDIDATE_PRESET,
|
|
81
|
-
...args,
|
|
82
|
-
];
|
|
83
|
-
export const parentUpgradeRuntimeOptions = (config, enabled = true) => Object.fromEntries(PARENT_UPGRADE_RUNTIME_OPTION_KEYS.map((key) => [
|
|
84
|
-
key,
|
|
85
|
-
key === "parentUpgradeIntervalMs" && !enabled ? 0 : config[key],
|
|
86
|
-
]));
|
|
87
|
-
export const parseBool01 = (value, fallback) => {
|
|
88
|
-
if (value === undefined)
|
|
89
|
-
return fallback;
|
|
90
|
-
return value === "1";
|
|
91
|
-
};
|
|
92
|
-
export const parseCsvNumbers = (value, fallback) => {
|
|
93
|
-
if (!value)
|
|
94
|
-
return [...fallback];
|
|
95
|
-
const parsed = value
|
|
96
|
-
.split(",")
|
|
97
|
-
.map((part) => Number(part.trim()))
|
|
98
|
-
.filter((part) => Number.isFinite(part));
|
|
99
|
-
return parsed.length > 0 ? parsed : [...fallback];
|
|
100
|
-
};
|
|
101
|
-
export const ratioLimit = (baseline, ratio, absoluteSlack = 1e-9) => Math.max(absoluteSlack, baseline * ratio + absoluteSlack);
|
|
102
|
-
export const avgFinite = (values) => {
|
|
103
|
-
const finite = values.filter((value) => Number.isFinite(value));
|
|
104
|
-
return finite.length === 0
|
|
105
|
-
? NaN
|
|
106
|
-
: finite.reduce((sum, value) => sum + value, 0) / finite.length;
|
|
107
|
-
};
|
|
108
|
-
export const maxFinite = (values) => {
|
|
109
|
-
const finite = values.filter((value) => Number.isFinite(value));
|
|
110
|
-
return finite.length === 0 ? NaN : Math.max(...finite);
|
|
111
|
-
};
|
|
112
|
-
export const fmt = (value, digits = 2) => Number.isFinite(value) ? value.toFixed(digits) : "NaN";
|
|
113
|
-
export const parseParentUpgradePreset = (value) => {
|
|
114
|
-
const preset = value ?? "raw";
|
|
115
|
-
if (preset !== "raw" && preset !== DEFAULT_CANDIDATE_PRESET) {
|
|
116
|
-
throw new Error(`Unknown parent upgrade preset: ${preset}`);
|
|
117
|
-
}
|
|
118
|
-
return preset;
|
|
119
|
-
};
|
|
120
|
-
export const isDefaultCandidatePreset = (preset) => preset === DEFAULT_CANDIDATE_PRESET;
|
|
121
|
-
export const defaultEvidenceLimitsForPreset = (preset, harness) => {
|
|
122
|
-
const defaultCandidate = isDefaultCandidatePreset(preset);
|
|
123
|
-
return {
|
|
124
|
-
maxProbePerUpgrade: defaultCandidate ? (harness === "multi" ? 8 : 5) : 2,
|
|
125
|
-
maxRootChildrenDelta: defaultCandidate ? 2 : 4,
|
|
126
|
-
maxRootUploadPctDelta: 1,
|
|
127
|
-
};
|
|
128
|
-
};
|
|
129
|
-
export const parseParentUpgradePresetConfig = (get) => {
|
|
130
|
-
const parentUpgradePreset = parseParentUpgradePreset(get("--parentUpgradePreset"));
|
|
131
|
-
const defaultCandidate = isDefaultCandidatePreset(parentUpgradePreset);
|
|
132
|
-
const parentUpgradeQuietMs = Number(get("--parentUpgradeQuietMs") ?? 5_000);
|
|
133
|
-
const parentUpgradeMaxChildLoadRatio = Number(get("--parentUpgradeMaxChildLoadRatio") ?? 0.5);
|
|
134
|
-
const parentUpgradeRootMinLevelGain = Number(get("--parentUpgradeRootMinLevelGain") ?? 3);
|
|
135
|
-
const parentUpgradeMinFreeSlots = Number(get("--parentUpgradeMinFreeSlots") ?? 8);
|
|
136
|
-
const parentUpgradeRootMaxChildLoadRatio = Number(get("--parentUpgradeRootMaxChildLoadRatio") ??
|
|
137
|
-
Math.min(parentUpgradeMaxChildLoadRatio, 0.4));
|
|
138
|
-
const parentUpgradeModeRaw = get("--parentUpgradeMode");
|
|
139
|
-
const parentUpgradeMode = parentUpgradeModeRaw === "probe" || parentUpgradeModeRaw === "shadow"
|
|
140
|
-
? parentUpgradeModeRaw
|
|
141
|
-
: parentUpgradeModeRaw === "direct"
|
|
142
|
-
? "direct"
|
|
143
|
-
: defaultCandidate
|
|
144
|
-
? "shadow"
|
|
145
|
-
: "direct";
|
|
146
|
-
return {
|
|
147
|
-
parentUpgradePreset,
|
|
148
|
-
parentUpgradeIntervalMs: Number(get("--parentUpgradeIntervalMs") ?? 1_000),
|
|
149
|
-
parentUpgradeLeafOnly: parseBool01(get("--parentUpgradeLeafOnly"), true),
|
|
150
|
-
parentUpgradeMinLevelGain: Number(get("--parentUpgradeMinLevelGain") ?? 2),
|
|
151
|
-
parentUpgradeRootMinLevelGain,
|
|
152
|
-
parentUpgradeRootMinSubtreeGain: Number(get("--parentUpgradeRootMinSubtreeGain") ?? parentUpgradeRootMinLevelGain),
|
|
153
|
-
parentUpgradeNonRootMinLevelGain: Number(get("--parentUpgradeNonRootMinLevelGain") ?? 2),
|
|
154
|
-
parentUpgradeMinFreeSlots,
|
|
155
|
-
parentUpgradeRootMinFreeSlots: Number(get("--parentUpgradeRootMinFreeSlots") ?? parentUpgradeMinFreeSlots),
|
|
156
|
-
parentUpgradeMaxChildLoadRatio,
|
|
157
|
-
parentUpgradeRootMaxChildLoadRatio,
|
|
158
|
-
parentUpgradeCooldownMs: Number(get("--parentUpgradeCooldownMs") ?? 5_000),
|
|
159
|
-
parentUpgradeFailedBackoffMinMs: Number(get("--parentUpgradeFailedBackoffMinMs") ?? 5_000),
|
|
160
|
-
parentUpgradeFailedBackoffMaxMs: Number(get("--parentUpgradeFailedBackoffMaxMs") ?? 60_000),
|
|
161
|
-
parentUpgradeQuietMs,
|
|
162
|
-
parentUpgradeRepairQuietMs: Number(get("--parentUpgradeRepairQuietMs") ?? parentUpgradeQuietMs),
|
|
163
|
-
parentUpgradeMaxPerPeer: Number(get("--parentUpgradeMaxPerPeer") ?? 2),
|
|
164
|
-
parentUpgradeRepairGuard: parseBool01(get("--parentUpgradeRepairGuard"), true),
|
|
165
|
-
parentUpgradeDataGuard: parseBool01(get("--parentUpgradeDataGuard"), true),
|
|
166
|
-
parentUpgradeMode,
|
|
167
|
-
parentUpgradeVerifyStaleRootCapacity: parseBool01(get("--parentUpgradeVerifyStaleRootCapacity"), defaultCandidate),
|
|
168
|
-
parentUpgradeStaleRootProbeProbability: Number(get("--parentUpgradeStaleRootProbeProbability") ??
|
|
169
|
-
(defaultCandidate
|
|
170
|
-
? DEFAULT_CANDIDATE_STALE_ROOT_PROBE_PROBABILITY
|
|
171
|
-
: RAW_STALE_ROOT_PROBE_PROBABILITY)),
|
|
172
|
-
parentProbeTimeoutMs: Number(get("--parentProbeTimeoutMs") ?? 500),
|
|
173
|
-
parentProbeMaxPerRound: Number(get("--parentProbeMaxPerRound") ?? 2),
|
|
174
|
-
parentProbeMaxLagMessages: Number(get("--parentProbeMaxLagMessages") ?? 0),
|
|
175
|
-
parentProbeRejectCooldownMs: Number(get("--parentProbeRejectCooldownMs") ?? 10_000),
|
|
176
|
-
parentProbeRejectCooldownMaxMs: Number(get("--parentProbeRejectCooldownMaxMs") ?? 60_000),
|
|
177
|
-
parentShadowObserveMs: Number(get("--parentShadowObserveMs") ?? 2_000),
|
|
178
|
-
parentShadowMinObservations: Number(get("--parentShadowMinObservations") ?? 2),
|
|
179
|
-
parentShadowDualPathMs: Number(get("--parentShadowDualPathMs") ?? (defaultCandidate ? 5_000 : 0)),
|
|
180
|
-
parentShadowDualPathMinMessages: Number(get("--parentShadowDualPathMinMessages") ?? (defaultCandidate ? 32 : 1)),
|
|
181
|
-
};
|
|
182
|
-
};
|
|
183
|
-
//# sourceMappingURL=fanout-tree-parent-upgrade-preset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fanout-tree-parent-upgrade-preset.js","sourceRoot":"","sources":["../../benchmark/fanout-tree-parent-upgrade-preset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import { InMemoryNetwork } from "@peerbit/libp2p-test-utils/inmemory-libp2p.js";
|
|
2
|
-
export type FanoutTreeSimParams = {
|
|
3
|
-
nodes: number;
|
|
4
|
-
rootIndex: number;
|
|
5
|
-
bootstraps: number;
|
|
6
|
-
bootstrapMaxPeers: number;
|
|
7
|
-
subscribers: number;
|
|
8
|
-
relayFraction: number;
|
|
9
|
-
messages: number;
|
|
10
|
-
secondBatchMessages: number;
|
|
11
|
-
secondBatchSettleMs: number;
|
|
12
|
-
msgRate: number;
|
|
13
|
-
msgSize: number;
|
|
14
|
-
intervalMs: number;
|
|
15
|
-
settleMs: number;
|
|
16
|
-
deadlineMs: number;
|
|
17
|
-
maxDataAgeMs: number;
|
|
18
|
-
timeoutMs: number;
|
|
19
|
-
seed: number;
|
|
20
|
-
topic: string;
|
|
21
|
-
rootUploadLimitBps: number;
|
|
22
|
-
rootMaxChildren: number;
|
|
23
|
-
relayUploadLimitBps: number;
|
|
24
|
-
relayMaxChildren: number;
|
|
25
|
-
allowKick: boolean;
|
|
26
|
-
bidPerByte: number;
|
|
27
|
-
bidPerByteRelay: number;
|
|
28
|
-
bidPerByteLeaf: number;
|
|
29
|
-
repair: boolean;
|
|
30
|
-
repairWindowMessages: number;
|
|
31
|
-
repairMaxBackfillMessages: number;
|
|
32
|
-
repairIntervalMs: number;
|
|
33
|
-
repairMaxPerReq: number;
|
|
34
|
-
neighborRepair: boolean;
|
|
35
|
-
neighborRepairPeers: number;
|
|
36
|
-
neighborMeshPeers: number;
|
|
37
|
-
neighborAnnounceIntervalMs: number;
|
|
38
|
-
neighborMeshRefreshIntervalMs: number;
|
|
39
|
-
neighborHaveTtlMs: number;
|
|
40
|
-
neighborRepairBudgetBps: number;
|
|
41
|
-
neighborRepairBurstMs: number;
|
|
42
|
-
streamRxDelayMs: number;
|
|
43
|
-
streamHighWaterMarkBytes: number;
|
|
44
|
-
dialDelayMs: number;
|
|
45
|
-
joinConcurrency: number;
|
|
46
|
-
joinReqTimeoutMs: number;
|
|
47
|
-
candidateShuffleTopK: number;
|
|
48
|
-
candidateScoringMode: "ranked-shuffle" | "ranked-strict" | "weighted";
|
|
49
|
-
parentUpgradeIntervalMs: number;
|
|
50
|
-
parentUpgradeLeafOnly: boolean;
|
|
51
|
-
parentUpgradeMinLevelGain: number;
|
|
52
|
-
parentUpgradeRootMinLevelGain: number;
|
|
53
|
-
parentUpgradeRootMinSubtreeGain: number;
|
|
54
|
-
parentUpgradeNonRootMinLevelGain: number;
|
|
55
|
-
parentUpgradeMinFreeSlots: number;
|
|
56
|
-
parentUpgradeRootMinFreeSlots: number;
|
|
57
|
-
parentUpgradeMaxChildLoadRatio: number;
|
|
58
|
-
parentUpgradeRootMaxChildLoadRatio: number;
|
|
59
|
-
parentUpgradeCooldownMs: number;
|
|
60
|
-
parentUpgradeFailedBackoffMinMs: number;
|
|
61
|
-
parentUpgradeFailedBackoffMaxMs: number;
|
|
62
|
-
parentUpgradeQuietMs: number;
|
|
63
|
-
parentUpgradeRepairQuietMs: number;
|
|
64
|
-
parentUpgradeMaxPerPeer: number;
|
|
65
|
-
parentUpgradeRepairGuard: boolean;
|
|
66
|
-
parentUpgradeDataGuard: boolean;
|
|
67
|
-
parentUpgradeMode: "direct" | "probe" | "shadow";
|
|
68
|
-
parentUpgradeVerifyStaleRootCapacity: boolean;
|
|
69
|
-
parentUpgradeStaleRootProbeProbability: number;
|
|
70
|
-
parentProbeTimeoutMs: number;
|
|
71
|
-
parentProbeMaxPerRound: number;
|
|
72
|
-
parentProbeMaxLagMessages: number;
|
|
73
|
-
parentProbeRejectCooldownMs: number;
|
|
74
|
-
parentProbeRejectCooldownMaxMs: number;
|
|
75
|
-
parentShadowObserveMs: number;
|
|
76
|
-
parentShadowMinObservations: number;
|
|
77
|
-
parentShadowDualPathMs: number;
|
|
78
|
-
parentShadowDualPathMinMessages: number;
|
|
79
|
-
bootstrapEnsureIntervalMs: number;
|
|
80
|
-
trackerQueryIntervalMs: number;
|
|
81
|
-
joinAttemptsPerRound: number;
|
|
82
|
-
candidateCooldownMs: number;
|
|
83
|
-
joinPhases: boolean;
|
|
84
|
-
joinPhaseSettleMs: number;
|
|
85
|
-
lateRootConnectAfterMs: number;
|
|
86
|
-
lateRootDuringPublish: boolean;
|
|
87
|
-
lateRootMaxChildren: number;
|
|
88
|
-
lateRootConnectFraction: number;
|
|
89
|
-
maxLatencySamples: number;
|
|
90
|
-
profile: boolean;
|
|
91
|
-
progress: boolean;
|
|
92
|
-
progressEveryMs: number;
|
|
93
|
-
dropDataFrameRate: number;
|
|
94
|
-
churnEveryMs: number;
|
|
95
|
-
churnDownMs: number;
|
|
96
|
-
churnFraction: number;
|
|
97
|
-
assertMinJoinedPct: number;
|
|
98
|
-
assertMinDeliveryPct: number;
|
|
99
|
-
assertMinDeadlineDeliveryPct: number;
|
|
100
|
-
assertMaxUploadFracPct: number;
|
|
101
|
-
assertMaxOverheadFactor: number;
|
|
102
|
-
assertMaxControlBpp: number;
|
|
103
|
-
assertMaxTrackerBpp: number;
|
|
104
|
-
assertMaxTrackerBytes: number;
|
|
105
|
-
assertMaxRepairBpp: number;
|
|
106
|
-
assertAttachP95Ms: number;
|
|
107
|
-
assertMaxTreeLevelP95: number;
|
|
108
|
-
assertMaxFormationScore: number;
|
|
109
|
-
assertMinReparentUpgradeTotal: number;
|
|
110
|
-
assertMinActiveShadowPromoteTotal: number;
|
|
111
|
-
assertMaxOrphans: number;
|
|
112
|
-
assertRecoveryP95Ms: number;
|
|
113
|
-
assertMaxReparentsPerMin: number;
|
|
114
|
-
assertMaxOrphanArea: number;
|
|
115
|
-
};
|
|
116
|
-
export type FanoutTreeSimResult = {
|
|
117
|
-
params: FanoutTreeSimParams;
|
|
118
|
-
bootstrapCount: number;
|
|
119
|
-
subscriberCount: number;
|
|
120
|
-
relayCount: number;
|
|
121
|
-
joinedCount: number;
|
|
122
|
-
joinedPct: number;
|
|
123
|
-
joinMs: number;
|
|
124
|
-
attachSamples: number;
|
|
125
|
-
attachP50: number;
|
|
126
|
-
attachP95: number;
|
|
127
|
-
attachP99: number;
|
|
128
|
-
attachMax: number;
|
|
129
|
-
formationTreeMaxLevel: number;
|
|
130
|
-
formationTreeLevelP95: number;
|
|
131
|
-
formationTreeLevelAvg: number;
|
|
132
|
-
formationTreeOrphans: number;
|
|
133
|
-
formationTreeChildrenP95: number;
|
|
134
|
-
formationTreeChildrenMax: number;
|
|
135
|
-
formationTreeRootChildren: number;
|
|
136
|
-
formationUnderlayEdges: number;
|
|
137
|
-
formationUnderlayDistP95: number;
|
|
138
|
-
formationUnderlayDistMax: number;
|
|
139
|
-
formationStretchP95: number;
|
|
140
|
-
formationStretchMax: number;
|
|
141
|
-
formationScore: number;
|
|
142
|
-
publishMs: number;
|
|
143
|
-
expected: number;
|
|
144
|
-
delivered: number;
|
|
145
|
-
deliveredPct: number;
|
|
146
|
-
deliveredWithinDeadline: number;
|
|
147
|
-
deliveredWithinDeadlinePct: number;
|
|
148
|
-
duplicates: number;
|
|
149
|
-
secondBatchExpected: number;
|
|
150
|
-
secondBatchDelivered: number;
|
|
151
|
-
secondBatchDeliveredPct: number;
|
|
152
|
-
secondBatchDeliveredWithinDeadline: number;
|
|
153
|
-
secondBatchDeliveredWithinDeadlinePct: number;
|
|
154
|
-
secondBatchLatencySamples: number;
|
|
155
|
-
secondBatchLatencyP50: number;
|
|
156
|
-
secondBatchLatencyP95: number;
|
|
157
|
-
secondBatchLatencyP99: number;
|
|
158
|
-
secondBatchLatencyMax: number;
|
|
159
|
-
secondBatchLatencyP95ByHash: Record<string, number>;
|
|
160
|
-
latencySamples: number;
|
|
161
|
-
latencyP50: number;
|
|
162
|
-
latencyP95: number;
|
|
163
|
-
latencyP99: number;
|
|
164
|
-
latencyMax: number;
|
|
165
|
-
droppedForwardsTotal: number;
|
|
166
|
-
droppedForwardsMax: number;
|
|
167
|
-
droppedForwardsMaxNode?: string;
|
|
168
|
-
staleForwardsDroppedTotal: number;
|
|
169
|
-
staleForwardsDroppedMax: number;
|
|
170
|
-
staleForwardsDroppedMaxNode?: string;
|
|
171
|
-
dataWriteDropsTotal: number;
|
|
172
|
-
dataWriteDropsMax: number;
|
|
173
|
-
dataWriteDropsMaxNode?: string;
|
|
174
|
-
reparentDisconnectTotal: number;
|
|
175
|
-
reparentStaleTotal: number;
|
|
176
|
-
reparentKickedTotal: number;
|
|
177
|
-
publishActiveReparentUpgradeTotal: number;
|
|
178
|
-
publishActiveReparentUpgradeSkipDataTotal: number;
|
|
179
|
-
publishActiveReparentUpgradeSkipRepairTotal: number;
|
|
180
|
-
publishActiveReparentUpgradeSkipQuietTotal: number;
|
|
181
|
-
publishActiveParentProbeReqSentTotal: number;
|
|
182
|
-
publishActiveParentShadowStartTotal: number;
|
|
183
|
-
publishActiveParentShadowPromoteTotal: number;
|
|
184
|
-
reparentUpgradeTotal: number;
|
|
185
|
-
upgradedPeerHashes: string[];
|
|
186
|
-
upgradedBranchPeerHashes: string[];
|
|
187
|
-
reparentUpgradeSkipLeafTotal: number;
|
|
188
|
-
reparentUpgradeSkipRepairTotal: number;
|
|
189
|
-
reparentUpgradeSkipDataTotal: number;
|
|
190
|
-
reparentUpgradeSkipCooldownTotal: number;
|
|
191
|
-
reparentUpgradeSkipQuietTotal: number;
|
|
192
|
-
reparentUpgradeSkipBudgetTotal: number;
|
|
193
|
-
reparentUpgradeSkipCandidateLevelTotal: number;
|
|
194
|
-
reparentUpgradeSkipCandidateSlotsTotal: number;
|
|
195
|
-
reparentUpgradeSkipCandidatePressureTotal: number;
|
|
196
|
-
reparentUpgradeSkipRootPressureTotal: number;
|
|
197
|
-
reparentUpgradeSkipProbeNoReplyTotal: number;
|
|
198
|
-
reparentUpgradeSkipProbeNotRootedTotal: number;
|
|
199
|
-
reparentUpgradeSkipProbeRepairTotal: number;
|
|
200
|
-
reparentUpgradeSkipProbeLagTotal: number;
|
|
201
|
-
reparentUpgradeSkipProbeOverloadedTotal: number;
|
|
202
|
-
reparentUpgradeSkipProbeCooldownTotal: number;
|
|
203
|
-
parentProbeReqSentTotal: number;
|
|
204
|
-
parentProbeReqReceivedTotal: number;
|
|
205
|
-
parentProbeReplySentTotal: number;
|
|
206
|
-
parentProbeReplyReceivedTotal: number;
|
|
207
|
-
parentUpgradeRootReservationCreatedTotal: number;
|
|
208
|
-
parentUpgradeRootReservationConsumedTotal: number;
|
|
209
|
-
parentUpgradeRootReservationRejectedTotal: number;
|
|
210
|
-
parentUpgradeRootReservationMarginRejectedTotal: number;
|
|
211
|
-
parentUpgradeRootReservationBlockedTotal: number;
|
|
212
|
-
parentUpgradeRootReservationExpiredTotal: number;
|
|
213
|
-
parentShadowStartTotal: number;
|
|
214
|
-
parentShadowObserveTotal: number;
|
|
215
|
-
parentShadowPromoteTotal: number;
|
|
216
|
-
parentShadowResetTotal: number;
|
|
217
|
-
parentShadowRejectNoReplyTotal: number;
|
|
218
|
-
parentShadowRejectNotRootedTotal: number;
|
|
219
|
-
parentShadowRejectCapacityTotal: number;
|
|
220
|
-
parentShadowRejectRepairTotal: number;
|
|
221
|
-
parentShadowRejectLagTotal: number;
|
|
222
|
-
parentShadowRejectOverloadedTotal: number;
|
|
223
|
-
parentShadowRejectLevelTotal: number;
|
|
224
|
-
treeMaxLevel: number;
|
|
225
|
-
treeLevelP95: number;
|
|
226
|
-
treeLevelAvg: number;
|
|
227
|
-
treeOrphans: number;
|
|
228
|
-
treeChildrenP95: number;
|
|
229
|
-
treeChildrenMax: number;
|
|
230
|
-
treeRootChildren: number;
|
|
231
|
-
maxUploadBps: number;
|
|
232
|
-
maxUploadFracPct: number;
|
|
233
|
-
maxUploadNode?: string;
|
|
234
|
-
rootUploadBps: number;
|
|
235
|
-
rootUploadFracPct: number;
|
|
236
|
-
streamQueuedBytesTotal: number;
|
|
237
|
-
streamQueuedBytesMax: number;
|
|
238
|
-
streamQueuedBytesP95: number;
|
|
239
|
-
streamQueuedBytesMaxNode?: string;
|
|
240
|
-
streamQueuedBytesByLane: number[];
|
|
241
|
-
churnEvents: number;
|
|
242
|
-
churnedPeersTotal: number;
|
|
243
|
-
maintDurationMs: number;
|
|
244
|
-
maintSamples: number;
|
|
245
|
-
maintMaxOrphans: number;
|
|
246
|
-
maintOrphanArea: number;
|
|
247
|
-
maintRecoveryCount: number;
|
|
248
|
-
maintRecoveryP50Ms: number;
|
|
249
|
-
maintRecoveryP95Ms: number;
|
|
250
|
-
maintReparentsPerMin: number;
|
|
251
|
-
maintMaxReparentsPerPeer: number;
|
|
252
|
-
maintLevelP95DriftMax: number;
|
|
253
|
-
maintChildrenP95DriftMax: number;
|
|
254
|
-
overheadFactorData: number;
|
|
255
|
-
controlBpp: number;
|
|
256
|
-
trackerBpp: number;
|
|
257
|
-
repairBpp: number;
|
|
258
|
-
earningsTotal: number;
|
|
259
|
-
earningsRelayCount: number;
|
|
260
|
-
earningsRelayP50: number;
|
|
261
|
-
earningsRelayP95: number;
|
|
262
|
-
earningsRelayMax: number;
|
|
263
|
-
protocolControlSends: number;
|
|
264
|
-
protocolControlBytesSent: number;
|
|
265
|
-
protocolControlBytesSentJoin: number;
|
|
266
|
-
protocolControlBytesSentRepair: number;
|
|
267
|
-
protocolControlBytesSentTracker: number;
|
|
268
|
-
protocolControlReceives: number;
|
|
269
|
-
protocolControlBytesReceived: number;
|
|
270
|
-
protocolDataSends: number;
|
|
271
|
-
protocolDataPayloadBytesSent: number;
|
|
272
|
-
protocolDataReceives: number;
|
|
273
|
-
protocolDataPayloadBytesReceived: number;
|
|
274
|
-
protocolRepairReqSent: number;
|
|
275
|
-
protocolFetchReqSent: number;
|
|
276
|
-
protocolIHaveSent: number;
|
|
277
|
-
protocolTrackerAnnounceSent: number;
|
|
278
|
-
protocolTrackerQuerySent: number;
|
|
279
|
-
protocolTrackerReplySent: number;
|
|
280
|
-
protocolTrackerFeedbackSent: number;
|
|
281
|
-
protocolCacheHitsServed: number;
|
|
282
|
-
protocolHoleFillsFromNeighbor: number;
|
|
283
|
-
protocolRouteCacheHits: number;
|
|
284
|
-
protocolRouteCacheMisses: number;
|
|
285
|
-
protocolRouteCacheExpirations: number;
|
|
286
|
-
protocolRouteCacheEvictions: number;
|
|
287
|
-
protocolRouteProxyQueries: number;
|
|
288
|
-
protocolRouteProxyTimeouts: number;
|
|
289
|
-
protocolRouteProxyFanout: number;
|
|
290
|
-
network: InMemoryNetwork["metrics"];
|
|
291
|
-
profile?: {
|
|
292
|
-
cpuUserMs: number;
|
|
293
|
-
cpuSystemMs: number;
|
|
294
|
-
rssMb: number;
|
|
295
|
-
heapUsedMb: number;
|
|
296
|
-
eventLoopDelayP95Ms: number;
|
|
297
|
-
eventLoopDelayMaxMs: number;
|
|
298
|
-
};
|
|
299
|
-
};
|
|
300
|
-
export declare const resolveFanoutTreeSimParams: (input: Partial<FanoutTreeSimParams>) => FanoutTreeSimParams;
|
|
301
|
-
export declare const formatFanoutTreeSimResult: (r: FanoutTreeSimResult) => string;
|
|
302
|
-
export declare const runFanoutTreeSim: (input: Partial<FanoutTreeSimParams>) => Promise<FanoutTreeSimResult>;
|
|
303
|
-
//# sourceMappingURL=fanout-tree-sim-lib.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fanout-tree-sim-lib.d.ts","sourceRoot":"","sources":["../../benchmark/fanout-tree-sim-lib.ts"],"names":[],"mappings":"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"}
|