@lodestar/beacon-node 1.30.0-dev.7faa773766 → 1.30.0-dev.8cb53e44d3
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/README.md +1 -1
- package/lib/api/impl/beacon/blocks/index.d.ts +1 -1
- package/lib/api/impl/beacon/blocks/index.js +4 -2
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/blocks/utils.js +1 -1
- package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +1 -1
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.js +14 -9
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.js +2 -2
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/proof/index.js +4 -2
- package/lib/api/impl/proof/index.js.map +1 -1
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/archiveStore.d.ts +0 -1
- package/lib/chain/archiveStore/archiveStore.js +14 -13
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +0 -2
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/archiveStore/interface.d.ts +1 -0
- package/lib/chain/archiveStore/utils/archiveBlocks.js +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/beaconProposerCache.d.ts +1 -3
- package/lib/chain/beaconProposerCache.js +1 -2
- package/lib/chain/beaconProposerCache.js.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.d.ts +164 -0
- package/lib/chain/blocks/blockInput/blockInput.js +522 -0
- package/lib/chain/blocks/blockInput/blockInput.js.map +1 -0
- package/lib/chain/blocks/blockInput/errors.d.ts +38 -0
- package/lib/chain/blocks/blockInput/errors.js +17 -0
- package/lib/chain/blocks/blockInput/errors.js.map +1 -0
- package/lib/chain/blocks/blockInput/index.d.ts +4 -0
- package/lib/chain/blocks/blockInput/index.js +4 -0
- package/lib/chain/blocks/blockInput/index.js.map +1 -0
- package/lib/chain/blocks/blockInput/types.d.ts +116 -0
- package/lib/chain/blocks/blockInput/types.js +19 -0
- package/lib/chain/blocks/blockInput/types.js.map +1 -0
- package/lib/chain/bls/multithread/index.d.ts +1 -1
- package/lib/chain/bls/multithread/index.js +1 -3
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/bls/multithread/jobItem.d.ts +1 -1
- package/lib/chain/bls/multithread/jobItem.js +4 -12
- package/lib/chain/bls/multithread/jobItem.js.map +1 -1
- package/lib/chain/bls/multithread/worker.js +0 -1
- package/lib/chain/bls/multithread/worker.js.map +1 -1
- package/lib/chain/chain.d.ts +23 -0
- package/lib/chain/chain.js +5 -7
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/options.js +1 -0
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/regen/queued.d.ts +0 -1
- package/lib/chain/regen/queued.js +0 -1
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/validatorMonitor.d.ts +3 -3
- package/lib/chain/validatorMonitor.js +273 -56
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts +0 -3
- package/lib/execution/engine/payloadIdCache.js +1 -2
- package/lib/execution/engine/payloadIdCache.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +4 -68
- package/lib/metrics/metrics/lodestar.js +5 -215
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/monitoring/system.js +0 -1
- package/lib/monitoring/system.js.map +1 -1
- package/lib/network/core/metrics.d.ts +1 -0
- package/lib/network/core/metrics.js +4 -0
- package/lib/network/core/metrics.js.map +1 -1
- package/lib/network/core/networkCore.d.ts +3 -1
- package/lib/network/core/networkCore.js +17 -21
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts +6 -4
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/core/types.d.ts +1 -1
- package/lib/network/gossip/topic.d.ts +181 -152
- package/lib/network/libp2p/index.js +1 -1
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/network.d.ts +0 -1
- package/lib/network/network.js +2 -3
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.d.ts +18 -0
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/discover.d.ts +0 -4
- package/lib/network/peers/discover.js +1 -3
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts +1 -0
- package/lib/network/peers/peerManager.js +26 -4
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/peersData.d.ts +2 -1
- package/lib/network/peers/peersData.js.map +1 -1
- package/lib/network/peers/score/interface.d.ts +1 -1
- package/lib/network/peers/score/interface.js.map +1 -1
- package/lib/network/peers/score/store.d.ts +2 -1
- package/lib/network/peers/score/store.js +1 -1
- package/lib/network/peers/score/store.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +21 -1
- package/lib/network/peers/utils/prioritizePeers.js +49 -2
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +3 -1
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/index.d.ts +1 -1
- package/lib/network/processor/index.js.map +1 -1
- package/lib/node/nodejs.js +1 -1
- package/lib/node/nodejs.js.map +1 -1
- package/lib/util/kzg.js +0 -2
- package/lib/util/kzg.js.map +1 -1
- package/package.json +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queued.js","sourceRoot":"","sources":["../../../src/chain/regen/queued.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAEzF,OAAO,EAAS,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAgB,eAAe,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"queued.js","sourceRoot":"","sources":["../../../src/chain/regen/queued.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seenAttestationData.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttestationData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seenAttestationData.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttestationData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { BeaconBlock, RootHex, SubnetID, altair, deneb } from "@lodestar/types";
|
|
|
4
4
|
import { Epoch, Slot, ValidatorIndex } from "@lodestar/types";
|
|
5
5
|
import { IndexedAttestation, SignedAggregateAndProof } from "@lodestar/types";
|
|
6
6
|
import { Logger } from "@lodestar/utils";
|
|
7
|
-
import {
|
|
7
|
+
import { RegistryMetricCreator } from "../metrics/index.js";
|
|
8
8
|
type Seconds = number;
|
|
9
9
|
export declare enum OpSource {
|
|
10
10
|
api = "api",
|
|
@@ -14,7 +14,7 @@ export type ValidatorMonitor = {
|
|
|
14
14
|
registerLocalValidator(index: number): void;
|
|
15
15
|
registerLocalValidatorInSyncCommittee(index: number, untilEpoch: Epoch): void;
|
|
16
16
|
registerValidatorStatuses(currentEpoch: Epoch, inclusionDelays: number[], flags: number[], isActiveCurrEpoch: boolean[], isActivePrevEpoch: boolean[], balances?: number[]): void;
|
|
17
|
-
registerBeaconBlock(src: OpSource,
|
|
17
|
+
registerBeaconBlock(src: OpSource, delaySec: Seconds, block: BeaconBlock): void;
|
|
18
18
|
registerBlobSidecar(src: OpSource, seenTimestampSec: Seconds, blob: deneb.BlobSidecar): void;
|
|
19
19
|
registerImportedBlock(block: BeaconBlock, data: {
|
|
20
20
|
proposerBalanceDelta: number;
|
|
@@ -34,7 +34,7 @@ export type ValidatorMonitorOpts = {
|
|
|
34
34
|
validatorMonitorLogs?: boolean;
|
|
35
35
|
};
|
|
36
36
|
export declare const defaultValidatorMonitorOpts: ValidatorMonitorOpts;
|
|
37
|
-
export declare function createValidatorMonitor(
|
|
37
|
+
export declare function createValidatorMonitor(metricsRegister: RegistryMetricCreator | null, config: ChainForkConfig, genesisTime: number, logger: Logger, opts: ValidatorMonitorOpts): ValidatorMonitor;
|
|
38
38
|
/**
|
|
39
39
|
* Cache to prevent accessing the state tree to fetch block roots repeteadly.
|
|
40
40
|
* In normal network conditions the same root is read multiple times, specially the target.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ForkSeq, INTERVALS_PER_SLOT, MIN_ATTESTATION_INCLUSION_DELAY, SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
2
|
-
import { computeEpochAtSlot, computeStartSlotAtEpoch, getBlockRootAtSlot, parseAttesterFlags, parseParticipationFlags, } from "@lodestar/state-transition";
|
|
2
|
+
import { computeEpochAtSlot, computeStartSlotAtEpoch, getBlockRootAtSlot, getCurrentSlot, parseAttesterFlags, parseParticipationFlags, } from "@lodestar/state-transition";
|
|
3
3
|
import { LogLevel, MapDef, MapDefMax, toRootHex } from "@lodestar/utils";
|
|
4
4
|
import { GENESIS_SLOT } from "../constants/constants.js";
|
|
5
5
|
/** The validator monitor collects per-epoch data about each monitored validator.
|
|
@@ -68,7 +68,7 @@ function getEpochSummary(validator, epoch) {
|
|
|
68
68
|
}
|
|
69
69
|
return summary;
|
|
70
70
|
}
|
|
71
|
-
export function createValidatorMonitor(
|
|
71
|
+
export function createValidatorMonitor(metricsRegister, config, genesisTime, logger, opts) {
|
|
72
72
|
const logLevel = opts.validatorMonitorLogs ? LogLevel.info : LogLevel.debug;
|
|
73
73
|
const log = (message, context) => {
|
|
74
74
|
logger[logLevel](message, context);
|
|
@@ -86,7 +86,8 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
86
86
|
lastRegisteredTimeMs: 0,
|
|
87
87
|
}));
|
|
88
88
|
let lastRegisteredStatusEpoch = -1;
|
|
89
|
-
|
|
89
|
+
const validatorMonitorMetrics = metricsRegister ? createValidatorMonitorMetrics(metricsRegister) : null;
|
|
90
|
+
const validatorMonitor = {
|
|
90
91
|
registerLocalValidator(index) {
|
|
91
92
|
validators.getOrDefault(index).lastRegisteredTimeMs = Date.now();
|
|
92
93
|
},
|
|
@@ -115,31 +116,31 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
115
116
|
// statuses.
|
|
116
117
|
const summary = statusToSummary(inclusionDelays[index], flags[index], isActiveCurrEpoch[index], isActiveInPrevEpoch[index]);
|
|
117
118
|
if (summary.isPrevSourceAttester) {
|
|
118
|
-
|
|
119
|
+
validatorMonitorMetrics?.prevEpochOnChainSourceAttesterHit.inc();
|
|
119
120
|
}
|
|
120
121
|
else {
|
|
121
|
-
|
|
122
|
+
validatorMonitorMetrics?.prevEpochOnChainSourceAttesterMiss.inc();
|
|
122
123
|
}
|
|
123
124
|
if (summary.isPrevHeadAttester) {
|
|
124
|
-
|
|
125
|
+
validatorMonitorMetrics?.prevEpochOnChainHeadAttesterHit.inc();
|
|
125
126
|
}
|
|
126
127
|
else {
|
|
127
|
-
|
|
128
|
+
validatorMonitorMetrics?.prevEpochOnChainHeadAttesterMiss.inc();
|
|
128
129
|
}
|
|
129
130
|
if (summary.isPrevTargetAttester) {
|
|
130
|
-
|
|
131
|
+
validatorMonitorMetrics?.prevEpochOnChainTargetAttesterHit.inc();
|
|
131
132
|
}
|
|
132
133
|
else {
|
|
133
|
-
|
|
134
|
+
validatorMonitorMetrics?.prevEpochOnChainTargetAttesterMiss.inc();
|
|
134
135
|
}
|
|
135
136
|
const prevEpochSummary = monitoredValidator.summaries.get(previousEpoch);
|
|
136
137
|
const attestationCorrectHead = prevEpochSummary?.attestationCorrectHead;
|
|
137
138
|
if (attestationCorrectHead !== null && attestationCorrectHead !== undefined) {
|
|
138
139
|
if (attestationCorrectHead) {
|
|
139
|
-
|
|
140
|
+
validatorMonitorMetrics?.prevOnChainAttesterCorrectHead.inc();
|
|
140
141
|
}
|
|
141
142
|
else {
|
|
142
|
-
|
|
143
|
+
validatorMonitorMetrics?.prevOnChainAttesterIncorrectHead.inc();
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
146
|
const attestationMinBlockInclusionDistance = prevEpochSummary?.attestationMinBlockInclusionDistance;
|
|
@@ -151,15 +152,15 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
151
152
|
summary.inclusionDistance
|
|
152
153
|
: null;
|
|
153
154
|
if (inclusionDistance !== null) {
|
|
154
|
-
|
|
155
|
-
|
|
155
|
+
validatorMonitorMetrics?.prevEpochOnChainInclusionDistance.observe(inclusionDistance);
|
|
156
|
+
validatorMonitorMetrics?.prevEpochOnChainAttesterHit.inc();
|
|
156
157
|
}
|
|
157
158
|
else {
|
|
158
|
-
|
|
159
|
+
validatorMonitorMetrics?.prevEpochOnChainAttesterMiss.inc();
|
|
159
160
|
}
|
|
160
161
|
const balance = balances?.[index];
|
|
161
162
|
if (balance !== undefined) {
|
|
162
|
-
|
|
163
|
+
validatorMonitorMetrics?.prevEpochOnChainBalance.set({ index }, balance);
|
|
163
164
|
}
|
|
164
165
|
if (!summary.isPrevSourceAttester || !summary.isPrevTargetAttester || !summary.isPrevHeadAttester) {
|
|
165
166
|
log("Failed attestation in previous epoch", {
|
|
@@ -174,14 +175,12 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
174
175
|
}
|
|
175
176
|
}
|
|
176
177
|
},
|
|
177
|
-
registerBeaconBlock(src,
|
|
178
|
+
registerBeaconBlock(src, delaySec, block) {
|
|
178
179
|
const validator = validators.get(block.proposerIndex);
|
|
179
180
|
// Returns the delay between the start of `block.slot` and `seenTimestamp`.
|
|
180
|
-
const delaySec = seenTimestampSec - (genesisTime + block.slot * config.SECONDS_PER_SLOT);
|
|
181
|
-
metrics?.gossipBlock.elapsedTimeTillReceived.observe(delaySec);
|
|
182
181
|
if (validator) {
|
|
183
|
-
|
|
184
|
-
|
|
182
|
+
validatorMonitorMetrics?.beaconBlockTotal.inc({ src });
|
|
183
|
+
validatorMonitorMetrics?.beaconBlockDelaySeconds.observe({ src }, delaySec);
|
|
185
184
|
const summary = getEpochSummary(validator, computeEpochAtSlot(block.slot));
|
|
186
185
|
summary.blockProposals.push({
|
|
187
186
|
blockRoot: toRootHex(config.getForkTypes(block.slot).BeaconBlock.hashTreeRoot(block)),
|
|
@@ -197,7 +196,7 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
197
196
|
registerImportedBlock(block, { proposerBalanceDelta }) {
|
|
198
197
|
const validator = validators.get(block.proposerIndex);
|
|
199
198
|
if (validator) {
|
|
200
|
-
|
|
199
|
+
validatorMonitorMetrics?.proposerBalanceDeltaKnown.observe(proposerBalanceDelta);
|
|
201
200
|
// There should be alredy a summary for the block. Could be missing when using one VC multiple BNs
|
|
202
201
|
const summary = getEpochSummary(validator, computeEpochAtSlot(block.slot));
|
|
203
202
|
const proposal = summary.blockProposals.find((p) => p.blockSlot === block.slot);
|
|
@@ -221,8 +220,8 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
221
220
|
for (const index of indexedAttestation.attestingIndices) {
|
|
222
221
|
const validator = validators.get(index);
|
|
223
222
|
if (validator) {
|
|
224
|
-
|
|
225
|
-
|
|
223
|
+
validatorMonitorMetrics?.unaggregatedAttestationSubmittedSentPeers.observe(sentPeers);
|
|
224
|
+
validatorMonitorMetrics?.unaggregatedAttestationDelaySeconds.observe({ src: OpSource.api }, delaySec);
|
|
226
225
|
log("Published unaggregated attestation", {
|
|
227
226
|
validator: index,
|
|
228
227
|
slot: data.slot,
|
|
@@ -250,8 +249,8 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
250
249
|
for (const index of indexedAttestation.attestingIndices) {
|
|
251
250
|
const validator = validators.get(index);
|
|
252
251
|
if (validator) {
|
|
253
|
-
|
|
254
|
-
|
|
252
|
+
validatorMonitorMetrics?.unaggregatedAttestationTotal.inc({ src });
|
|
253
|
+
validatorMonitorMetrics?.unaggregatedAttestationDelaySeconds.observe({ src }, delaySec);
|
|
255
254
|
const summary = getEpochSummary(validator, epoch);
|
|
256
255
|
summary.attestations += 1;
|
|
257
256
|
summary.attestationMinDelay = Math.min(delaySec, summary.attestationMinDelay ?? Infinity);
|
|
@@ -265,7 +264,7 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
265
264
|
for (const index of indexedAttestation.attestingIndices) {
|
|
266
265
|
const validator = validators.get(index);
|
|
267
266
|
if (validator) {
|
|
268
|
-
|
|
267
|
+
validatorMonitorMetrics?.aggregatedAttestationDelaySeconds.observe({ src: OpSource.api }, delaySec);
|
|
269
268
|
log("Published aggregated attestation", {
|
|
270
269
|
validator: index,
|
|
271
270
|
slot: data.slot,
|
|
@@ -289,8 +288,8 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
289
288
|
const aggregatorIndex = signedAggregateAndProof.message.aggregatorIndex;
|
|
290
289
|
const validatorAggregator = validators.get(aggregatorIndex);
|
|
291
290
|
if (validatorAggregator) {
|
|
292
|
-
|
|
293
|
-
|
|
291
|
+
validatorMonitorMetrics?.aggregatedAttestationTotal.inc({ src });
|
|
292
|
+
validatorMonitorMetrics?.aggregatedAttestationDelaySeconds.observe({ src }, delaySec);
|
|
294
293
|
const summary = getEpochSummary(validatorAggregator, epoch);
|
|
295
294
|
summary.aggregates += 1;
|
|
296
295
|
summary.aggregateMinDelay = Math.min(delaySec, summary.aggregateMinDelay ?? Infinity);
|
|
@@ -298,8 +297,8 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
298
297
|
for (const index of indexedAttestation.attestingIndices) {
|
|
299
298
|
const validator = validators.get(index);
|
|
300
299
|
if (validator) {
|
|
301
|
-
|
|
302
|
-
|
|
300
|
+
validatorMonitorMetrics?.attestationInAggregateTotal.inc({ src });
|
|
301
|
+
validatorMonitorMetrics?.attestationInAggregateDelaySeconds.observe({ src }, delaySec);
|
|
303
302
|
const summary = getEpochSummary(validator, epoch);
|
|
304
303
|
summary.attestationAggregateInclusions += 1;
|
|
305
304
|
log("Attestation is included in aggregate", {
|
|
@@ -326,9 +325,9 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
326
325
|
for (const index of indexedAttestation.attestingIndices) {
|
|
327
326
|
const validator = validators.get(index);
|
|
328
327
|
if (validator) {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
328
|
+
validatorMonitorMetrics?.attestationInBlockTotal.inc();
|
|
329
|
+
validatorMonitorMetrics?.attestationInBlockDelaySlots.observe(delay);
|
|
330
|
+
validatorMonitorMetrics?.attestationInBlockParticipants.observe(participants);
|
|
332
331
|
const summary = getEpochSummary(validator, epoch);
|
|
333
332
|
summary.attestationBlockInclusions += 1;
|
|
334
333
|
if (summary.attestationMinBlockInclusionDistance !== null) {
|
|
@@ -364,7 +363,7 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
364
363
|
for (const index of syncCommitteeParticipantIndices) {
|
|
365
364
|
const validator = validators.get(index);
|
|
366
365
|
if (validator) {
|
|
367
|
-
|
|
366
|
+
validatorMonitorMetrics?.syncSignatureInAggregateTotal.inc();
|
|
368
367
|
const summary = getEpochSummary(validator, epoch);
|
|
369
368
|
summary.syncSignatureAggregateInclusions += 1;
|
|
370
369
|
}
|
|
@@ -416,7 +415,7 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
416
415
|
const flags = parseParticipationFlags(previousEpochParticipation.get(index));
|
|
417
416
|
const attestationSummary = validator.attestations.get(prevEpoch)?.get(prevEpochTargetRoot);
|
|
418
417
|
const summary = renderAttestationSummary(config, rootCache, attestationSummary, flags);
|
|
419
|
-
|
|
418
|
+
validatorMonitorMetrics?.prevEpochAttestationSummary.inc({ summary });
|
|
420
419
|
log("Previous epoch attestation", {
|
|
421
420
|
validator: index,
|
|
422
421
|
epoch: prevEpoch,
|
|
@@ -433,7 +432,7 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
433
432
|
const epochSummary = validator.summaries.get(prevEpoch);
|
|
434
433
|
const proposalSlot = SLOTS_PER_EPOCH * prevEpoch + slotIndex;
|
|
435
434
|
const summary = renderBlockProposalSummary(config, rootCache, epochSummary, proposalSlot);
|
|
436
|
-
|
|
435
|
+
validatorMonitorMetrics?.prevEpochBlockProposalSummary.inc({ summary });
|
|
437
436
|
log("Previous epoch block proposal", {
|
|
438
437
|
validator: validatorIndex,
|
|
439
438
|
slot: proposalSlot,
|
|
@@ -449,7 +448,7 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
449
448
|
* Should be called whenever Prometheus is scraping.
|
|
450
449
|
*/
|
|
451
450
|
scrapeMetrics(slotClock) {
|
|
452
|
-
|
|
451
|
+
validatorMonitorMetrics?.validatorsConnected.set(validators.size);
|
|
453
452
|
const epoch = computeEpochAtSlot(slotClock);
|
|
454
453
|
const slotInEpoch = slotClock % SLOTS_PER_EPOCH;
|
|
455
454
|
// Only start to report on the current epoch once we've progressed past the point where
|
|
@@ -463,12 +462,12 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
463
462
|
// skip slots on mainnet.
|
|
464
463
|
const previousEpoch = slotInEpoch > MIN_ATTESTATION_INCLUSION_DELAY + 3 ? epoch - 1 : epoch - 2;
|
|
465
464
|
// reset() to mimic the behaviour of an aggregated .set({index})
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
465
|
+
validatorMonitorMetrics?.prevEpochAttestations.reset();
|
|
466
|
+
validatorMonitorMetrics?.prevEpochAttestationsMinDelaySeconds.reset();
|
|
467
|
+
validatorMonitorMetrics?.prevEpochAttestationAggregateInclusions.reset();
|
|
468
|
+
validatorMonitorMetrics?.prevEpochAttestationBlockInclusions.reset();
|
|
469
|
+
validatorMonitorMetrics?.prevEpochAttestationBlockMinInclusionDistance.reset();
|
|
470
|
+
validatorMonitorMetrics?.prevEpochSyncSignatureAggregateInclusions.reset();
|
|
472
471
|
let validatorsInSyncCommittee = 0;
|
|
473
472
|
let prevEpochSyncCommitteeHits = 0;
|
|
474
473
|
let prevEpochSyncCommitteeMisses = 0;
|
|
@@ -484,35 +483,41 @@ export function createValidatorMonitor(metrics, config, genesisTime, logger, opt
|
|
|
484
483
|
continue;
|
|
485
484
|
}
|
|
486
485
|
// Attestations
|
|
487
|
-
|
|
486
|
+
validatorMonitorMetrics?.prevEpochAttestations.observe(summary.attestations);
|
|
488
487
|
if (summary.attestationMinDelay !== null)
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
488
|
+
validatorMonitorMetrics?.prevEpochAttestationsMinDelaySeconds.observe(summary.attestationMinDelay);
|
|
489
|
+
validatorMonitorMetrics?.prevEpochAttestationAggregateInclusions.observe(summary.attestationAggregateInclusions);
|
|
490
|
+
validatorMonitorMetrics?.prevEpochAttestationBlockInclusions.observe(summary.attestationBlockInclusions);
|
|
492
491
|
if (summary.attestationMinBlockInclusionDistance !== null) {
|
|
493
|
-
|
|
492
|
+
validatorMonitorMetrics?.prevEpochAttestationBlockMinInclusionDistance.observe(summary.attestationMinBlockInclusionDistance);
|
|
494
493
|
}
|
|
495
494
|
// Blocks
|
|
496
|
-
|
|
495
|
+
validatorMonitorMetrics?.prevEpochBeaconBlocks.observe(summary.blocks);
|
|
497
496
|
if (summary.blockMinDelay !== null)
|
|
498
|
-
|
|
497
|
+
validatorMonitorMetrics?.prevEpochBeaconBlocksMinDelaySeconds.observe(summary.blockMinDelay);
|
|
499
498
|
// Aggregates
|
|
500
|
-
|
|
499
|
+
validatorMonitorMetrics?.prevEpochAggregatesTotal.observe(summary.aggregates);
|
|
501
500
|
if (summary.aggregateMinDelay !== null)
|
|
502
|
-
|
|
501
|
+
validatorMonitorMetrics?.prevEpochAggregatesMinDelaySeconds.observe(summary.aggregateMinDelay);
|
|
503
502
|
// Sync committee
|
|
504
503
|
prevEpochSyncCommitteeHits += summary.syncCommitteeHits;
|
|
505
504
|
prevEpochSyncCommitteeMisses += summary.syncCommitteeMisses;
|
|
506
505
|
// Only observe if included in sync committee to prevent distorting metrics
|
|
507
506
|
if (validatorInSyncCommittee) {
|
|
508
|
-
|
|
507
|
+
validatorMonitorMetrics?.prevEpochSyncSignatureAggregateInclusions.observe(summary.syncSignatureAggregateInclusions);
|
|
509
508
|
}
|
|
510
509
|
}
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
510
|
+
validatorMonitorMetrics?.validatorsInSyncCommittee.set(validatorsInSyncCommittee);
|
|
511
|
+
validatorMonitorMetrics?.prevEpochSyncCommitteeHits.set(prevEpochSyncCommitteeHits);
|
|
512
|
+
validatorMonitorMetrics?.prevEpochSyncCommitteeMisses.set(prevEpochSyncCommitteeMisses);
|
|
514
513
|
},
|
|
515
514
|
};
|
|
515
|
+
// Register a single collect() function to run all validatorMonitor metrics
|
|
516
|
+
validatorMonitorMetrics?.validatorsConnected.addCollect(() => {
|
|
517
|
+
const clockSlot = getCurrentSlot(config, genesisTime);
|
|
518
|
+
validatorMonitor.scrapeMetrics(clockSlot);
|
|
519
|
+
});
|
|
520
|
+
return validatorMonitor;
|
|
516
521
|
}
|
|
517
522
|
/**
|
|
518
523
|
* Best guess to automatically debug why validators do not achieve expected rewards.
|
|
@@ -724,4 +729,216 @@ export class RootHexCache {
|
|
|
724
729
|
return root;
|
|
725
730
|
}
|
|
726
731
|
}
|
|
732
|
+
function createValidatorMonitorMetrics(register) {
|
|
733
|
+
return {
|
|
734
|
+
validatorsConnected: register.gauge({
|
|
735
|
+
name: "validator_monitor_validators",
|
|
736
|
+
help: "Count of validators that are specifically monitored by this beacon node",
|
|
737
|
+
}),
|
|
738
|
+
validatorsInSyncCommittee: register.gauge({
|
|
739
|
+
name: "validator_monitor_validators_in_sync_committee",
|
|
740
|
+
help: "Count of validators monitored by this beacon node that are part of sync committee",
|
|
741
|
+
}),
|
|
742
|
+
// Validator Monitor Metrics (per-epoch summaries)
|
|
743
|
+
// Only track prevEpochOnChainBalance per index
|
|
744
|
+
prevEpochOnChainBalance: register.gauge({
|
|
745
|
+
name: "validator_monitor_prev_epoch_on_chain_balance",
|
|
746
|
+
help: "Balance of validator after an epoch",
|
|
747
|
+
labelNames: ["index"],
|
|
748
|
+
}),
|
|
749
|
+
prevEpochOnChainAttesterHit: register.gauge({
|
|
750
|
+
name: "validator_monitor_prev_epoch_on_chain_attester_hit_total",
|
|
751
|
+
help: "Incremented if validator's submitted attestation is included in some blocks",
|
|
752
|
+
}),
|
|
753
|
+
prevEpochOnChainAttesterMiss: register.gauge({
|
|
754
|
+
name: "validator_monitor_prev_epoch_on_chain_attester_miss_total",
|
|
755
|
+
help: "Incremented if validator's submitted attestation is not included in any blocks",
|
|
756
|
+
}),
|
|
757
|
+
prevEpochOnChainSourceAttesterHit: register.gauge({
|
|
758
|
+
name: "validator_monitor_prev_epoch_on_chain_source_attester_hit_total",
|
|
759
|
+
help: "Incremented if the validator is flagged as a previous epoch source attester during per epoch processing",
|
|
760
|
+
}),
|
|
761
|
+
prevEpochOnChainSourceAttesterMiss: register.gauge({
|
|
762
|
+
name: "validator_monitor_prev_epoch_on_chain_source_attester_miss_total",
|
|
763
|
+
help: "Incremented if the validator is not flagged as a previous epoch source attester during per epoch processing",
|
|
764
|
+
}),
|
|
765
|
+
prevEpochOnChainHeadAttesterHit: register.gauge({
|
|
766
|
+
name: "validator_monitor_prev_epoch_on_chain_head_attester_hit_total",
|
|
767
|
+
help: "Incremented if the validator is flagged as a previous epoch head attester during per epoch processing",
|
|
768
|
+
}),
|
|
769
|
+
prevEpochOnChainHeadAttesterMiss: register.gauge({
|
|
770
|
+
name: "validator_monitor_prev_epoch_on_chain_head_attester_miss_total",
|
|
771
|
+
help: "Incremented if the validator is not flagged as a previous epoch head attester during per epoch processing",
|
|
772
|
+
}),
|
|
773
|
+
prevOnChainAttesterCorrectHead: register.gauge({
|
|
774
|
+
name: "validator_monitor_prev_epoch_on_chain_attester_correct_head_total",
|
|
775
|
+
help: "Total count of times a validator votes correct head",
|
|
776
|
+
}),
|
|
777
|
+
prevOnChainAttesterIncorrectHead: register.gauge({
|
|
778
|
+
name: "validator_monitor_prev_epoch_on_chain_attester_incorrect_head_total",
|
|
779
|
+
help: "Total count of times a validator votes incorrect head",
|
|
780
|
+
}),
|
|
781
|
+
prevEpochOnChainTargetAttesterHit: register.gauge({
|
|
782
|
+
name: "validator_monitor_prev_epoch_on_chain_target_attester_hit_total",
|
|
783
|
+
help: "Incremented if the validator is flagged as a previous epoch target attester during per epoch processing",
|
|
784
|
+
}),
|
|
785
|
+
prevEpochOnChainTargetAttesterMiss: register.gauge({
|
|
786
|
+
name: "validator_monitor_prev_epoch_on_chain_target_attester_miss_total",
|
|
787
|
+
help: "Incremented if the validator is not flagged as a previous epoch target attester during per epoch processing",
|
|
788
|
+
}),
|
|
789
|
+
prevEpochOnChainInclusionDistance: register.histogram({
|
|
790
|
+
name: "validator_monitor_prev_epoch_on_chain_inclusion_distance",
|
|
791
|
+
help: "The attestation inclusion distance calculated during per epoch processing",
|
|
792
|
+
// min inclusion distance is 1, usual values are 1,2,3 max is 32 (1 epoch)
|
|
793
|
+
buckets: [1, 2, 3, 5, 10, 32],
|
|
794
|
+
}),
|
|
795
|
+
prevEpochAttestations: register.histogram({
|
|
796
|
+
name: "validator_monitor_prev_epoch_attestations",
|
|
797
|
+
help: "The number of unagg. attestations seen in the previous epoch",
|
|
798
|
+
buckets: [0, 1, 2, 3],
|
|
799
|
+
}),
|
|
800
|
+
prevEpochAttestationsMinDelaySeconds: register.histogram({
|
|
801
|
+
name: "validator_monitor_prev_epoch_attestations_min_delay_seconds",
|
|
802
|
+
help: "The min delay between when the validator should send the attestation and when it was received",
|
|
803
|
+
buckets: [0.1, 0.25, 0.5, 1, 2, 5, 10],
|
|
804
|
+
}),
|
|
805
|
+
prevEpochAttestationAggregateInclusions: register.histogram({
|
|
806
|
+
name: "validator_monitor_prev_epoch_attestation_aggregate_inclusions",
|
|
807
|
+
help: "The count of times an attestation was seen inside an aggregate",
|
|
808
|
+
buckets: [0, 1, 2, 3, 5, 10],
|
|
809
|
+
}),
|
|
810
|
+
prevEpochAttestationBlockInclusions: register.histogram({
|
|
811
|
+
name: "validator_monitor_prev_epoch_attestation_block_inclusions",
|
|
812
|
+
help: "The count of times an attestation was seen inside a block",
|
|
813
|
+
buckets: [0, 1, 2, 3, 5],
|
|
814
|
+
}),
|
|
815
|
+
prevEpochAttestationBlockMinInclusionDistance: register.histogram({
|
|
816
|
+
name: "validator_monitor_prev_epoch_attestation_block_min_inclusion_distance",
|
|
817
|
+
help: "The minimum inclusion distance observed for the inclusion of an attestation in a block",
|
|
818
|
+
buckets: [1, 2, 3, 5, 10, 32],
|
|
819
|
+
}),
|
|
820
|
+
prevEpochBeaconBlocks: register.histogram({
|
|
821
|
+
name: "validator_monitor_prev_epoch_beacon_blocks",
|
|
822
|
+
help: "The number of beacon_blocks seen in the previous epoch",
|
|
823
|
+
buckets: [0, 1, 2, 3, 5, 10],
|
|
824
|
+
}),
|
|
825
|
+
prevEpochBeaconBlocksMinDelaySeconds: register.histogram({
|
|
826
|
+
name: "validator_monitor_prev_epoch_beacon_blocks_min_delay_seconds",
|
|
827
|
+
help: "The min delay between when the validator should send the block and when it was received",
|
|
828
|
+
buckets: [0.1, 0.25, 0.5, 1, 2, 5, 10],
|
|
829
|
+
}),
|
|
830
|
+
prevEpochAggregatesTotal: register.histogram({
|
|
831
|
+
name: "validator_monitor_prev_epoch_aggregates",
|
|
832
|
+
help: "The number of aggregates seen in the previous epoch",
|
|
833
|
+
buckets: [0, 1, 2, 3, 5, 10],
|
|
834
|
+
}),
|
|
835
|
+
prevEpochAggregatesMinDelaySeconds: register.histogram({
|
|
836
|
+
name: "validator_monitor_prev_epoch_aggregates_min_delay_seconds",
|
|
837
|
+
help: "The min delay between when the validator should send the aggregate and when it was received",
|
|
838
|
+
buckets: [0.1, 0.25, 0.5, 1, 2, 5, 10],
|
|
839
|
+
}),
|
|
840
|
+
prevEpochSyncCommitteeHits: register.gauge({
|
|
841
|
+
name: "validator_monitor_prev_epoch_sync_committee_hits",
|
|
842
|
+
help: "Count of times in prev epoch connected validators participated in imported block's syncAggregate",
|
|
843
|
+
}),
|
|
844
|
+
prevEpochSyncCommitteeMisses: register.gauge({
|
|
845
|
+
name: "validator_monitor_prev_epoch_sync_committee_misses",
|
|
846
|
+
help: "Count of times in prev epoch connected validators fail to participate in imported block's syncAggregate",
|
|
847
|
+
}),
|
|
848
|
+
prevEpochSyncSignatureAggregateInclusions: register.histogram({
|
|
849
|
+
name: "validator_monitor_prev_epoch_sync_signature_aggregate_inclusions",
|
|
850
|
+
help: "The count of times a sync signature was seen inside an aggregate",
|
|
851
|
+
buckets: [0, 1, 2, 3, 5, 10],
|
|
852
|
+
}),
|
|
853
|
+
prevEpochAttestationSummary: register.gauge({
|
|
854
|
+
name: "validator_monitor_prev_epoch_attestation_summary",
|
|
855
|
+
help: "Best guess of the node of the result of previous epoch validators attestation actions and causality",
|
|
856
|
+
labelNames: ["summary"],
|
|
857
|
+
}),
|
|
858
|
+
prevEpochBlockProposalSummary: register.gauge({
|
|
859
|
+
name: "validator_monitor_prev_epoch_block_proposal_summary",
|
|
860
|
+
help: "Best guess of the node of the result of previous epoch validators block proposal actions and causality",
|
|
861
|
+
labelNames: ["summary"],
|
|
862
|
+
}),
|
|
863
|
+
// Validator Monitor Metrics (real-time)
|
|
864
|
+
unaggregatedAttestationTotal: register.gauge({
|
|
865
|
+
name: "validator_monitor_unaggregated_attestation_total",
|
|
866
|
+
help: "Number of unaggregated attestations seen",
|
|
867
|
+
labelNames: ["src"],
|
|
868
|
+
}),
|
|
869
|
+
unaggregatedAttestationDelaySeconds: register.histogram({
|
|
870
|
+
name: "validator_monitor_unaggregated_attestation_delay_seconds",
|
|
871
|
+
help: "The delay between when the validator should send the attestation and when it was received",
|
|
872
|
+
labelNames: ["src"],
|
|
873
|
+
buckets: [0.1, 0.25, 0.5, 1, 2, 5, 10],
|
|
874
|
+
}),
|
|
875
|
+
unaggregatedAttestationSubmittedSentPeers: register.histogram({
|
|
876
|
+
name: "validator_monitor_unaggregated_attestation_submitted_sent_peers_count",
|
|
877
|
+
help: "Number of peers that an unaggregated attestation sent to",
|
|
878
|
+
// as of Apr 2022, most of the time we sent to >30 peers per attestations
|
|
879
|
+
// these bucket values just base on that fact to get equal range
|
|
880
|
+
// refine if we want more reasonable values
|
|
881
|
+
buckets: [0, 10, 20, 30],
|
|
882
|
+
}),
|
|
883
|
+
aggregatedAttestationTotal: register.gauge({
|
|
884
|
+
name: "validator_monitor_aggregated_attestation_total",
|
|
885
|
+
help: "Number of aggregated attestations seen",
|
|
886
|
+
labelNames: ["src"],
|
|
887
|
+
}),
|
|
888
|
+
aggregatedAttestationDelaySeconds: register.histogram({
|
|
889
|
+
name: "validator_monitor_aggregated_attestation_delay_seconds",
|
|
890
|
+
help: "The delay between then the validator should send the aggregate and when it was received",
|
|
891
|
+
labelNames: ["src"],
|
|
892
|
+
buckets: [0.1, 0.25, 0.5, 1, 2, 5, 10],
|
|
893
|
+
}),
|
|
894
|
+
attestationInAggregateTotal: register.gauge({
|
|
895
|
+
name: "validator_monitor_attestation_in_aggregate_total",
|
|
896
|
+
help: "Number of times an attestation has been seen in an aggregate",
|
|
897
|
+
labelNames: ["src"],
|
|
898
|
+
}),
|
|
899
|
+
attestationInAggregateDelaySeconds: register.histogram({
|
|
900
|
+
name: "validator_monitor_attestation_in_aggregate_delay_seconds",
|
|
901
|
+
help: "The delay between when the validator should send the aggregate and when it was received",
|
|
902
|
+
labelNames: ["src"],
|
|
903
|
+
buckets: [0.1, 0.25, 0.5, 1, 2, 5, 10],
|
|
904
|
+
}),
|
|
905
|
+
attestationInBlockTotal: register.gauge({
|
|
906
|
+
name: "validator_monitor_attestation_in_block_total",
|
|
907
|
+
help: "Number of times an attestation has been seen in a block",
|
|
908
|
+
}),
|
|
909
|
+
attestationInBlockDelaySlots: register.histogram({
|
|
910
|
+
name: "validator_monitor_attestation_in_block_delay_slots",
|
|
911
|
+
help: "The excess slots (beyond the minimum delay) between the attestation slot and the block slot",
|
|
912
|
+
buckets: [0.1, 0.25, 0.5, 1, 2, 5, 10],
|
|
913
|
+
}),
|
|
914
|
+
attestationInBlockParticipants: register.histogram({
|
|
915
|
+
name: "validator_monitor_attestation_in_block_participants",
|
|
916
|
+
help: "The total participants in attestations of monitored validators included in blocks",
|
|
917
|
+
buckets: [1, 5, 20, 50, 100, 200],
|
|
918
|
+
}),
|
|
919
|
+
syncSignatureInAggregateTotal: register.gauge({
|
|
920
|
+
name: "validator_monitor_sync_signature_in_aggregate_total",
|
|
921
|
+
help: "Number of times a sync signature has been seen in an aggregate",
|
|
922
|
+
}),
|
|
923
|
+
beaconBlockTotal: register.gauge({
|
|
924
|
+
name: "validator_monitor_beacon_block_total",
|
|
925
|
+
help: "Total number of beacon blocks seen",
|
|
926
|
+
labelNames: ["src"],
|
|
927
|
+
}),
|
|
928
|
+
beaconBlockDelaySeconds: register.histogram({
|
|
929
|
+
name: "validator_monitor_beacon_block_delay_seconds",
|
|
930
|
+
help: "The delay between when the validator should send the block and when it was received",
|
|
931
|
+
labelNames: ["src"],
|
|
932
|
+
// we also want other nodes to received our published before 4s so add bucket 3 and 3.5
|
|
933
|
+
buckets: [0.1, 0.25, 0.5, 1, 2, 3, 4, 6, 10],
|
|
934
|
+
}),
|
|
935
|
+
// Only for known
|
|
936
|
+
proposerBalanceDeltaKnown: register.histogram({
|
|
937
|
+
name: "validator_monitor_proposer_balance_delta_known_gwei",
|
|
938
|
+
help: "Balance delta of known block proposer after importing a valid block",
|
|
939
|
+
// Jul22 mainnet block reward is consistently between 29,000,000-28,000,000 GWei
|
|
940
|
+
buckets: [10_000, 100_000, 1e6, 10e6, 20e6, 50e6, 100e6, 1000e6],
|
|
941
|
+
}),
|
|
942
|
+
};
|
|
943
|
+
}
|
|
727
944
|
//# sourceMappingURL=validatorMonitor.js.map
|