@lodestar/beacon-node 1.47.0-dev.ec596194e2 → 1.47.0-dev.f0f26cd2b6
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/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/blocks/index.js +47 -18
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +25 -2
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.d.ts +2 -1
- package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/events/index.d.ts +1 -1
- package/lib/api/impl/events/index.d.ts.map +1 -1
- package/lib/api/impl/events/index.js +12 -3
- package/lib/api/impl/events/index.js.map +1 -1
- package/lib/api/impl/lodestar/index.js +1 -1
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts.map +1 -1
- package/lib/api/impl/validator/index.js +232 -49
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/impl/validator/utils.js +1 -1
- package/lib/api/impl/validator/utils.js.map +1 -1
- package/lib/api/rest/base.d.ts.map +1 -1
- package/lib/api/rest/base.js +7 -0
- package/lib/api/rest/base.js.map +1 -1
- package/lib/chain/archiveStore/archiveStore.js +1 -1
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/metrics.js +21 -0
- package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +2 -7
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.d.ts +3 -2
- package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.js +11 -9
- package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
- package/lib/chain/blocks/index.d.ts.map +1 -1
- package/lib/chain/blocks/index.js +21 -13
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +2 -1
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +6 -2
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +14 -5
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/types.js +5 -0
- package/lib/chain/blocks/payloadEnvelopeInput/types.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +5 -2
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +22 -12
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
- package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts +2 -2
- package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +2 -2
- package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
- package/lib/chain/bls/index.d.ts +1 -1
- package/lib/chain/bls/index.d.ts.map +1 -1
- package/lib/chain/bls/interface.d.ts +5 -5
- package/lib/chain/bls/interface.d.ts.map +1 -1
- package/lib/chain/bls/multithread/index.d.ts +5 -11
- package/lib/chain/bls/multithread/index.d.ts.map +1 -1
- package/lib/chain/bls/multithread/index.js +116 -101
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/bls/multithread/jobItem.d.ts +5 -19
- package/lib/chain/bls/multithread/jobItem.d.ts.map +1 -1
- package/lib/chain/bls/multithread/jobItem.js +10 -65
- package/lib/chain/bls/multithread/jobItem.js.map +1 -1
- package/lib/chain/bls/multithread/types.d.ts +29 -8
- package/lib/chain/bls/multithread/types.d.ts.map +1 -1
- package/lib/chain/bls/multithread/types.js +12 -0
- package/lib/chain/bls/multithread/types.js.map +1 -1
- package/lib/chain/bls/multithread/utils.d.ts +4 -0
- package/lib/chain/bls/multithread/utils.d.ts.map +1 -1
- package/lib/chain/bls/multithread/utils.js +10 -0
- package/lib/chain/bls/multithread/utils.js.map +1 -1
- package/lib/chain/bls/multithread/worker.js +49 -23
- package/lib/chain/bls/multithread/worker.js.map +1 -1
- package/lib/chain/bls/singleThread.d.ts +4 -10
- package/lib/chain/bls/singleThread.d.ts.map +1 -1
- package/lib/chain/bls/singleThread.js +8 -45
- package/lib/chain/bls/singleThread.js.map +1 -1
- package/lib/chain/bls/utils.d.ts +4 -4
- package/lib/chain/bls/utils.d.ts.map +1 -1
- package/lib/chain/bls/utils.js +18 -19
- package/lib/chain/bls/utils.js.map +1 -1
- package/lib/chain/chain.d.ts +9 -4
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +22 -8
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/errors/blockError.d.ts +1 -0
- package/lib/chain/errors/blockError.d.ts.map +1 -1
- package/lib/chain/errors/blockError.js +6 -1
- package/lib/chain/errors/blockError.js.map +1 -1
- package/lib/chain/errors/proposerPreferences.d.ts +6 -0
- package/lib/chain/errors/proposerPreferences.d.ts.map +1 -1
- package/lib/chain/errors/proposerPreferences.js +1 -0
- package/lib/chain/errors/proposerPreferences.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.js +4 -0
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/interface.d.ts +8 -4
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.d.ts +1 -1
- package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/attestationPool.js +1 -1
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/opPools/deferredVoluntaryExitPool.d.ts +16 -0
- package/lib/chain/opPools/deferredVoluntaryExitPool.d.ts.map +1 -0
- package/lib/chain/opPools/deferredVoluntaryExitPool.js +57 -0
- package/lib/chain/opPools/deferredVoluntaryExitPool.js.map +1 -0
- package/lib/chain/opPools/executionPayloadBidPool.d.ts +7 -2
- package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
- package/lib/chain/opPools/executionPayloadBidPool.js +4 -4
- package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
- package/lib/chain/opPools/index.d.ts +2 -1
- package/lib/chain/opPools/index.d.ts.map +1 -1
- package/lib/chain/opPools/index.js +1 -0
- package/lib/chain/opPools/index.js.map +1 -1
- package/lib/chain/opPools/payloadAttestationPool.js +3 -3
- package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.js +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.js +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
- package/lib/chain/opPools/utils.d.ts +1 -1
- package/lib/chain/opPools/utils.d.ts.map +1 -1
- package/lib/chain/opPools/utils.js +1 -1
- package/lib/chain/opPools/utils.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +5 -0
- package/lib/chain/prepareNextSlot.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.js +47 -6
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js +3 -25
- package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/interface.d.ts +5 -2
- package/lib/chain/regen/interface.d.ts.map +1 -1
- package/lib/chain/regen/interface.js +3 -0
- package/lib/chain/regen/interface.js.map +1 -1
- package/lib/chain/regen/queued.d.ts +2 -2
- package/lib/chain/regen/queued.d.ts.map +1 -1
- package/lib/chain/regen/queued.js +5 -5
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/seenCache/seenAttesters.d.ts +9 -5
- package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
- package/lib/chain/seenCache/seenAttesters.js +25 -4
- package/lib/chain/seenCache/seenAttesters.js.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +28 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +121 -13
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts +5 -1
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
- package/lib/chain/stateCache/fifoBlockStateCache.js +6 -0
- package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +47 -5
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +117 -7
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/types.d.ts +3 -3
- package/lib/chain/stateCache/types.d.ts.map +1 -1
- package/lib/chain/validation/attestation.d.ts.map +1 -1
- package/lib/chain/validation/attestation.js +1 -4
- package/lib/chain/validation/attestation.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +1 -1
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/block.d.ts.map +1 -1
- package/lib/chain/validation/block.js +40 -10
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/executionPayloadBid.d.ts +13 -3
- package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
- package/lib/chain/validation/executionPayloadBid.js +147 -12
- package/lib/chain/validation/executionPayloadBid.js.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.js +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
- package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
- package/lib/chain/validation/payloadAttestationMessage.js +5 -14
- package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
- package/lib/chain/validation/proposerPreferences.d.ts +1 -1
- package/lib/chain/validation/proposerPreferences.d.ts.map +1 -1
- package/lib/chain/validation/proposerPreferences.js +13 -4
- package/lib/chain/validation/proposerPreferences.js.map +1 -1
- package/lib/chain/validation/proposerSlashing.js +1 -1
- package/lib/chain/validation/proposerSlashing.js.map +1 -1
- package/lib/chain/validation/voluntaryExit.d.ts +9 -1
- package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
- package/lib/chain/validation/voluntaryExit.js +46 -1
- package/lib/chain/validation/voluntaryExit.js.map +1 -1
- package/lib/execution/builder/apiClient.d.ts +70 -0
- package/lib/execution/builder/apiClient.d.ts.map +1 -0
- package/lib/execution/builder/apiClient.js +202 -0
- package/lib/execution/builder/apiClient.js.map +1 -0
- package/lib/execution/builder/validateBid.d.ts +22 -0
- package/lib/execution/builder/validateBid.d.ts.map +1 -0
- package/lib/execution/builder/validateBid.js +111 -0
- package/lib/execution/builder/validateBid.js.map +1 -0
- package/lib/metrics/metrics/lodestar.d.ts +94 -23
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +177 -55
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +13 -0
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/network/gossip/topic.js +37 -0
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/libp2p/index.d.ts.map +1 -1
- package/lib/network/libp2p/index.js +10 -2
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/network.d.ts.map +1 -1
- package/lib/network/network.js +23 -43
- package/lib/network/network.js.map +1 -1
- package/lib/network/processor/constants.d.ts +7 -0
- package/lib/network/processor/constants.d.ts.map +1 -0
- package/lib/network/processor/constants.js +7 -0
- package/lib/network/processor/constants.js.map +1 -0
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +13 -4
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/indexed.d.ts.map +1 -1
- package/lib/network/processor/gossipQueues/indexed.js +0 -1
- package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
- package/lib/network/processor/index.d.ts +3 -0
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +52 -23
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/score.d.ts.map +1 -1
- package/lib/network/reqresp/score.js +5 -11
- package/lib/network/reqresp/score.js.map +1 -1
- package/lib/network/util.d.ts +0 -1
- package/lib/network/util.d.ts.map +1 -1
- package/lib/network/util.js +0 -4
- package/lib/network/util.js.map +1 -1
- package/lib/node/deferredVoluntaryExitPublisher.d.ts +15 -0
- package/lib/node/deferredVoluntaryExitPublisher.d.ts.map +1 -0
- package/lib/node/deferredVoluntaryExitPublisher.js +38 -0
- package/lib/node/deferredVoluntaryExitPublisher.js.map +1 -0
- package/lib/node/nodejs.d.ts +2 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +7 -0
- package/lib/node/nodejs.js.map +1 -1
- package/lib/sync/range/batch.d.ts +23 -5
- package/lib/sync/range/batch.d.ts.map +1 -1
- package/lib/sync/range/batch.js +61 -22
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +2 -1
- package/lib/sync/range/chain.d.ts.map +1 -1
- package/lib/sync/range/chain.js +32 -12
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.js +1 -1
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/types.d.ts +32 -0
- package/lib/sync/types.d.ts.map +1 -1
- package/lib/sync/types.js +33 -0
- package/lib/sync/types.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +15 -2
- package/lib/sync/unknownBlock.d.ts.map +1 -1
- package/lib/sync/unknownBlock.js +220 -61
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRange.js +16 -11
- package/lib/sync/utils/downloadByRange.js.map +1 -1
- package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRoot.js +3 -1
- package/lib/sync/utils/downloadByRoot.js.map +1 -1
- package/package.json +35 -35
- package/src/api/impl/beacon/blocks/index.ts +55 -21
- package/src/api/impl/beacon/pool/index.ts +27 -2
- package/src/api/impl/beacon/state/utils.ts +2 -1
- package/src/api/impl/events/index.ts +12 -4
- package/src/api/impl/lodestar/index.ts +1 -1
- package/src/api/impl/validator/index.ts +285 -49
- package/src/api/impl/validator/utils.ts +1 -1
- package/src/api/rest/base.ts +7 -0
- package/src/chain/archiveStore/archiveStore.ts +1 -1
- package/src/chain/archiveStore/historicalState/metrics.ts +22 -0
- package/src/chain/blocks/importBlock.ts +1 -6
- package/src/chain/blocks/importExecutionPayload.ts +12 -11
- package/src/chain/blocks/index.ts +25 -13
- package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +8 -2
- package/src/chain/blocks/payloadEnvelopeInput/types.ts +17 -4
- package/src/chain/blocks/verifyBlock.ts +5 -2
- package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +25 -16
- package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +1 -9
- package/src/chain/bls/index.ts +1 -1
- package/src/chain/bls/interface.ts +7 -3
- package/src/chain/bls/multithread/index.ts +148 -120
- package/src/chain/bls/multithread/jobItem.ts +12 -82
- package/src/chain/bls/multithread/types.ts +33 -8
- package/src/chain/bls/multithread/utils.ts +11 -0
- package/src/chain/bls/multithread/worker.ts +85 -27
- package/src/chain/bls/singleThread.ts +11 -55
- package/src/chain/bls/utils.ts +23 -24
- package/src/chain/chain.ts +25 -7
- package/src/chain/errors/blockError.ts +8 -2
- package/src/chain/errors/proposerPreferences.ts +7 -0
- package/src/chain/forkChoice/index.ts +4 -0
- package/src/chain/interface.ts +8 -3
- package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
- package/src/chain/opPools/attestationPool.ts +1 -1
- package/src/chain/opPools/deferredVoluntaryExitPool.ts +65 -0
- package/src/chain/opPools/executionPayloadBidPool.ts +13 -7
- package/src/chain/opPools/index.ts +2 -1
- package/src/chain/opPools/payloadAttestationPool.ts +3 -3
- package/src/chain/opPools/syncCommitteeMessagePool.ts +1 -1
- package/src/chain/opPools/syncContributionAndProofPool.ts +1 -1
- package/src/chain/opPools/utils.ts +1 -1
- package/src/chain/prepareNextSlot.ts +49 -6
- package/src/chain/produceBlock/computeNewStateRoot.ts +3 -38
- package/src/chain/produceBlock/produceBlockBody.ts +1 -1
- package/src/chain/regen/interface.ts +5 -2
- package/src/chain/regen/queued.ts +5 -5
- package/src/chain/seenCache/seenAttesters.ts +31 -5
- package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +143 -14
- package/src/chain/stateCache/fifoBlockStateCache.ts +8 -1
- package/src/chain/stateCache/persistentCheckpointsCache.ts +133 -8
- package/src/chain/stateCache/types.ts +3 -3
- package/src/chain/validation/attestation.ts +1 -7
- package/src/chain/validation/attesterSlashing.ts +1 -8
- package/src/chain/validation/block.ts +43 -10
- package/src/chain/validation/executionPayloadBid.ts +168 -14
- package/src/chain/validation/executionPayloadEnvelope.ts +0 -1
- package/src/chain/validation/payloadAttestationMessage.ts +6 -17
- package/src/chain/validation/proposerPreferences.ts +15 -5
- package/src/chain/validation/proposerSlashing.ts +1 -1
- package/src/chain/validation/voluntaryExit.ts +59 -2
- package/src/execution/builder/apiClient.ts +264 -0
- package/src/execution/builder/validateBid.ts +166 -0
- package/src/metrics/metrics/lodestar.ts +192 -61
- package/src/network/gossip/topic.ts +38 -0
- package/src/network/libp2p/index.ts +11 -2
- package/src/network/network.ts +29 -54
- package/src/network/processor/constants.ts +6 -0
- package/src/network/processor/gossipHandlers.ts +15 -2
- package/src/network/processor/gossipQueues/indexed.ts +0 -1
- package/src/network/processor/index.ts +67 -30
- package/src/network/reqresp/score.ts +5 -11
- package/src/network/util.ts +0 -5
- package/src/node/deferredVoluntaryExitPublisher.ts +54 -0
- package/src/node/nodejs.ts +10 -1
- package/src/sync/range/batch.ts +83 -28
- package/src/sync/range/chain.ts +35 -13
- package/src/sync/range/range.ts +1 -1
- package/src/sync/types.ts +36 -1
- package/src/sync/unknownBlock.ts +258 -68
- package/src/sync/utils/downloadByRange.ts +21 -12
- package/src/sync/utils/downloadByRoot.ts +3 -1
- package/lib/chain/bls/maybeBatch.d.ts +0 -12
- package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
- package/lib/chain/bls/maybeBatch.js +0 -35
- package/lib/chain/bls/maybeBatch.js.map +0 -1
- package/src/chain/bls/maybeBatch.ts +0 -45
|
@@ -37,15 +37,15 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
37
37
|
}),
|
|
38
38
|
jobTime: register.histogram({
|
|
39
39
|
name: "lodestar_gossip_validation_queue_job_time_seconds",
|
|
40
|
-
help: "Time to process gossip validation queue job in seconds",
|
|
40
|
+
help: "Time to process gossip validation queue job in seconds (accepted messages only)",
|
|
41
41
|
labelNames: ["topic"],
|
|
42
|
-
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2
|
|
42
|
+
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2],
|
|
43
43
|
}),
|
|
44
44
|
jobWaitTime: register.histogram({
|
|
45
45
|
name: "lodestar_gossip_validation_queue_job_wait_time_seconds",
|
|
46
46
|
help: "Time from job added to the queue to starting the job in seconds",
|
|
47
47
|
labelNames: ["topic"],
|
|
48
|
-
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2
|
|
48
|
+
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2],
|
|
49
49
|
}),
|
|
50
50
|
concurrency: register.gauge({
|
|
51
51
|
name: "lodestar_gossip_validation_queue_concurrency",
|
|
@@ -61,6 +61,7 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
61
61
|
queueTime: register.histogram({
|
|
62
62
|
name: "lodestar_gossip_validation_queue_time_seconds",
|
|
63
63
|
help: "Total time an item stays in queue until it is processed in seconds",
|
|
64
|
+
labelNames: ["topic"],
|
|
64
65
|
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 5],
|
|
65
66
|
}),
|
|
66
67
|
},
|
|
@@ -342,85 +343,107 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
342
343
|
}),
|
|
343
344
|
// BLS verifier thread pool and queue
|
|
344
345
|
bls: {
|
|
345
|
-
aggregatedPubkeys: register.
|
|
346
|
+
aggregatedPubkeys: register.counter({
|
|
346
347
|
name: "lodestar_bls_aggregated_pubkeys_total",
|
|
347
|
-
help: "Total
|
|
348
|
+
help: "Total validator public keys used as inputs to aggregate signature sets",
|
|
349
|
+
}),
|
|
350
|
+
pubkeyCacheSize: register.gauge({
|
|
351
|
+
name: "lodestar_bls_pubkey_cache_size",
|
|
352
|
+
help: "Current number of validator public keys in the native cache",
|
|
353
|
+
}),
|
|
354
|
+
pubkeyCacheCapacity: register.gauge({
|
|
355
|
+
name: "lodestar_bls_pubkey_cache_capacity",
|
|
356
|
+
help: "Number of validator public keys the native cache can hold without growing",
|
|
348
357
|
}),
|
|
349
358
|
},
|
|
350
359
|
blsThreadPool: {
|
|
351
|
-
jobsWorkerTime: register.
|
|
360
|
+
jobsWorkerTime: register.counter({
|
|
352
361
|
name: "lodestar_bls_thread_pool_time_seconds_sum",
|
|
353
|
-
help: "
|
|
362
|
+
help: "Cumulative wall time spent processing BLS dispatch groups by worker",
|
|
354
363
|
labelNames: ["workerId"],
|
|
355
364
|
}),
|
|
356
|
-
successJobsSignatureSetsCount: register.
|
|
365
|
+
successJobsSignatureSetsCount: register.counter({
|
|
357
366
|
name: "lodestar_bls_thread_pool_success_jobs_signature_sets_count",
|
|
358
|
-
help: "Count of
|
|
367
|
+
help: "Count of signature sets completed without an operational error",
|
|
359
368
|
}),
|
|
360
|
-
|
|
361
|
-
name: "lodestar_bls_thread_pool_error_aggregate_signature_sets_count",
|
|
362
|
-
help: "Count of error when aggregating pubkeys or signatures",
|
|
363
|
-
labelNames: ["type"],
|
|
364
|
-
}),
|
|
365
|
-
errorJobsSignatureSetsCount: register.gauge({
|
|
369
|
+
errorJobsSignatureSetsCount: register.counter({
|
|
366
370
|
name: "lodestar_bls_thread_pool_error_jobs_signature_sets_count",
|
|
367
|
-
help: "Count of
|
|
371
|
+
help: "Count of signature sets that ended in an input, binding, or worker error",
|
|
368
372
|
}),
|
|
369
373
|
jobWaitTime: register.histogram({
|
|
370
374
|
name: "lodestar_bls_thread_pool_queue_job_wait_time_seconds",
|
|
371
|
-
help: "Time from job
|
|
372
|
-
|
|
375
|
+
help: "Time from adding a BLS job until it is selected for a worker dispatch group",
|
|
376
|
+
labelNames: ["type"],
|
|
377
|
+
buckets: [0.005, 0.01, 0.025, 0.05, 0.1, 0.2, 0.5, 1, 2],
|
|
378
|
+
}),
|
|
379
|
+
jobDuration: register.histogram({
|
|
380
|
+
name: "lodestar_bls_thread_pool_job_duration_seconds",
|
|
381
|
+
help: "End-to-end duration of a BLS job from submission through completion",
|
|
382
|
+
labelNames: ["type"],
|
|
383
|
+
buckets: [0.005, 0.01, 0.025, 0.05, 0.1, 0.2, 0.5, 1, 2],
|
|
384
|
+
}),
|
|
385
|
+
jobResults: register.counter({
|
|
386
|
+
name: "lodestar_bls_thread_pool_job_results_total",
|
|
387
|
+
help: "Count of completed BLS jobs by cryptographic or operational outcome",
|
|
388
|
+
labelNames: ["type", "outcome"],
|
|
373
389
|
}),
|
|
374
390
|
queueLength: register.gauge({
|
|
375
391
|
name: "lodestar_bls_thread_pool_queue_length",
|
|
376
|
-
help: "Count of
|
|
392
|
+
help: "Count of ready BLS jobs waiting for a worker",
|
|
393
|
+
}),
|
|
394
|
+
bufferedQueueLength: register.gauge({
|
|
395
|
+
name: "lodestar_bls_thread_pool_buffered_queue_length",
|
|
396
|
+
help: "Count of BLS jobs waiting in the intentional batching buffer",
|
|
377
397
|
}),
|
|
378
398
|
workersBusy: register.gauge({
|
|
379
399
|
name: "lodestar_bls_thread_pool_workers_busy",
|
|
380
400
|
help: "Count of current busy workers",
|
|
381
401
|
}),
|
|
382
|
-
totalJobsGroupsStarted: register.
|
|
402
|
+
totalJobsGroupsStarted: register.counter({
|
|
383
403
|
name: "lodestar_bls_thread_pool_job_groups_started_total",
|
|
384
|
-
help: "Count of
|
|
404
|
+
help: "Count of worker dispatch groups started by the BLS thread pool",
|
|
385
405
|
}),
|
|
386
|
-
totalJobsStarted: register.
|
|
406
|
+
totalJobsStarted: register.counter({
|
|
387
407
|
name: "lodestar_bls_thread_pool_jobs_started_total",
|
|
388
|
-
help: "Count of
|
|
408
|
+
help: "Count of jobs started by the BLS thread pool",
|
|
389
409
|
labelNames: ["type"],
|
|
390
410
|
}),
|
|
391
|
-
totalSigSetsStarted: register.
|
|
411
|
+
totalSigSetsStarted: register.counter({
|
|
392
412
|
name: "lodestar_bls_thread_pool_sig_sets_started_total",
|
|
393
|
-
help: "Count of
|
|
413
|
+
help: "Count of signature sets started by the BLS thread pool",
|
|
394
414
|
labelNames: ["type"],
|
|
395
415
|
}),
|
|
396
416
|
// Re-verifying a batch means doing double work. This number must be very low or it can be a waste of CPU resources
|
|
397
|
-
batchRetries: register.
|
|
417
|
+
batchRetries: register.counter({
|
|
398
418
|
name: "lodestar_bls_thread_pool_batch_retries_total",
|
|
399
|
-
help: "Count of
|
|
419
|
+
help: "Count of combined batches that failed and required per-job fallback",
|
|
400
420
|
}),
|
|
401
421
|
// To count how many sigs are being validated with the optimization of batching them
|
|
402
|
-
batchSigsSuccess: register.
|
|
422
|
+
batchSigsSuccess: register.counter({
|
|
403
423
|
name: "lodestar_bls_thread_pool_batch_sigs_success_total",
|
|
404
|
-
help: "Count of
|
|
424
|
+
help: "Count of signature sets accepted by combined batch verification without fallback",
|
|
405
425
|
}),
|
|
406
|
-
|
|
407
|
-
name: "
|
|
408
|
-
help: "Count of
|
|
426
|
+
bufferFlushes: register.counter({
|
|
427
|
+
name: "lodestar_bls_thread_pool_buffer_flushes_total",
|
|
428
|
+
help: "Count of batching-buffer flushes by trigger",
|
|
429
|
+
labelNames: ["reason"],
|
|
409
430
|
}),
|
|
410
|
-
|
|
411
|
-
name: "
|
|
412
|
-
help: "Count of
|
|
431
|
+
bufferedSignatureSets: register.histogram({
|
|
432
|
+
name: "lodestar_bls_thread_pool_buffered_signature_sets",
|
|
433
|
+
help: "Count of signature sets included in each batching-buffer flush",
|
|
434
|
+
buckets: [1, 8, 16, 24, 28, 32, 36, 40, 44, 48, 64, 128],
|
|
413
435
|
}),
|
|
414
436
|
// To measure the time cost of main thread <-> worker message passing
|
|
415
437
|
latencyToWorker: register.histogram({
|
|
416
438
|
name: "lodestar_bls_thread_pool_latency_to_worker",
|
|
417
439
|
help: "Time from sending the job to the worker and the worker receiving it",
|
|
418
|
-
|
|
440
|
+
// The dashboard treats 20ms as slow; values above 100ms only need severe-stall classification.
|
|
441
|
+
buckets: [0.00025, 0.001, 0.005, 0.02, 0.1],
|
|
419
442
|
}),
|
|
420
443
|
latencyFromWorker: register.histogram({
|
|
421
444
|
name: "lodestar_bls_thread_pool_latency_from_worker",
|
|
422
445
|
help: "Time from the worker sending the result and the main thread receiving it",
|
|
423
|
-
buckets: [0.
|
|
446
|
+
buckets: [0.00025, 0.001, 0.005, 0.02, 0.1],
|
|
424
447
|
}),
|
|
425
448
|
mainThreadDurationInThreadPool: register.histogram({
|
|
426
449
|
name: "lodestar_bls_thread_pool_main_thread_time_seconds",
|
|
@@ -430,32 +453,40 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
430
453
|
}),
|
|
431
454
|
timePerSigSet: register.histogram({
|
|
432
455
|
name: "lodestar_bls_worker_thread_time_per_sigset_seconds",
|
|
433
|
-
help: "
|
|
456
|
+
help: "Average BLS worker dispatch wall time per original signature set",
|
|
434
457
|
// Time per sig ~0.9ms on good machines
|
|
435
|
-
buckets: [0.5e-3, 0.75e-3, 1e-3, 1.5e-3, 2e-3, 5e-3],
|
|
436
|
-
}),
|
|
437
|
-
|
|
458
|
+
buckets: [0.5e-3, 0.75e-3, 1e-3, 1.5e-3, 2e-3, 5e-3, 10e-3, 20e-3, 50e-3, 100e-3],
|
|
459
|
+
}),
|
|
460
|
+
workRequestPreparationDuration: register.histogram({
|
|
461
|
+
name: "lodestar_bls_thread_pool_work_request_preparation_duration_seconds",
|
|
462
|
+
help: "Main-thread time spent converting one worker dispatch group to binding inputs",
|
|
463
|
+
// Normal requests take microseconds; the dashboard treats 1ms as a main-thread stall.
|
|
464
|
+
buckets: [0.000005, 0.000025, 0.0001, 0.0005, 0.001, 0.005, 0.025],
|
|
465
|
+
}),
|
|
466
|
+
verificationCallDuration: register.histogram({
|
|
467
|
+
name: "lodestar_bls_thread_pool_verification_call_duration_seconds",
|
|
468
|
+
help: "Duration of one worker-side lodestar-z verification binding call, including input conversion",
|
|
469
|
+
labelNames: ["operation"],
|
|
470
|
+
// Verification ranges from sub-millisecond calls to large batches; above 500ms is uniformly severe.
|
|
471
|
+
buckets: [0.00025, 0.001, 0.005, 0.02, 0.1, 0.5],
|
|
472
|
+
}),
|
|
473
|
+
verificationCallSignatureSets: register.counter({
|
|
474
|
+
name: "lodestar_bls_thread_pool_verification_call_signature_sets_total",
|
|
475
|
+
help: "Count of signature sets passed to worker-side lodestar-z verification binding calls",
|
|
476
|
+
labelNames: ["operation"],
|
|
477
|
+
}),
|
|
478
|
+
totalSigSets: register.counter({
|
|
438
479
|
name: "lodestar_bls_thread_pool_sig_sets_total",
|
|
439
480
|
help: "Count of total signature sets",
|
|
440
481
|
}),
|
|
441
|
-
prioritizedSigSets: register.
|
|
482
|
+
prioritizedSigSets: register.counter({
|
|
442
483
|
name: "lodestar_bls_thread_pool_prioritized_sig_sets_total",
|
|
443
484
|
help: "Count of total prioritized signature sets",
|
|
444
485
|
}),
|
|
445
|
-
batchableSigSets: register.
|
|
486
|
+
batchableSigSets: register.counter({
|
|
446
487
|
name: "lodestar_bls_thread_pool_batchable_sig_sets_total",
|
|
447
488
|
help: "Count of total batchable signature sets",
|
|
448
489
|
}),
|
|
449
|
-
aggregateWithRandomnessAsyncDuration: register.histogram({
|
|
450
|
-
name: "lodestar_bls_thread_pool_aggregate_with_randomness_async_time_seconds",
|
|
451
|
-
help: "Total time performing aggregateWithRandomness async",
|
|
452
|
-
buckets: [0.001, 0.005, 0.01, 0.1, 0.3],
|
|
453
|
-
}),
|
|
454
|
-
pubkeysAggregationMainThreadDuration: register.histogram({
|
|
455
|
-
name: "lodestar_bls_thread_pool_pubkeys_aggregation_main_thread_time_seconds",
|
|
456
|
-
help: "Total time spent aggregating pubkeys on main thread",
|
|
457
|
-
buckets: [0.001, 0.005, 0.01, 0.1],
|
|
458
|
-
}),
|
|
459
490
|
},
|
|
460
491
|
// BLS time on single thread mode
|
|
461
492
|
blsSingleThread: {
|
|
@@ -585,7 +616,13 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
585
616
|
}),
|
|
586
617
|
removedBlocks: register.gauge({
|
|
587
618
|
name: "lodestar_sync_unknown_block_removed_blocks_total",
|
|
588
|
-
help: "Total
|
|
619
|
+
help: "Total pending blocks dropped from BlockInputSync without completing, by reason",
|
|
620
|
+
labelNames: ["reason"],
|
|
621
|
+
}),
|
|
622
|
+
removedPayloads: register.gauge({
|
|
623
|
+
name: "lodestar_sync_unknown_block_removed_payloads_total",
|
|
624
|
+
help: "Total pending payloads dropped from BlockInputSync without completing, by reason",
|
|
625
|
+
labelNames: ["reason"],
|
|
589
626
|
}),
|
|
590
627
|
elapsedTimeTillReceived: register.histogram({
|
|
591
628
|
name: "lodestar_sync_unknown_block_elapsed_time_till_received",
|
|
@@ -810,6 +847,11 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
810
847
|
help: "Count of errors, by error type, while processing blocks",
|
|
811
848
|
labelNames: ["error"],
|
|
812
849
|
}),
|
|
850
|
+
preStateSource: register.counter({
|
|
851
|
+
name: "lodestar_gossip_block_validation_pre_state_source_total",
|
|
852
|
+
help: "Source of the pre-state used for gossip block validation",
|
|
853
|
+
labelNames: ["source"],
|
|
854
|
+
}),
|
|
813
855
|
},
|
|
814
856
|
gossipBlob: {
|
|
815
857
|
recvToValidation: register.histogram({
|
|
@@ -841,6 +883,22 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
841
883
|
labelNames: ["error"],
|
|
842
884
|
}),
|
|
843
885
|
},
|
|
886
|
+
gossipExecutionPayloadBid: {
|
|
887
|
+
elapsedTimeTillReceived: register.histogram({
|
|
888
|
+
name: "lodestar_gossip_execution_payload_bid_elapsed_time_till_received_seconds",
|
|
889
|
+
help: "Time elapsed between the bid's slot start and the time the execution payload bid was received (negative = received before its slot, broadcast in the previous slot; positive = received during its own slot, late)",
|
|
890
|
+
labelNames: ["source"],
|
|
891
|
+
buckets: [-6, -3, -1, 0, 3],
|
|
892
|
+
}),
|
|
893
|
+
},
|
|
894
|
+
gossipPayloadAttestationMessage: {
|
|
895
|
+
elapsedTimeTillReceived: register.histogram({
|
|
896
|
+
name: "lodestar_gossip_payload_attestation_message_elapsed_time_till_received_seconds",
|
|
897
|
+
help: "Time elapsed between slot time and the time the payload attestation message was received",
|
|
898
|
+
labelNames: ["source"],
|
|
899
|
+
buckets: [3, 6, 9, 12],
|
|
900
|
+
}),
|
|
901
|
+
},
|
|
844
902
|
// recovery in the case of specific blob rows required
|
|
845
903
|
recoverBlobSidecars: {
|
|
846
904
|
blobsReconstructed: register.counter({
|
|
@@ -1107,6 +1165,12 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
1107
1165
|
name: "lodestar_oppool_attester_slashing_pool_size",
|
|
1108
1166
|
help: "Current size of the AttesterSlashingPool",
|
|
1109
1167
|
}),
|
|
1168
|
+
deferredVoluntaryExitPool: {
|
|
1169
|
+
size: register.gauge({
|
|
1170
|
+
name: "lodestar_oppool_deferred_voluntary_exit_pool_size",
|
|
1171
|
+
help: "Current size of the DeferredVoluntaryExitPool",
|
|
1172
|
+
}),
|
|
1173
|
+
},
|
|
1110
1174
|
proposerSlashingPoolSize: register.gauge({
|
|
1111
1175
|
name: "lodestar_oppool_proposer_slashing_pool_size",
|
|
1112
1176
|
help: "Current size of the ProposerSlashingPool",
|
|
@@ -1217,6 +1281,11 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
1217
1281
|
help: "Total number of InsertOutcome as a result of adding an execution payload bid from api to the pool",
|
|
1218
1282
|
labelNames: ["insertOutcome"],
|
|
1219
1283
|
}),
|
|
1284
|
+
apiValidationTime: register.histogram({
|
|
1285
|
+
name: "lodestar_api_execution_payload_bid_validation_time_seconds",
|
|
1286
|
+
help: "Time elapsed for signed execution payload bid validation - api path",
|
|
1287
|
+
buckets: [0.005, 0.01, 0.025, 0.05, 0.1, 0.5],
|
|
1288
|
+
}),
|
|
1220
1289
|
},
|
|
1221
1290
|
},
|
|
1222
1291
|
chain: {
|
|
@@ -1305,6 +1374,16 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
1305
1374
|
help: "Checkpoint state cache size",
|
|
1306
1375
|
labelNames: ["type"],
|
|
1307
1376
|
}),
|
|
1377
|
+
persistentTierEpochs: register.gauge({
|
|
1378
|
+
name: "lodestar_cp_state_cache_persistent_tier_epochs",
|
|
1379
|
+
help: "Number of epoch keys retained in each on-disk checkpoint state retention tier",
|
|
1380
|
+
labelNames: ["tier"],
|
|
1381
|
+
}),
|
|
1382
|
+
persistentTierStates: register.gauge({
|
|
1383
|
+
name: "lodestar_cp_state_cache_persistent_tier_states",
|
|
1384
|
+
help: "Number of persisted checkpoint states retained in each on-disk retention tier",
|
|
1385
|
+
labelNames: ["tier"],
|
|
1386
|
+
}),
|
|
1308
1387
|
reads: register.avgMinMax({
|
|
1309
1388
|
name: "lodestar_cp_state_epoch_reads",
|
|
1310
1389
|
help: "Avg min max of all state cache items total read count",
|
|
@@ -1518,7 +1597,13 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
1518
1597
|
}),
|
|
1519
1598
|
created: register.counter({
|
|
1520
1599
|
name: "lodestar_seen_payload_envelope_input_cache_items_created_total",
|
|
1521
|
-
help: "Number of PayloadEnvelopeInputs created",
|
|
1600
|
+
help: "Number of PayloadEnvelopeInputs created by source",
|
|
1601
|
+
labelNames: ["source"],
|
|
1602
|
+
}),
|
|
1603
|
+
pruned: register.counter({
|
|
1604
|
+
name: "lodestar_seen_payload_envelope_input_cache_items_pruned_total",
|
|
1605
|
+
help: "Number of PayloadEnvelopeInputs evicted by reason",
|
|
1606
|
+
labelNames: ["reason"],
|
|
1522
1607
|
}),
|
|
1523
1608
|
},
|
|
1524
1609
|
},
|
|
@@ -1624,6 +1709,10 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
1624
1709
|
name: "lodestar_precompute_next_epoch_transition_waste_total",
|
|
1625
1710
|
help: "Total number of precomputing next epoch transition wasted",
|
|
1626
1711
|
}),
|
|
1712
|
+
predictedReorg: register.counter({
|
|
1713
|
+
name: "lodestar_precompute_next_epoch_transition_predicted_reorg_total",
|
|
1714
|
+
help: "Predicted epoch-boundary reorgs where the strong parent was dialed instead of the weak head",
|
|
1715
|
+
}),
|
|
1627
1716
|
duration: register.histogram({
|
|
1628
1717
|
name: "lodestar_precompute_next_epoch_transition_duration_seconds",
|
|
1629
1718
|
help: "Duration of precomputeNextEpochTransition, including epoch transition and hashTreeRoot",
|
|
@@ -1854,6 +1943,39 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
|
|
|
1854
1943
|
labelNames: ["urlIndex", "baseUrl"],
|
|
1855
1944
|
}),
|
|
1856
1945
|
},
|
|
1946
|
+
builderApi: {
|
|
1947
|
+
statusChecks: register.counter({
|
|
1948
|
+
name: "lodestar_builder_api_status_checks_total",
|
|
1949
|
+
help: "Total count of status checks sent to external builders ahead of a proposal",
|
|
1950
|
+
labelNames: ["status"],
|
|
1951
|
+
}),
|
|
1952
|
+
bidRequests: register.counter({
|
|
1953
|
+
name: "lodestar_builder_api_bid_requests_total",
|
|
1954
|
+
help: "Total count of execution payload bid requests sent to external builders",
|
|
1955
|
+
}),
|
|
1956
|
+
bidRequestErrors: register.counter({
|
|
1957
|
+
name: "lodestar_builder_api_bid_request_errors_total",
|
|
1958
|
+
help: "Total count of failed execution payload bid requests to external builders",
|
|
1959
|
+
}),
|
|
1960
|
+
bidsReceived: register.counter({
|
|
1961
|
+
name: "lodestar_builder_api_bids_received_total",
|
|
1962
|
+
help: "Total count of execution payload bids received from external builders",
|
|
1963
|
+
}),
|
|
1964
|
+
bidsDiscarded: register.counter({
|
|
1965
|
+
name: "lodestar_builder_api_bids_discarded_total",
|
|
1966
|
+
help: "Total count of execution payload bids from external builders discarded due to failed validation",
|
|
1967
|
+
}),
|
|
1968
|
+
blockSubmissions: register.counter({
|
|
1969
|
+
name: "lodestar_builder_api_block_submissions_total",
|
|
1970
|
+
help: "Total count of signed beacon blocks submitted to external builders",
|
|
1971
|
+
labelNames: ["status"],
|
|
1972
|
+
}),
|
|
1973
|
+
preferencesForwarded: register.counter({
|
|
1974
|
+
name: "lodestar_builder_api_preferences_forwarded_total",
|
|
1975
|
+
help: "Total count of builder preferences forwarded to external builders",
|
|
1976
|
+
labelNames: ["status"],
|
|
1977
|
+
}),
|
|
1978
|
+
},
|
|
1857
1979
|
db: {
|
|
1858
1980
|
dbReadReq: register.gauge({
|
|
1859
1981
|
name: "lodestar_db_read_req_total",
|