@lodestar/beacon-node 1.23.0-dev.2a7f7e6afd → 1.23.0-dev.2e8b8bb478
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/api.js.map +1 -1
- package/lib/api/impl/beacon/blocks/index.js +28 -31
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/blocks/utils.d.ts +1 -1
- package/lib/api/impl/beacon/blocks/utils.js +2 -2
- package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
- package/lib/api/impl/beacon/index.js +1 -1
- package/lib/api/impl/beacon/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +5 -5
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.d.ts +1 -1
- package/lib/api/impl/beacon/state/index.js +4 -10
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.d.ts +2 -2
- package/lib/api/impl/beacon/state/utils.js +1 -1
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/config/constants.js +1 -1
- package/lib/api/impl/config/constants.js.map +1 -1
- package/lib/api/impl/config/index.js.map +1 -1
- package/lib/api/impl/debug/index.js +1 -1
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/lightclient/index.js +1 -1
- package/lib/api/impl/lightclient/index.js.map +1 -1
- package/lib/api/impl/lodestar/index.js +5 -5
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/node/index.d.ts +1 -1
- package/lib/api/impl/node/index.js +2 -4
- package/lib/api/impl/node/index.js.map +1 -1
- package/lib/api/impl/proof/index.d.ts +1 -1
- package/lib/api/impl/proof/index.js +2 -2
- package/lib/api/impl/proof/index.js.map +1 -1
- package/lib/api/impl/types.d.ts +2 -2
- package/lib/api/impl/validator/index.d.ts +32 -1
- package/lib/api/impl/validator/index.js +116 -68
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/impl/validator/utils.d.ts +4 -3
- package/lib/api/impl/validator/utils.js +17 -9
- package/lib/api/impl/validator/utils.js.map +1 -1
- package/lib/api/options.js.map +1 -1
- package/lib/api/rest/base.d.ts +1 -1
- package/lib/api/rest/base.js +3 -3
- package/lib/api/rest/base.js.map +1 -1
- package/lib/api/rest/index.d.ts +2 -2
- package/lib/api/rest/index.js.map +1 -1
- package/lib/chain/archiver/archiveBlocks.d.ts +2 -2
- package/lib/chain/archiver/archiveBlocks.js +1 -1
- package/lib/chain/archiver/archiveBlocks.js.map +1 -1
- package/lib/chain/archiver/archiver.d.ts +40 -0
- package/lib/chain/archiver/archiver.js +117 -0
- package/lib/chain/archiver/archiver.js.map +1 -0
- package/lib/chain/archiver/index.d.ts +2 -54
- package/lib/chain/archiver/index.js +2 -104
- package/lib/chain/archiver/index.js.map +1 -1
- package/lib/chain/archiver/interface.d.ts +39 -0
- package/lib/chain/archiver/interface.js +8 -0
- package/lib/chain/archiver/interface.js.map +1 -0
- package/lib/chain/archiver/{archiveStates.d.ts → strategies/frequencyStateArchiveStrategy.d.ts} +17 -15
- package/lib/chain/archiver/{archiveStates.js → strategies/frequencyStateArchiveStrategy.js} +8 -6
- package/lib/chain/archiver/strategies/frequencyStateArchiveStrategy.js.map +1 -0
- package/lib/chain/balancesCache.d.ts +1 -1
- package/lib/chain/balancesCache.js +1 -1
- package/lib/chain/balancesCache.js.map +1 -1
- package/lib/chain/beaconProposerCache.d.ts +1 -1
- package/lib/chain/blocks/importBlock.js +8 -8
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/index.d.ts +2 -2
- package/lib/chain/blocks/index.js +4 -6
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +4 -4
- package/lib/chain/blocks/types.js +1 -1
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/utils/checkpoint.js +1 -1
- package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts +2 -2
- package/lib/chain/blocks/verifyBlock.js +8 -8
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts +2 -2
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +19 -9
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +6 -6
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +5 -5
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.js +5 -13
- package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/bls/multithread/index.d.ts +1 -1
- package/lib/chain/bls/multithread/index.js +8 -7
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/bls/multithread/jobItem.d.ts +2 -2
- package/lib/chain/bls/multithread/jobItem.js +1 -1
- package/lib/chain/bls/multithread/jobItem.js.map +1 -1
- package/lib/chain/bls/multithread/worker.js +1 -1
- package/lib/chain/bls/multithread/worker.js.map +1 -1
- package/lib/chain/chain.d.ts +24 -24
- package/lib/chain/chain.js +51 -55
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +1 -1
- package/lib/chain/errors/attestationError.d.ts +1 -1
- package/lib/chain/errors/blobSidecarError.d.ts +1 -1
- package/lib/chain/errors/blockError.d.ts +1 -1
- package/lib/chain/errors/blockError.js.map +1 -1
- package/lib/chain/errors/syncCommitteeError.d.ts +1 -1
- package/lib/chain/forkChoice/index.d.ts +1 -1
- package/lib/chain/forkChoice/index.js +3 -3
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/genesis/genesis.d.ts +3 -3
- package/lib/chain/genesis/genesis.js +4 -8
- package/lib/chain/genesis/genesis.js.map +1 -1
- package/lib/chain/genesis/interface.d.ts +1 -1
- package/lib/chain/historicalState/getHistoricalState.d.ts +1 -1
- package/lib/chain/historicalState/getHistoricalState.js.map +1 -1
- package/lib/chain/historicalState/index.js +1 -1
- package/lib/chain/historicalState/index.js.map +1 -1
- package/lib/chain/historicalState/worker.js +4 -4
- package/lib/chain/historicalState/worker.js.map +1 -1
- package/lib/chain/initState.d.ts +2 -2
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +21 -21
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/lightClient/index.d.ts +2 -2
- package/lib/chain/lightClient/index.js +9 -11
- package/lib/chain/lightClient/index.js.map +1 -1
- package/lib/chain/lightClient/proofs.d.ts +1 -1
- package/lib/chain/lightClient/proofs.js +1 -1
- package/lib/chain/lightClient/proofs.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +3 -3
- package/lib/chain/opPools/aggregatedAttestationPool.js +38 -42
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.d.ts +2 -2
- package/lib/chain/opPools/attestationPool.js +5 -7
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +2 -2
- package/lib/chain/opPools/opPool.js +4 -6
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.js +4 -6
- package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.d.ts +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.js +4 -6
- package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
- package/lib/chain/options.d.ts +3 -1
- package/lib/chain/options.js +4 -0
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +1 -1
- package/lib/chain/prepareNextSlot.js +5 -5
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -4
- package/lib/chain/produceBlock/produceBlockBody.js +21 -20
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/errors.d.ts +1 -1
- package/lib/chain/regen/interface.d.ts +2 -2
- package/lib/chain/regen/queued.d.ts +3 -3
- package/lib/chain/regen/queued.js +2 -2
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts +5 -5
- package/lib/chain/regen/regen.js +3 -3
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/reprocess.d.ts +1 -1
- package/lib/chain/rewards/attestationsRewards.d.ts +2 -2
- package/lib/chain/rewards/attestationsRewards.js.map +1 -1
- package/lib/chain/rewards/blockRewards.d.ts +1 -1
- package/lib/chain/rewards/blockRewards.js +2 -4
- package/lib/chain/rewards/blockRewards.js.map +1 -1
- package/lib/chain/rewards/syncCommitteeRewards.d.ts +1 -1
- package/lib/chain/rewards/syncCommitteeRewards.js +1 -3
- package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
- package/lib/chain/seenCache/seenAttestationData.d.ts +1 -1
- package/lib/chain/seenCache/seenCommittee.d.ts +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +2 -2
- package/lib/chain/seenCache/seenGossipBlockInput.js +23 -27
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/shufflingCache.js +2 -4
- package/lib/chain/shufflingCache.js.map +1 -1
- package/lib/chain/stateCache/blockStateCacheImpl.d.ts +2 -2
- package/lib/chain/stateCache/datastore/file.js.map +1 -1
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts +2 -2
- package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +2 -2
- package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +5 -5
- package/lib/chain/stateCache/persistentCheckpointsCache.js +3 -3
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/types.d.ts +1 -1
- package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
- package/lib/chain/validation/aggregateAndProof.js +2 -2
- package/lib/chain/validation/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/attestation.d.ts +5 -5
- package/lib/chain/validation/attestation.js +28 -34
- package/lib/chain/validation/attestation.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +1 -1
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/blobSidecar.d.ts +1 -1
- package/lib/chain/validation/blobSidecar.js +5 -5
- package/lib/chain/validation/blobSidecar.js.map +1 -1
- package/lib/chain/validation/block.js +3 -3
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/blsToExecutionChange.js +1 -1
- package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
- package/lib/chain/validation/lightClientFinalityUpdate.js +3 -3
- package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
- package/lib/chain/validation/lightClientOptimisticUpdate.js +3 -3
- package/lib/chain/validation/lightClientOptimisticUpdate.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/signatureSets/aggregateAndProof.d.ts +2 -2
- package/lib/chain/validation/signatureSets/aggregateAndProof.js +1 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.js +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/selectionProof.d.ts +2 -2
- package/lib/chain/validation/signatureSets/selectionProof.js +1 -1
- package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.js +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
- package/lib/chain/validation/syncCommittee.js +1 -1
- package/lib/chain/validation/syncCommittee.js.map +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.js +2 -2
- package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
- package/lib/chain/validation/voluntaryExit.js +2 -2
- package/lib/chain/validation/voluntaryExit.js.map +1 -1
- package/lib/db/beacon.d.ts +3 -3
- package/lib/db/beacon.js +2 -2
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/buckets.js +3 -5
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/interface.d.ts +2 -2
- package/lib/db/repositories/attesterSlashing.d.ts +1 -1
- package/lib/db/repositories/attesterSlashing.js +1 -1
- package/lib/db/repositories/attesterSlashing.js.map +1 -1
- package/lib/db/repositories/backfilledRanges.d.ts +1 -1
- package/lib/db/repositories/backfilledRanges.js +1 -1
- package/lib/db/repositories/backfilledRanges.js.map +1 -1
- package/lib/db/repositories/blobSidecars.d.ts +1 -1
- package/lib/db/repositories/blobSidecars.js.map +1 -1
- package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
- package/lib/db/repositories/blockArchive.d.ts +2 -2
- package/lib/db/repositories/blockArchive.js +3 -3
- package/lib/db/repositories/blockArchive.js.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +1 -1
- package/lib/db/repositories/blockArchiveIndex.js +1 -1
- package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
- package/lib/db/repositories/blsToExecutionChange.d.ts +1 -1
- package/lib/db/repositories/blsToExecutionChange.js.map +1 -1
- package/lib/db/repositories/checkpointState.js +1 -0
- package/lib/db/repositories/checkpointState.js.map +1 -1
- package/lib/db/repositories/depositDataRoot.d.ts +2 -2
- package/lib/db/repositories/depositDataRoot.js +2 -2
- package/lib/db/repositories/depositDataRoot.js.map +1 -1
- package/lib/db/repositories/depositEvent.d.ts +1 -1
- package/lib/db/repositories/depositEvent.js +1 -1
- package/lib/db/repositories/depositEvent.js.map +1 -1
- package/lib/db/repositories/eth1Data.d.ts +1 -1
- package/lib/db/repositories/eth1Data.js +1 -1
- package/lib/db/repositories/eth1Data.js.map +1 -1
- package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
- package/lib/db/repositories/lightclientCheckpointHeader.js +1 -1
- package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
- package/lib/db/repositories/proposerSlashing.d.ts +1 -1
- package/lib/db/repositories/proposerSlashing.js +1 -1
- package/lib/db/repositories/proposerSlashing.js.map +1 -1
- package/lib/db/repositories/stateArchive.d.ts +2 -2
- package/lib/db/repositories/stateArchive.js +1 -1
- package/lib/db/repositories/stateArchive.js.map +1 -1
- package/lib/db/repositories/stateArchiveIndex.js.map +1 -1
- package/lib/db/repositories/voluntaryExit.d.ts +1 -1
- package/lib/db/repositories/voluntaryExit.js +1 -1
- package/lib/db/repositories/voluntaryExit.js.map +1 -1
- package/lib/db/single/preGenesisState.js.map +1 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
- package/lib/eth1/eth1DataCache.js +1 -1
- package/lib/eth1/eth1DataCache.js.map +1 -1
- package/lib/eth1/eth1DepositDataTracker.js +14 -18
- package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
- package/lib/eth1/eth1DepositsCache.d.ts +2 -2
- package/lib/eth1/eth1DepositsCache.js +4 -4
- package/lib/eth1/eth1DepositsCache.js.map +1 -1
- package/lib/eth1/eth1MergeBlockTracker.d.ts +1 -1
- package/lib/eth1/eth1MergeBlockTracker.js +41 -49
- package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
- package/lib/eth1/index.d.ts +1 -1
- package/lib/eth1/index.js +4 -8
- package/lib/eth1/index.js.map +1 -1
- package/lib/eth1/interface.d.ts +1 -1
- package/lib/eth1/provider/eth1Provider.d.ts +2 -2
- package/lib/eth1/provider/eth1Provider.js +5 -5
- package/lib/eth1/provider/eth1Provider.js.map +1 -1
- package/lib/eth1/provider/jsonRpcHttpClient.d.ts +5 -1
- package/lib/eth1/provider/jsonRpcHttpClient.js +6 -12
- package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
- package/lib/eth1/provider/utils.js +2 -2
- package/lib/eth1/provider/utils.js.map +1 -1
- package/lib/eth1/stream.d.ts +1 -1
- package/lib/eth1/stream.js +1 -1
- package/lib/eth1/stream.js.map +1 -1
- package/lib/eth1/utils/deposits.d.ts +1 -1
- package/lib/eth1/utils/deposits.js +4 -4
- package/lib/eth1/utils/deposits.js.map +1 -1
- package/lib/eth1/utils/eth1Data.js.map +1 -1
- package/lib/eth1/utils/eth1Vote.d.ts +1 -1
- package/lib/eth1/utils/eth1Vote.js +3 -5
- package/lib/eth1/utils/eth1Vote.js.map +1 -1
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +1 -3
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +1 -1
- package/lib/execution/builder/http.d.ts +18 -3
- package/lib/execution/builder/http.js +33 -8
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/execution/builder/interface.d.ts +3 -2
- package/lib/execution/engine/disabled.d.ts +1 -0
- package/lib/execution/engine/disabled.js +3 -0
- package/lib/execution/engine/disabled.js.map +1 -1
- package/lib/execution/engine/http.d.ts +6 -3
- package/lib/execution/engine/http.js +48 -12
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/index.d.ts +2 -2
- package/lib/execution/engine/index.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +4 -3
- package/lib/execution/engine/interface.js.map +1 -1
- package/lib/execution/engine/mock.d.ts +3 -2
- package/lib/execution/engine/mock.js +16 -14
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts +1 -1
- package/lib/execution/engine/types.d.ts +25 -25
- package/lib/execution/engine/types.js +41 -54
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/execution/engine/utils.d.ts +1 -1
- package/lib/execution/engine/utils.js +2 -2
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +36 -3
- package/lib/metrics/metrics/beacon.js +122 -1
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +3 -3
- package/lib/metrics/metrics.d.ts +3 -3
- package/lib/metrics/metrics.js +1 -1
- package/lib/metrics/metrics.js.map +1 -1
- package/lib/metrics/nodeJsMetrics.js +1 -1
- package/lib/metrics/nodeJsMetrics.js.map +1 -1
- package/lib/metrics/server/http.d.ts +1 -1
- package/lib/metrics/server/http.js +1 -1
- package/lib/metrics/server/http.js.map +1 -1
- package/lib/metrics/utils/avgMinMax.d.ts +1 -1
- package/lib/metrics/utils/gauge.d.ts +1 -1
- package/lib/metrics/utils/gauge.js.map +1 -1
- package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
- package/lib/metrics/utils/registryMetricCreator.js +1 -1
- package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
- package/lib/metrics/validatorMonitor.d.ts +2 -2
- package/lib/metrics/validatorMonitor.js +39 -51
- package/lib/metrics/validatorMonitor.js.map +1 -1
- package/lib/monitoring/properties.js +2 -4
- package/lib/monitoring/properties.js.map +1 -1
- package/lib/monitoring/service.js +3 -5
- package/lib/monitoring/service.js.map +1 -1
- package/lib/monitoring/system.js.map +1 -1
- package/lib/network/core/networkCore.d.ts +16 -16
- package/lib/network/core/networkCore.js +21 -20
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorker.js +5 -7
- package/lib/network/core/networkCoreWorker.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
- package/lib/network/core/networkCoreWorkerHandler.js +3 -3
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/core/types.d.ts +3 -3
- package/lib/network/discv5/index.d.ts +4 -3
- package/lib/network/discv5/index.js +6 -5
- package/lib/network/discv5/index.js.map +1 -1
- package/lib/network/discv5/types.d.ts +1 -1
- package/lib/network/discv5/utils.js +1 -0
- package/lib/network/discv5/utils.js.map +1 -1
- package/lib/network/discv5/worker.js +12 -13
- package/lib/network/discv5/worker.js.map +1 -1
- package/lib/network/events.d.ts +3 -3
- package/lib/network/forks.d.ts +1 -1
- package/lib/network/gossip/encoding.d.ts +1 -1
- package/lib/network/gossip/encoding.js +4 -6
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts +2 -2
- package/lib/network/gossip/gossipsub.js +11 -15
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +6 -6
- package/lib/network/gossip/scoringParameters.js +1 -1
- package/lib/network/gossip/scoringParameters.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +2 -2
- package/lib/network/gossip/topic.js +3 -3
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/interface.d.ts +6 -11
- package/lib/network/libp2p/index.d.ts +3 -3
- package/lib/network/libp2p/index.js +11 -11
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/metadata.d.ts +1 -1
- package/lib/network/metadata.js.map +1 -1
- package/lib/network/network.d.ts +13 -13
- package/lib/network/network.js +15 -17
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.d.ts +1 -1
- package/lib/network/peers/datastore.d.ts +2 -3
- package/lib/network/peers/datastore.js +1 -1
- package/lib/network/peers/datastore.js.map +1 -1
- package/lib/network/peers/discover.d.ts +2 -4
- package/lib/network/peers/discover.js +14 -17
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts +6 -7
- package/lib/network/peers/peerManager.js +11 -8
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/peersData.d.ts +1 -1
- package/lib/network/peers/utils/enrSubnetsDeserialize.js +1 -1
- package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
- package/lib/network/peers/utils/getConnectedPeerIds.js +2 -2
- package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/extractSlotRootFns.js +1 -1
- package/lib/network/processor/extractSlotRootFns.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts +4 -4
- package/lib/network/processor/gossipHandlers.js +15 -11
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/index.js +3 -5
- package/lib/network/processor/gossipQueues/index.js.map +1 -1
- package/lib/network/processor/gossipQueues/indexed.js +1 -3
- package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
- package/lib/network/processor/gossipQueues/linear.d.ts +1 -1
- package/lib/network/processor/gossipQueues/linear.js +5 -7
- package/lib/network/processor/gossipQueues/linear.js.map +1 -1
- package/lib/network/processor/gossipValidatorFn.d.ts +1 -1
- package/lib/network/processor/gossipValidatorFn.js +1 -1
- package/lib/network/processor/gossipValidatorFn.js.map +1 -1
- package/lib/network/processor/index.d.ts +4 -4
- package/lib/network/processor/index.js +5 -5
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/processor/types.d.ts +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
- package/lib/network/reqresp/ReqRespBeaconNode.js +2 -2
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +2 -2
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +2 -4
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +10 -3
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +145 -11
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -2
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/index.js +1 -1
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientBootstrap.js +3 -5
- package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +7 -9
- package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +8 -10
- package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts +1 -1
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +3 -5
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/status.js +1 -1
- package/lib/network/reqresp/handlers/status.js.map +1 -1
- package/lib/network/reqresp/protocols.js +1 -1
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +1 -1
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.js +3 -7
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/network/reqresp/utils/collect.d.ts +1 -1
- package/lib/network/reqresp/utils/collect.js +1 -1
- package/lib/network/reqresp/utils/collect.js.map +1 -1
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -2
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
- package/lib/network/subnets/attnetsService.d.ts +3 -3
- package/lib/network/subnets/attnetsService.js +3 -3
- package/lib/network/subnets/attnetsService.js.map +1 -1
- package/lib/network/subnets/interface.d.ts +1 -1
- package/lib/network/subnets/syncnetsService.d.ts +1 -1
- package/lib/network/subnets/syncnetsService.js +1 -1
- package/lib/network/subnets/syncnetsService.js.map +1 -1
- package/lib/network/util.d.ts +1 -4
- package/lib/network/util.js +2 -1
- package/lib/network/util.js.map +1 -1
- package/lib/node/nodejs.d.ts +10 -10
- package/lib/node/nodejs.js +11 -11
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/notifier.js +18 -28
- package/lib/node/notifier.js.map +1 -1
- package/lib/node/options.d.ts +3 -3
- package/lib/node/options.js +3 -3
- package/lib/node/options.js.map +1 -1
- package/lib/node/utils/interop/deposits.d.ts +1 -1
- package/lib/node/utils/interop/deposits.js +3 -3
- package/lib/node/utils/interop/deposits.js.map +1 -1
- package/lib/node/utils/interop/state.d.ts +1 -1
- package/lib/node/utils/interop/state.js +2 -2
- package/lib/node/utils/interop/state.js.map +1 -1
- package/lib/node/utils/state.js.map +1 -1
- package/lib/sync/backfill/backfill.d.ts +5 -5
- package/lib/sync/backfill/backfill.js +4 -3
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/backfill/errors.d.ts +1 -1
- package/lib/sync/backfill/errors.js.map +1 -1
- package/lib/sync/backfill/verify.d.ts +2 -3
- package/lib/sync/backfill/verify.js +1 -1
- package/lib/sync/backfill/verify.js.map +1 -1
- package/lib/sync/interface.d.ts +5 -5
- package/lib/sync/range/batch.d.ts +2 -2
- package/lib/sync/range/batch.js +1 -1
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +1 -1
- package/lib/sync/range/chain.js +1 -1
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.d.ts +2 -2
- package/lib/sync/range/range.js +4 -8
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/range/utils/batches.js +1 -3
- package/lib/sync/range/utils/batches.js.map +1 -1
- package/lib/sync/range/utils/hashBlocks.d.ts +1 -1
- package/lib/sync/sync.d.ts +1 -1
- package/lib/sync/sync.js +31 -30
- package/lib/sync/sync.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +3 -1
- package/lib/sync/unknownBlock.js +15 -12
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/pendingBlocksTree.js +1 -1
- package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
- package/lib/sync/utils/remoteSyncType.d.ts +1 -1
- package/lib/sync/utils/remoteSyncType.js +25 -36
- package/lib/sync/utils/remoteSyncType.js.map +1 -1
- package/lib/util/binarySearch.js +1 -1
- package/lib/util/binarySearch.js.map +1 -1
- package/lib/util/bitArray.js +1 -2
- package/lib/util/bitArray.js.map +1 -1
- package/lib/util/blobs.d.ts +2 -2
- package/lib/util/blobs.js +2 -2
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/clock.d.ts +2 -2
- package/lib/util/clock.js +1 -1
- package/lib/util/clock.js.map +1 -1
- package/lib/util/kzg.js +4 -4
- package/lib/util/kzg.js.map +1 -1
- package/lib/util/multifork.d.ts +1 -1
- package/lib/util/multifork.js.map +1 -1
- package/lib/util/peerId.js +2 -2
- package/lib/util/peerId.js.map +1 -1
- package/lib/util/queue/fnQueue.d.ts +1 -1
- package/lib/util/queue/itemQueue.d.ts +1 -1
- package/lib/util/queue/itemQueue.js +2 -2
- package/lib/util/queue/itemQueue.js.map +1 -1
- package/lib/util/sszBytes.d.ts +1 -1
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +34 -33
- package/lib/chain/archiver/archiveStates.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ProducedBlockSource } from "@lodestar/types";
|
|
2
|
-
import { NotReorgedReason } from "@lodestar/fork-choice/lib/forkChoice/interface.js";
|
|
3
1
|
import { UpdateHeadOpt } from "@lodestar/fork-choice";
|
|
4
|
-
import {
|
|
2
|
+
import { NotReorgedReason } from "@lodestar/fork-choice/lib/forkChoice/interface.js";
|
|
3
|
+
import { ProducedBlockSource } from "@lodestar/types";
|
|
4
|
+
import { BlockSelectionResult } from "../../api/impl/validator/index.js";
|
|
5
5
|
import { BlockProductionStep, PayloadPreparationType } from "../../chain/produceBlock/index.js";
|
|
6
|
+
import { RegistryMetricCreator } from "../utils/registryMetricCreator.js";
|
|
6
7
|
export type BeaconMetrics = ReturnType<typeof createBeaconMetrics>;
|
|
7
8
|
/**
|
|
8
9
|
* Metrics from:
|
|
@@ -60,9 +61,13 @@ export declare function createBeaconMetrics(register: RegistryMetricCreator): {
|
|
|
60
61
|
blockProductionSuccess: import("@lodestar/utils").GaugeExtra<{
|
|
61
62
|
source: ProducedBlockSource;
|
|
62
63
|
}>;
|
|
64
|
+
blockProductionSelectionResults: import("@lodestar/utils").GaugeExtra<BlockSelectionResult>;
|
|
63
65
|
blockProductionNumAggregated: import("@lodestar/utils").Histogram<{
|
|
64
66
|
source: ProducedBlockSource;
|
|
65
67
|
}>;
|
|
68
|
+
blockProductionExecutionPayloadValue: import("@lodestar/utils").Histogram<{
|
|
69
|
+
source: ProducedBlockSource;
|
|
70
|
+
}>;
|
|
66
71
|
blockProductionCaches: {
|
|
67
72
|
producedBlockRoot: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
68
73
|
producedBlindedBlockRoot: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
@@ -78,6 +83,34 @@ export declare function createBeaconMetrics(register: RegistryMetricCreator): {
|
|
|
78
83
|
}>;
|
|
79
84
|
payloadFetchErrors: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
80
85
|
};
|
|
86
|
+
blockInputFetchStats: {
|
|
87
|
+
totalDataAvailableBlockInputs: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
88
|
+
totalDataAvailableBlockInputBlobs: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
89
|
+
dataPromiseBlobsAlreadyAvailable: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
90
|
+
dataPromiseBlobsDelayedGossipAvailable: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
91
|
+
dataPromiseBlobsDeplayedGossipAvailableSavedGetBlobsCompute: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
92
|
+
dataPromiseBlobsFoundInGetBlobsCacheNotNull: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
93
|
+
dataPromiseBlobsFoundInGetBlobsCacheNull: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
94
|
+
dataPromiseBlobsNotAvailableInGetBlobsCache: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
95
|
+
dataPromiseBlobsEngineGetBlobsApiRequests: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
96
|
+
dataPromiseBlobsEngineGetBlobsApiNotNull: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
97
|
+
dataPromiseBlobsEngineGetBlobsApiNull: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
98
|
+
dataPromiseBlobsEngineApiGetBlobsErroredNull: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
99
|
+
dataPromiseBlobsEngineApiGetBlobsUseful: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
100
|
+
dataPromiseBlobsFinallyQueriedFromNetwork: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
101
|
+
dataPromiseBlobsFinallyAvailableFromNetwork: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
102
|
+
totalDataPromiseBlockInputsAvailableUsingGetBlobs: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
103
|
+
totalDataPromiseBlockInputsTried: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
104
|
+
totalDataPromiseBlockInputsResolvedAvailable: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
105
|
+
totalDataPromiseBlockInputsReTried: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
106
|
+
dataPromiseBlobsRetriedFromNetwork: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
107
|
+
dataPromiseBlobsRetriedAvailableFromNetwork: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
108
|
+
totalDataPromiseBlockInputsRetriedAvailableFromNetwork: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
109
|
+
getBlobsCacheSize: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
110
|
+
getBlobsCachePruned: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
111
|
+
dataPromiseBlockInputRetryTrackerCacheSize: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
112
|
+
dataPromiseBlockInputRetryTrackerCachePruned: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
113
|
+
};
|
|
81
114
|
clockSlot: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
82
115
|
clockEpoch: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
83
116
|
weakHeadDetected: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
|
|
@@ -81,7 +81,7 @@ export function createBeaconMetrics(register) {
|
|
|
81
81
|
}),
|
|
82
82
|
queuedAttestations: register.gauge({
|
|
83
83
|
name: "beacon_fork_choice_queued_attestations_count",
|
|
84
|
-
help: "
|
|
84
|
+
help: "Count of queued_attestations in fork choice per slot",
|
|
85
85
|
}),
|
|
86
86
|
validatedAttestationDatas: register.gauge({
|
|
87
87
|
name: "beacon_fork_choice_validated_attestation_datas_count",
|
|
@@ -144,12 +144,23 @@ export function createBeaconMetrics(register) {
|
|
|
144
144
|
help: "Count of blocks successfully produced",
|
|
145
145
|
labelNames: ["source"],
|
|
146
146
|
}),
|
|
147
|
+
blockProductionSelectionResults: register.gauge({
|
|
148
|
+
name: "beacon_block_production_selection_results_total",
|
|
149
|
+
help: "Count of all block production selection results",
|
|
150
|
+
labelNames: ["source", "reason"],
|
|
151
|
+
}),
|
|
147
152
|
blockProductionNumAggregated: register.histogram({
|
|
148
153
|
name: "beacon_block_production_num_aggregated_total",
|
|
149
154
|
help: "Count of all aggregated attestations in our produced block",
|
|
150
155
|
buckets: [32, 64, 96, 128],
|
|
151
156
|
labelNames: ["source"],
|
|
152
157
|
}),
|
|
158
|
+
blockProductionExecutionPayloadValue: register.histogram({
|
|
159
|
+
name: "beacon_block_production_execution_payload_value",
|
|
160
|
+
help: "Execution payload value denominated in ETH of produced blocks",
|
|
161
|
+
buckets: [0.001, 0.005, 0.01, 0.03, 0.05, 0.07, 0.1, 0.3, 0.5, 1],
|
|
162
|
+
labelNames: ["source"],
|
|
163
|
+
}),
|
|
153
164
|
blockProductionCaches: {
|
|
154
165
|
producedBlockRoot: register.gauge({
|
|
155
166
|
name: "beacon_blockroot_produced_cache_total",
|
|
@@ -185,6 +196,116 @@ export function createBeaconMetrics(register) {
|
|
|
185
196
|
help: "Count of errors while fetching payloads",
|
|
186
197
|
}),
|
|
187
198
|
},
|
|
199
|
+
blockInputFetchStats: {
|
|
200
|
+
// of already available blocks which didn't have to go through blobs pull
|
|
201
|
+
totalDataAvailableBlockInputs: register.gauge({
|
|
202
|
+
name: "beacon_blockinputs_already_available_total",
|
|
203
|
+
help: "Total number of block inputs whose blobs were already available",
|
|
204
|
+
}),
|
|
205
|
+
totalDataAvailableBlockInputBlobs: register.gauge({
|
|
206
|
+
name: "beacon_blockinput_blobs_already_available_total",
|
|
207
|
+
help: "Total number of block input blobs that of already available blocks",
|
|
208
|
+
}),
|
|
209
|
+
// of those which need to be fetched
|
|
210
|
+
dataPromiseBlobsAlreadyAvailable: register.gauge({
|
|
211
|
+
name: "beacon_datapromise_blockinput_blobs_already_available_total",
|
|
212
|
+
help: "Count of blocks that were already available in blockinput cache via gossip",
|
|
213
|
+
}),
|
|
214
|
+
dataPromiseBlobsDelayedGossipAvailable: register.gauge({
|
|
215
|
+
name: "beacon_datapromise_blockinput_blobs_delayed_gossip_available_total",
|
|
216
|
+
help: "Count of blobs that became available delayed via gossip post block arrival",
|
|
217
|
+
}),
|
|
218
|
+
dataPromiseBlobsDeplayedGossipAvailableSavedGetBlobsCompute: register.gauge({
|
|
219
|
+
name: "beacon_datapromise_blockinput_blobs_delayed_gossip_saved_computation_total",
|
|
220
|
+
help: "Count of late available blobs that saved blob sidecar computation from getblobs",
|
|
221
|
+
}),
|
|
222
|
+
dataPromiseBlobsFoundInGetBlobsCacheNotNull: register.gauge({
|
|
223
|
+
name: "beacon_datapromise_blockinput_blobs_found_nonnull_in_getblobs_cache_total",
|
|
224
|
+
help: "Count of blobs that were found not null in getblobs cache",
|
|
225
|
+
}),
|
|
226
|
+
dataPromiseBlobsFoundInGetBlobsCacheNull: register.gauge({
|
|
227
|
+
name: "beacon_datapromise_blockinput_blobs_found_null_in_getblobs_cache_total",
|
|
228
|
+
help: "Count of blobs that were found null in the getblobs cache",
|
|
229
|
+
}),
|
|
230
|
+
dataPromiseBlobsNotAvailableInGetBlobsCache: register.gauge({
|
|
231
|
+
name: "beacon_datapromise_blockinput_blobs_notfound_in_getblobs_cache_total",
|
|
232
|
+
help: "Count of blobs that were newly seen and hence in not getblobs cache",
|
|
233
|
+
}),
|
|
234
|
+
dataPromiseBlobsEngineGetBlobsApiRequests: register.gauge({
|
|
235
|
+
name: "beacon_datapromise_blockinput_blobs_queried_in_getblobs_api_total",
|
|
236
|
+
help: "Total number of blobs requested to the getblobs api",
|
|
237
|
+
}),
|
|
238
|
+
dataPromiseBlobsEngineGetBlobsApiNotNull: register.gauge({
|
|
239
|
+
name: "beacon_datapromise_blockinput_blobs_responded_nonnull_in_getblobs_api_total",
|
|
240
|
+
help: "Count of successful engine API responses that were not null",
|
|
241
|
+
}),
|
|
242
|
+
dataPromiseBlobsEngineGetBlobsApiNull: register.gauge({
|
|
243
|
+
name: "beacon_datapromise_blockinput_blobs_responded_null_in_getblobs_api_total",
|
|
244
|
+
help: "Count of engine API responses that were null",
|
|
245
|
+
}),
|
|
246
|
+
dataPromiseBlobsEngineApiGetBlobsErroredNull: register.gauge({
|
|
247
|
+
name: "beacon_datapromise_blockinput_blobs_errored_as_null_in_getblobs_api_total",
|
|
248
|
+
help: "Number of responses marked null due to errors in getblobs api",
|
|
249
|
+
}),
|
|
250
|
+
dataPromiseBlobsEngineApiGetBlobsUseful: register.gauge({
|
|
251
|
+
name: "beacon_datapromise_blockinput_getblobs_api_nonnull_responses_used_total",
|
|
252
|
+
help: "Count of successful non null engine API responses that were found useful",
|
|
253
|
+
}),
|
|
254
|
+
dataPromiseBlobsFinallyQueriedFromNetwork: register.gauge({
|
|
255
|
+
name: "beacon_datapromise_blockinput_blobs_finally_queried_from_network_total",
|
|
256
|
+
help: "Number of blob requests finally sent to the network",
|
|
257
|
+
}),
|
|
258
|
+
dataPromiseBlobsFinallyAvailableFromNetwork: register.gauge({
|
|
259
|
+
name: "beacon_datapromise_blockinput_blobs_finally_resolved_from_network_total",
|
|
260
|
+
help: "Number of blobs successfully fetched from the network",
|
|
261
|
+
}),
|
|
262
|
+
totalDataPromiseBlockInputsAvailableUsingGetBlobs: register.gauge({
|
|
263
|
+
name: "beacon_datapromise_blockinputs_available_using_getblobs_total",
|
|
264
|
+
help: "Count of block inputs that became available using non-null get blobs requests",
|
|
265
|
+
}),
|
|
266
|
+
totalDataPromiseBlockInputsTried: register.gauge({
|
|
267
|
+
name: "beacon_datapromise_blockinputs_tried_for_blobs_pull_total",
|
|
268
|
+
help: "Total number of block inputs that were tried to resolve",
|
|
269
|
+
}),
|
|
270
|
+
totalDataPromiseBlockInputsResolvedAvailable: register.gauge({
|
|
271
|
+
name: "beacon_datapromise_blockinputs_available_post_blobs_pull_total",
|
|
272
|
+
help: "Total number of block inputs that were successfully resolved as available on blobs pull",
|
|
273
|
+
}),
|
|
274
|
+
// retry counts
|
|
275
|
+
totalDataPromiseBlockInputsReTried: register.gauge({
|
|
276
|
+
name: "beacon_datapromise_blockinputs_retried_for_blobs_pull_total",
|
|
277
|
+
help: "Total number of block inputs that were retried for blobs pull from network",
|
|
278
|
+
}),
|
|
279
|
+
dataPromiseBlobsRetriedFromNetwork: register.gauge({
|
|
280
|
+
name: "beacon_datapromise_blockinput_blobs_retried_from_network_total",
|
|
281
|
+
help: "Number of blob requests required from the network on retries",
|
|
282
|
+
}),
|
|
283
|
+
dataPromiseBlobsRetriedAvailableFromNetwork: register.gauge({
|
|
284
|
+
name: "beacon_datapromise_blockinput_blobs_retried_and_resolved_from_network_total",
|
|
285
|
+
help: "Number of blobs successfully fetched from the network on retries",
|
|
286
|
+
}),
|
|
287
|
+
totalDataPromiseBlockInputsRetriedAvailableFromNetwork: register.gauge({
|
|
288
|
+
name: "beacon_datapromise_blockinputs_retried_and_resolved_from_network_total",
|
|
289
|
+
help: "Number of blockinputs successfully resolved from the network on retries",
|
|
290
|
+
}),
|
|
291
|
+
// some caches stats
|
|
292
|
+
getBlobsCacheSize: register.gauge({
|
|
293
|
+
name: "getblob_cache_size",
|
|
294
|
+
help: "getBlobs cache size",
|
|
295
|
+
}),
|
|
296
|
+
getBlobsCachePruned: register.gauge({
|
|
297
|
+
name: "getblob_cache_pruned_total",
|
|
298
|
+
help: "getblobs cache pruned count",
|
|
299
|
+
}),
|
|
300
|
+
dataPromiseBlockInputRetryTrackerCacheSize: register.gauge({
|
|
301
|
+
name: "beacon_datapromise_blockinput_retry_tracker_cache_size",
|
|
302
|
+
help: "datapromise retry tracker cache size",
|
|
303
|
+
}),
|
|
304
|
+
dataPromiseBlockInputRetryTrackerCachePruned: register.gauge({
|
|
305
|
+
name: "beacon_datapromise_blockinput_retry_tracker_cache_pruned",
|
|
306
|
+
help: "datapromise retry tracker cache pruned count",
|
|
307
|
+
}),
|
|
308
|
+
},
|
|
188
309
|
// Non-spec'ed
|
|
189
310
|
clockSlot: register.gauge({
|
|
190
311
|
name: "beacon_clock_slot",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../src/metrics/metrics/beacon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../../src/metrics/metrics/beacon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EpochTransitionStep, StateCloneSource, StateHashTreeRootSource } from "@lodestar/state-transition";
|
|
2
2
|
import { BeaconState } from "@lodestar/types";
|
|
3
|
-
import {
|
|
3
|
+
import { BlobsSource, BlockSource } from "../../chain/blocks/types.js";
|
|
4
4
|
import { JobQueueItemType } from "../../chain/bls/index.js";
|
|
5
5
|
import { BlockErrorCode } from "../../chain/errors/index.js";
|
|
6
6
|
import { InsertOutcome } from "../../chain/opPools/types.js";
|
|
@@ -8,17 +8,17 @@ import { RegenCaller, RegenFnName } from "../../chain/regen/interface.js";
|
|
|
8
8
|
import { ReprocessStatus } from "../../chain/reprocess.js";
|
|
9
9
|
import { RejectReason } from "../../chain/seenCache/seenAttestationData.js";
|
|
10
10
|
import { BlockInputAvailabilitySource } from "../../chain/seenCache/seenGossipBlockInput.js";
|
|
11
|
+
import { CacheItemType } from "../../chain/stateCache/types.js";
|
|
11
12
|
import { ExecutionPayloadStatus } from "../../execution/index.js";
|
|
12
13
|
import { GossipType } from "../../network/index.js";
|
|
13
14
|
import { CannotAcceptWorkReason, ReprocessRejectReason } from "../../network/processor/index.js";
|
|
14
15
|
import { BackfillSyncMethod } from "../../sync/backfill/backfill.js";
|
|
15
16
|
import { PendingBlockType } from "../../sync/index.js";
|
|
16
17
|
import { PeerSyncType, RangeSyncType } from "../../sync/utils/remoteSyncType.js";
|
|
18
|
+
import { AllocSource } from "../../util/bufferPool.js";
|
|
17
19
|
import { LodestarMetadata } from "../options.js";
|
|
18
20
|
import { RegistryMetricCreator } from "../utils/registryMetricCreator.js";
|
|
19
21
|
import { OpSource } from "../validatorMonitor.js";
|
|
20
|
-
import { CacheItemType } from "../../chain/stateCache/types.js";
|
|
21
|
-
import { AllocSource } from "../../util/bufferPool.js";
|
|
22
22
|
export type LodestarMetrics = ReturnType<typeof createLodestarMetrics>;
|
|
23
23
|
/**
|
|
24
24
|
* Extra Lodestar custom metrics
|
package/lib/metrics/metrics.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Registry } from "prom-client";
|
|
2
|
-
import { Logger } from "@lodestar/utils";
|
|
3
|
-
import { BeaconStateAllForks } from "@lodestar/state-transition";
|
|
4
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
+
import { BeaconStateAllForks } from "@lodestar/state-transition";
|
|
3
|
+
import { Logger } from "@lodestar/utils";
|
|
4
|
+
import { Registry } from "prom-client";
|
|
5
5
|
import { BeaconMetrics } from "./metrics/beacon.js";
|
|
6
6
|
import { LodestarMetrics } from "./metrics/lodestar.js";
|
|
7
7
|
import { MetricsOptions } from "./options.js";
|
package/lib/metrics/metrics.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getCurrentSlot } from "@lodestar/state-transition";
|
|
2
2
|
import { createBeaconMetrics } from "./metrics/beacon.js";
|
|
3
3
|
import { createLodestarMetrics } from "./metrics/lodestar.js";
|
|
4
|
+
import { collectNodeJSMetrics } from "./nodeJsMetrics.js";
|
|
4
5
|
import { RegistryMetricCreator } from "./utils/registryMetricCreator.js";
|
|
5
6
|
import { createValidatorMonitor } from "./validatorMonitor.js";
|
|
6
|
-
import { collectNodeJSMetrics } from "./nodeJsMetrics.js";
|
|
7
7
|
export function createMetrics(opts, config, anchorState, logger, externalRegistries = []) {
|
|
8
8
|
const register = new RegistryMetricCreator();
|
|
9
9
|
const beacon = createBeaconMetrics(register);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics/metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics/metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAG/E,OAAO,EAAgB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAkB,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAmB,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAM/E,MAAM,UAAU,aAAa,CAC3B,IAAoB,EACpB,MAAuB,EACvB,WAAgC,EAChC,MAAc,EACd,qBAAiC,EAAE;IAEnC,MAAM,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;IAC5C,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7F,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,EAAE;QAC5D,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtD,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE7C,4BAA4B;IAC5B,KAAK,MAAM,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC1D,QAAQ,CAAC,cAAc,CAAC,MAAmC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,GAAG,QAAQ;QACX,GAAG,gBAAgB;QACnB,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeJsMetrics.js","sourceRoot":"","sources":["../../src/metrics/nodeJsMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"nodeJsMetrics.js","sourceRoot":"","sources":["../../src/metrics/nodeJsMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAW,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,QAAkB,EAAE,MAAe;IACtE,qBAAqB,CAAC;QACpB,QAAQ;QACR,MAAM;QACN,kEAAkE;QAClE,4BAA4B,EAAE,EAAE;KACjC,CAAC,CAAC;IAEH,oDAAoD;IACpD,kEAAkE;IAClE,+DAA+D;IAC/D,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import http from "node:http";
|
|
2
|
-
import { wrapError } from "../../util/wrapError.js";
|
|
3
2
|
import { HttpActiveSocketsTracker } from "../../api/rest/activeSockets.js";
|
|
3
|
+
import { wrapError } from "../../util/wrapError.js";
|
|
4
4
|
import { RegistryMetricCreator } from "../utils/registryMetricCreator.js";
|
|
5
5
|
var RequestStatus;
|
|
6
6
|
(function (RequestStatus) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/metrics/server/http.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/metrics/server/http.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAC,wBAAwB,EAAC,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAC;AAWxE,IAAK,aAGJ;AAHD,WAAK,aAAa;IAChB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACjB,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA2B,EAC3B,EACE,QAAQ,EACR,eAAe,GAAG,KAAK,IAAI,EAAE,CAAC,EAAE,EAChC,MAAM,GAC0E;IAElF,kGAAkG;IAClG,MAAM,kBAAkB,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAEvD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,SAAS,CAA0B;QAC7E,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,sDAAsD;QAC5D,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,UAAU,SAAS,CACvD,GAAyB,EACzB,GAAwB;QAExB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACpE,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;YACzF,KAAK,CAAC,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAC,CAAC,CAAC;YAEjF,gCAAgC;YAChC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACtB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,cAAc,EAAE,YAAY,EAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,MAAM,iBAAiB,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,EAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG;QACrB,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACtC,IAAI,EAAE,8CAA8C;YACpD,IAAI,EAAE,gDAAgD;SACvD,CAAC;QACF,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACzC,IAAI,EAAE,kDAAkD;YACxD,IAAI,EAAE,yDAAyD;SAChE,CAAC;QACF,mBAAmB,EAAE,kBAAkB,CAAC,KAAK,CAAC;YAC5C,IAAI,EAAE,qDAAqD;YAC3D,IAAI,EAAE,4DAA4D;SACnE,CAAC;KACH,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE3E,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3B,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1C,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC,OAAO,EAAiB,CAAC;YACtE,MAAM,OAAO,GAAG,UAAU,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3E,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,CAAC,KAAK;YACT,6EAA6E;YAC7E,oFAAoF;YACpF,oFAAoF;YACpF,6FAA6F;YAC7F,wDAAwD;YACxD,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC;YAEhC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnB,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { GaugeConfiguration } from "prom-client";
|
|
2
1
|
import { AvgMinMax as IAvgMinMax, LabelKeys, LabelsGeneric } from "@lodestar/utils";
|
|
2
|
+
import { GaugeConfiguration } from "prom-client";
|
|
3
3
|
type GetValuesFn = () => number[];
|
|
4
4
|
/**
|
|
5
5
|
* Special non-standard "Histogram" that captures the avg, min and max of values
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Gauge } from "prom-client";
|
|
2
1
|
import { CollectFn, Gauge as IGauge, LabelKeys, LabelsGeneric } from "@lodestar/utils";
|
|
2
|
+
import { Gauge } from "prom-client";
|
|
3
3
|
/**
|
|
4
4
|
* Extends the prom-client Gauge to be able to add multiple collect functions after instantiation
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../src/metrics/utils/gauge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../src/metrics/utils/gauge.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,OAAO,UAAyC,SAAQ,KAAwB;IAAtF;;QACU,eAAU,GAAwB,EAAE,CAAC;IAc/C,CAAC;IAZC,UAAU,CAAC,SAA4B;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Registry } from "prom-client";
|
|
2
1
|
import { AvgMinMaxConfig, CounterConfig, GaugeConfig, HistogramConfig, AvgMinMax as IAvgMinMax, Counter as ICounter, GaugeExtra as IGaugeExtra, Histogram as IHistogram, LabelsGeneric, MetricsRegisterCustom, NoLabels, StaticConfig } from "@lodestar/utils";
|
|
2
|
+
import { Registry } from "prom-client";
|
|
3
3
|
export declare class RegistryMetricCreator extends Registry implements MetricsRegisterCustom {
|
|
4
4
|
gauge<Labels extends LabelsGeneric = NoLabels>(configuration: GaugeConfig<Labels>): IGaugeExtra<Labels>;
|
|
5
5
|
histogram<Labels extends LabelsGeneric = NoLabels>(configuration: HistogramConfig<Labels>): IHistogram<Labels>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Counter, Gauge, Histogram, Registry } from "prom-client";
|
|
2
2
|
import { AvgMinMax } from "./avgMinMax.js";
|
|
3
3
|
import { GaugeExtra } from "./gauge.js";
|
|
4
4
|
export class RegistryMetricCreator extends Registry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registryMetricCreator.js","sourceRoot":"","sources":["../../../src/metrics/utils/registryMetricCreator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registryMetricCreator.js","sourceRoot":"","sources":["../../../src/metrics/utils/registryMetricCreator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAChE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAEtC,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,KAAK,CAA0C,aAAkC;QAC/E,OAAO,IAAI,UAAU,CAAS,EAAC,GAAG,aAAa,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACvE,CAAC;IAED,SAAS,CAA0C,aAAsC;QACvF,OAAO,IAAI,SAAS,CAAoB,EAAC,GAAG,aAAa,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACjF,CAAC;IAED,SAAS,CAA0C,aAAsC;QACvF,OAAO,IAAI,SAAS,CAAS,EAAC,GAAG,aAAa,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,mFAAmF;IACnF,MAAM,CAA0C,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAuB;QACvF,IAAI,KAAK,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,CAA0C,aAAoC;QACnF,OAAO,IAAI,OAAO,CAAoB,EAAC,GAAG,aAAa,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC/E,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
1
2
|
import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
|
|
2
|
-
import { Logger } from "@lodestar/utils";
|
|
3
3
|
import { BeaconBlock, RootHex, altair, deneb } from "@lodestar/types";
|
|
4
|
-
import { ChainForkConfig } from "@lodestar/config";
|
|
5
4
|
import { Epoch, Slot, ValidatorIndex } from "@lodestar/types";
|
|
6
5
|
import { IndexedAttestation, SignedAggregateAndProof } from "@lodestar/types";
|
|
6
|
+
import { Logger } from "@lodestar/utils";
|
|
7
7
|
import { LodestarMetrics } from "./metrics/lodestar.js";
|
|
8
8
|
type Seconds = number;
|
|
9
9
|
export declare enum OpSource {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { computeEpochAtSlot, parseAttesterFlags, parseParticipationFlags, computeStartSlotAtEpoch, getBlockRootAtSlot, } from "@lodestar/state-transition";
|
|
2
|
-
import { LogLevel, MapDef, MapDefMax, toRootHex } from "@lodestar/utils";
|
|
3
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";
|
|
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.
|
|
6
6
|
* Historical data will be kept around for `HISTORIC_EPOCHS` before it is pruned.
|
|
@@ -531,7 +531,7 @@ function renderAttestationSummary(config, rootCache, summary, flags) {
|
|
|
531
531
|
return "timely_head";
|
|
532
532
|
}
|
|
533
533
|
//
|
|
534
|
-
|
|
534
|
+
if (flags.timelyTarget) {
|
|
535
535
|
// timelyHead == false, means at least one is true
|
|
536
536
|
// - attestation voted incorrect head
|
|
537
537
|
// - attestation was included late
|
|
@@ -575,55 +575,47 @@ function renderAttestationSummary(config, rootCache, summary, flags) {
|
|
|
575
575
|
return out;
|
|
576
576
|
}
|
|
577
577
|
//
|
|
578
|
-
|
|
578
|
+
if (flags.timelySource) {
|
|
579
579
|
// timelyTarget == false && timelySource == true means that
|
|
580
580
|
// - attestation voted the wrong target but distance is <= integer_squareroot(SLOTS_PER_EPOCH)
|
|
581
581
|
return "wrong_target_timely_source";
|
|
582
582
|
}
|
|
583
583
|
//
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
return "block_inclusion_but_orphan";
|
|
611
|
-
}
|
|
612
|
-
else {
|
|
613
|
-
return "aggregate_inclusion_but_missed";
|
|
614
|
-
}
|
|
615
|
-
// } else if (!submittedLate && !aggregateInclusion) {
|
|
616
|
-
}
|
|
617
|
-
else {
|
|
618
|
-
// Did the node had enough peers?
|
|
619
|
-
if (summary.poolSubmitSentPeers === 0) {
|
|
620
|
-
return "sent_to_zero_peers";
|
|
621
|
-
}
|
|
622
|
-
else {
|
|
623
|
-
return "no_aggregate_inclusion";
|
|
624
|
-
}
|
|
584
|
+
// timelySource == false, either:
|
|
585
|
+
// - attestation was not included in the block
|
|
586
|
+
// - included in block with wrong target (very unlikely)
|
|
587
|
+
// - included in block with distance > SLOTS_PER_EPOCH (very unlikely)
|
|
588
|
+
// Validator failed to submit an attestation for this epoch, validator client is probably offline
|
|
589
|
+
if (!summary || summary.poolSubmitDelayMinSec === null) {
|
|
590
|
+
return "no_submission";
|
|
591
|
+
}
|
|
592
|
+
const canonicalBlockInclusion = summary.blockInclusions.find((block) => isCanonical(rootCache, block));
|
|
593
|
+
if (canonicalBlockInclusion) {
|
|
594
|
+
// Canonical block inclusion with no participation flags set means wrong target + late source
|
|
595
|
+
return "wrong_target_late_source";
|
|
596
|
+
}
|
|
597
|
+
const submittedLate = summary.poolSubmitDelayMinSec >
|
|
598
|
+
(INTERVALS_LATE_ATTESTATION_SUBMISSION * config.SECONDS_PER_SLOT) / INTERVALS_PER_SLOT;
|
|
599
|
+
const aggregateInclusion = summary.aggregateInclusionDelaysSec.length > 0;
|
|
600
|
+
if (submittedLate && aggregateInclusion) {
|
|
601
|
+
return "late_submit";
|
|
602
|
+
}
|
|
603
|
+
if (submittedLate && !aggregateInclusion) {
|
|
604
|
+
return "late_submit_no_aggregate_inclusion";
|
|
605
|
+
}
|
|
606
|
+
if (!submittedLate && aggregateInclusion) {
|
|
607
|
+
// TODO: Why was it missed then?
|
|
608
|
+
if (summary.blockInclusions.length) {
|
|
609
|
+
return "block_inclusion_but_orphan";
|
|
625
610
|
}
|
|
611
|
+
return "aggregate_inclusion_but_missed";
|
|
612
|
+
// } else if (!submittedLate && !aggregateInclusion) {
|
|
613
|
+
}
|
|
614
|
+
// Did the node had enough peers?
|
|
615
|
+
if (summary.poolSubmitSentPeers === 0) {
|
|
616
|
+
return "sent_to_zero_peers";
|
|
626
617
|
}
|
|
618
|
+
return "no_aggregate_inclusion";
|
|
627
619
|
}
|
|
628
620
|
function whyIsHeadVoteWrong(rootCache, canonicalBlockInclusion) {
|
|
629
621
|
const { votedForMissedSlot, attestationSlot } = canonicalBlockInclusion;
|
|
@@ -666,9 +658,7 @@ function whyIsHeadVoteWrong(rootCache, canonicalBlockInclusion) {
|
|
|
666
658
|
// \_(A)_(A)
|
|
667
659
|
//
|
|
668
660
|
// Vote for different heads on skipped slot
|
|
669
|
-
|
|
670
|
-
return "wrong_head_vote";
|
|
671
|
-
}
|
|
661
|
+
return "wrong_head_vote";
|
|
672
662
|
}
|
|
673
663
|
function whyIsDistanceNotOk(rootCache, canonicalBlockInclusion, summary) {
|
|
674
664
|
// If the attestation is not included in any aggregate it's likely because it was sent late.
|
|
@@ -680,9 +670,7 @@ function whyIsDistanceNotOk(rootCache, canonicalBlockInclusion, summary) {
|
|
|
680
670
|
return "next_slot_missed";
|
|
681
671
|
}
|
|
682
672
|
//
|
|
683
|
-
|
|
684
|
-
return "late_unknown";
|
|
685
|
-
}
|
|
673
|
+
return "late_unknown";
|
|
686
674
|
}
|
|
687
675
|
/** Returns true if the state's root record includes `block` */
|
|
688
676
|
function isCanonical(rootCache, block) {
|