@lodestar/beacon-node 1.35.0-dev.fcf8d024ea → 1.35.0-dev.feed916580
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/config/constants.d.ts +0 -5
- package/lib/api/impl/config/constants.js +1 -6
- package/lib/api/impl/config/constants.js.map +1 -1
- package/lib/api/impl/validator/index.js +3 -5
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.js +1 -1
- package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +3 -4
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +7 -1
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/bls/multithread/index.js +0 -1
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/chain.js +3 -2
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +2 -2
- package/lib/chain/opPools/attestationPool.d.ts +3 -2
- package/lib/chain/opPools/attestationPool.js +5 -3
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
- package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
- package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
- package/lib/chain/opPools/types.d.ts +1 -1
- package/lib/chain/opPools/types.js +1 -1
- package/lib/chain/opPools/types.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +3 -3
- package/lib/chain/prepareNextSlot.js +8 -8
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +8 -9
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
- package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
- package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
- package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
- package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
- package/lib/chain/validatorMonitor.js +14 -20
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/db/buckets.d.ts +4 -4
- package/lib/db/buckets.js +4 -4
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/repositories/blobSidecars.js +1 -1
- package/lib/db/repositories/blobSidecars.js.map +1 -1
- package/lib/db/repositories/blobSidecarsArchive.js +1 -1
- package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
- package/lib/db/repositories/dataColumnSidecar.js +1 -1
- package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
- package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
- package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +1 -1
- package/lib/metrics/metrics/lodestar.js +3 -3
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js +3 -9
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/discv5/index.js +1 -4
- package/lib/network/discv5/index.js.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts +0 -1
- package/lib/network/gossip/gossipsub.js +16 -35
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/metrics.d.ts +7 -15
- package/lib/network/gossip/metrics.js +6 -16
- package/lib/network/gossip/metrics.js.map +1 -1
- package/lib/network/libp2p/index.js +1 -9
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/metadata.js +1 -2
- package/lib/network/metadata.js.map +1 -1
- package/lib/network/network.d.ts +1 -1
- package/lib/network/network.js +13 -11
- package/lib/network/network.js.map +1 -1
- package/lib/network/peers/datastore.d.ts +2 -2
- package/lib/network/peers/datastore.js +2 -2
- package/lib/network/peers/datastore.js.map +1 -1
- package/lib/network/processor/index.d.ts +1 -1
- package/lib/network/processor/index.js +3 -2
- package/lib/network/processor/index.js.map +1 -1
- package/lib/sync/types.d.ts +1 -0
- package/lib/sync/types.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +1 -0
- package/lib/sync/unknownBlock.js +19 -17
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRoot.d.ts +1 -3
- package/lib/sync/utils/downloadByRoot.js +9 -36
- package/lib/sync/utils/downloadByRoot.js.map +1 -1
- package/lib/util/blobs.js +3 -5
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/clock.d.ts +0 -5
- package/lib/util/clock.js +0 -3
- package/lib/util/clock.js.map +1 -1
- package/lib/util/dataColumns.js +1 -1
- package/lib/util/dataColumns.js.map +1 -1
- package/lib/util/execution.js +2 -19
- package/lib/util/execution.js.map +1 -1
- package/package.json +22 -32
- package/lib/api/impl/api.d.ts.map +0 -1
- package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
- package/lib/api/impl/beacon/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
- package/lib/api/impl/config/constants.d.ts.map +0 -1
- package/lib/api/impl/config/index.d.ts.map +0 -1
- package/lib/api/impl/debug/index.d.ts.map +0 -1
- package/lib/api/impl/errors.d.ts.map +0 -1
- package/lib/api/impl/events/index.d.ts.map +0 -1
- package/lib/api/impl/index.d.ts.map +0 -1
- package/lib/api/impl/lightclient/index.d.ts.map +0 -1
- package/lib/api/impl/lodestar/index.d.ts.map +0 -1
- package/lib/api/impl/node/index.d.ts.map +0 -1
- package/lib/api/impl/node/utils.d.ts.map +0 -1
- package/lib/api/impl/proof/index.d.ts.map +0 -1
- package/lib/api/impl/types.d.ts.map +0 -1
- package/lib/api/impl/utils.d.ts.map +0 -1
- package/lib/api/impl/validator/index.d.ts.map +0 -1
- package/lib/api/impl/validator/utils.d.ts.map +0 -1
- package/lib/api/index.d.ts.map +0 -1
- package/lib/api/options.d.ts.map +0 -1
- package/lib/api/rest/activeSockets.d.ts.map +0 -1
- package/lib/api/rest/base.d.ts.map +0 -1
- package/lib/api/rest/index.d.ts.map +0 -1
- package/lib/api/rest/swaggerUI.d.ts.map +0 -1
- package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
- package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
- package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
- package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
- package/lib/chain/archiveStore/constants.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
- package/lib/chain/archiveStore/index.d.ts.map +0 -1
- package/lib/chain/archiveStore/interface.d.ts.map +0 -1
- package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
- package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
- package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
- package/lib/chain/balancesCache.d.ts.map +0 -1
- package/lib/chain/beaconProposerCache.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
- package/lib/chain/blocks/importBlock.d.ts.map +0 -1
- package/lib/chain/blocks/index.d.ts.map +0 -1
- package/lib/chain/blocks/types.d.ts.map +0 -1
- package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
- package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
- package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
- package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
- package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
- package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
- package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
- package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
- package/lib/chain/bls/index.d.ts.map +0 -1
- package/lib/chain/bls/interface.d.ts.map +0 -1
- package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
- package/lib/chain/bls/multithread/index.d.ts.map +0 -1
- package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
- package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
- package/lib/chain/bls/multithread/types.d.ts.map +0 -1
- package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
- package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
- package/lib/chain/bls/singleThread.d.ts.map +0 -1
- package/lib/chain/bls/utils.d.ts.map +0 -1
- package/lib/chain/chain.d.ts.map +0 -1
- package/lib/chain/emitter.d.ts.map +0 -1
- package/lib/chain/errors/attestationError.d.ts.map +0 -1
- package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
- package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
- package/lib/chain/errors/blockError.d.ts.map +0 -1
- package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
- package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
- package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
- package/lib/chain/errors/index.d.ts.map +0 -1
- package/lib/chain/errors/lightClientError.d.ts.map +0 -1
- package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
- package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
- package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
- package/lib/chain/forkChoice/index.d.ts.map +0 -1
- package/lib/chain/genesis/genesis.d.ts.map +0 -1
- package/lib/chain/genesis/interface.d.ts.map +0 -1
- package/lib/chain/index.d.ts.map +0 -1
- package/lib/chain/initState.d.ts.map +0 -1
- package/lib/chain/interface.d.ts.map +0 -1
- package/lib/chain/lightClient/index.d.ts.map +0 -1
- package/lib/chain/lightClient/proofs.d.ts.map +0 -1
- package/lib/chain/lightClient/types.d.ts.map +0 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
- package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
- package/lib/chain/opPools/index.d.ts.map +0 -1
- package/lib/chain/opPools/opPool.d.ts.map +0 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
- package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
- package/lib/chain/opPools/types.d.ts.map +0 -1
- package/lib/chain/opPools/utils.d.ts.map +0 -1
- package/lib/chain/options.d.ts.map +0 -1
- package/lib/chain/prepareNextSlot.d.ts.map +0 -1
- package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
- package/lib/chain/produceBlock/index.d.ts.map +0 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
- package/lib/chain/regen/errors.d.ts.map +0 -1
- package/lib/chain/regen/index.d.ts.map +0 -1
- package/lib/chain/regen/interface.d.ts.map +0 -1
- package/lib/chain/regen/queued.d.ts.map +0 -1
- package/lib/chain/regen/regen.d.ts.map +0 -1
- package/lib/chain/reprocess.d.ts.map +0 -1
- package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
- package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
- package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
- package/lib/chain/seenCache/index.d.ts.map +0 -1
- package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
- package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
- package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
- package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
- package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
- package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
- package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
- package/lib/chain/serializeState.d.ts.map +0 -1
- package/lib/chain/shufflingCache.d.ts.map +0 -1
- package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
- package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
- package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
- package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
- package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
- package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
- package/lib/chain/stateCache/index.d.ts.map +0 -1
- package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
- package/lib/chain/stateCache/types.d.ts.map +0 -1
- package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
- package/lib/chain/validation/attestation.d.ts.map +0 -1
- package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
- package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
- package/lib/chain/validation/block.d.ts.map +0 -1
- package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
- package/lib/chain/validation/index.d.ts.map +0 -1
- package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
- package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
- package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
- package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
- package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
- package/lib/chain/validatorMonitor.d.ts.map +0 -1
- package/lib/constants/constants.d.ts.map +0 -1
- package/lib/constants/index.d.ts.map +0 -1
- package/lib/constants/network.d.ts.map +0 -1
- package/lib/db/beacon.d.ts.map +0 -1
- package/lib/db/buckets.d.ts.map +0 -1
- package/lib/db/index.d.ts.map +0 -1
- package/lib/db/interface.d.ts.map +0 -1
- package/lib/db/options.d.ts.map +0 -1
- package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
- package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
- package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
- package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
- package/lib/db/repositories/block.d.ts.map +0 -1
- package/lib/db/repositories/blockArchive.d.ts.map +0 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
- package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
- package/lib/db/repositories/checkpointState.d.ts.map +0 -1
- package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
- package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
- package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
- package/lib/db/repositories/depositEvent.d.ts.map +0 -1
- package/lib/db/repositories/eth1Data.d.ts.map +0 -1
- package/lib/db/repositories/index.d.ts.map +0 -1
- package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
- package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
- package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
- package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
- package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
- package/lib/db/repositories/stateArchive.d.ts.map +0 -1
- package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
- package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
- package/lib/db/single/index.d.ts.map +0 -1
- package/lib/db/single/preGenesisState.d.ts.map +0 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
- package/lib/eth1/errors.d.ts.map +0 -1
- package/lib/eth1/eth1DataCache.d.ts.map +0 -1
- package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
- package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
- package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
- package/lib/eth1/index.d.ts.map +0 -1
- package/lib/eth1/interface.d.ts.map +0 -1
- package/lib/eth1/options.d.ts.map +0 -1
- package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
- package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
- package/lib/eth1/provider/jwt.d.ts.map +0 -1
- package/lib/eth1/provider/utils.d.ts.map +0 -1
- package/lib/eth1/stream.d.ts.map +0 -1
- package/lib/eth1/utils/depositContract.d.ts.map +0 -1
- package/lib/eth1/utils/deposits.d.ts.map +0 -1
- package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
- package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
- package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
- package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
- package/lib/execution/builder/cache.d.ts.map +0 -1
- package/lib/execution/builder/http.d.ts.map +0 -1
- package/lib/execution/builder/index.d.ts.map +0 -1
- package/lib/execution/builder/interface.d.ts.map +0 -1
- package/lib/execution/builder/utils.d.ts.map +0 -1
- package/lib/execution/engine/disabled.d.ts.map +0 -1
- package/lib/execution/engine/http.d.ts.map +0 -1
- package/lib/execution/engine/index.d.ts.map +0 -1
- package/lib/execution/engine/interface.d.ts.map +0 -1
- package/lib/execution/engine/mock.d.ts.map +0 -1
- package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
- package/lib/execution/engine/types.d.ts.map +0 -1
- package/lib/execution/engine/utils.d.ts.map +0 -1
- package/lib/execution/index.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/metrics/index.d.ts.map +0 -1
- package/lib/metrics/metrics/beacon.d.ts.map +0 -1
- package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
- package/lib/metrics/metrics.d.ts.map +0 -1
- package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
- package/lib/metrics/options.d.ts.map +0 -1
- package/lib/metrics/server/http.d.ts.map +0 -1
- package/lib/metrics/server/index.d.ts.map +0 -1
- package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
- package/lib/metrics/utils/gauge.d.ts.map +0 -1
- package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
- package/lib/monitoring/clientStats.d.ts.map +0 -1
- package/lib/monitoring/index.d.ts.map +0 -1
- package/lib/monitoring/options.d.ts.map +0 -1
- package/lib/monitoring/properties.d.ts.map +0 -1
- package/lib/monitoring/service.d.ts.map +0 -1
- package/lib/monitoring/system.d.ts.map +0 -1
- package/lib/monitoring/types.d.ts.map +0 -1
- package/lib/network/core/events.d.ts.map +0 -1
- package/lib/network/core/index.d.ts.map +0 -1
- package/lib/network/core/metrics.d.ts.map +0 -1
- package/lib/network/core/networkCore.d.ts.map +0 -1
- package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
- package/lib/network/core/types.d.ts.map +0 -1
- package/lib/network/discv5/index.d.ts.map +0 -1
- package/lib/network/discv5/types.d.ts.map +0 -1
- package/lib/network/discv5/utils.d.ts.map +0 -1
- package/lib/network/discv5/worker.d.ts.map +0 -1
- package/lib/network/events.d.ts.map +0 -1
- package/lib/network/forks.d.ts.map +0 -1
- package/lib/network/gossip/constants.d.ts.map +0 -1
- package/lib/network/gossip/encoding.d.ts.map +0 -1
- package/lib/network/gossip/errors.d.ts.map +0 -1
- package/lib/network/gossip/gossipsub.d.ts.map +0 -1
- package/lib/network/gossip/index.d.ts.map +0 -1
- package/lib/network/gossip/interface.d.ts.map +0 -1
- package/lib/network/gossip/metrics.d.ts.map +0 -1
- package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
- package/lib/network/gossip/topic.d.ts.map +0 -1
- package/lib/network/index.d.ts.map +0 -1
- package/lib/network/interface.d.ts.map +0 -1
- package/lib/network/libp2p/error.d.ts.map +0 -1
- package/lib/network/libp2p/index.d.ts.map +0 -1
- package/lib/network/metadata.d.ts.map +0 -1
- package/lib/network/network.d.ts.map +0 -1
- package/lib/network/networkConfig.d.ts.map +0 -1
- package/lib/network/options.d.ts.map +0 -1
- package/lib/network/peers/client.d.ts.map +0 -1
- package/lib/network/peers/datastore.d.ts.map +0 -1
- package/lib/network/peers/discover.d.ts.map +0 -1
- package/lib/network/peers/index.d.ts.map +0 -1
- package/lib/network/peers/peerManager.d.ts.map +0 -1
- package/lib/network/peers/peersData.d.ts.map +0 -1
- package/lib/network/peers/score/constants.d.ts.map +0 -1
- package/lib/network/peers/score/index.d.ts.map +0 -1
- package/lib/network/peers/score/interface.d.ts.map +0 -1
- package/lib/network/peers/score/score.d.ts.map +0 -1
- package/lib/network/peers/score/store.d.ts.map +0 -1
- package/lib/network/peers/score/utils.d.ts.map +0 -1
- package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
- package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
- package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
- package/lib/network/peers/utils/index.d.ts.map +0 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
- package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
- package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
- package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
- package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
- package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
- package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
- package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
- package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
- package/lib/network/processor/index.d.ts.map +0 -1
- package/lib/network/processor/types.d.ts.map +0 -1
- package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
- package/lib/network/reqresp/index.d.ts.map +0 -1
- package/lib/network/reqresp/interface.d.ts.map +0 -1
- package/lib/network/reqresp/protocols.d.ts.map +0 -1
- package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
- package/lib/network/reqresp/score.d.ts.map +0 -1
- package/lib/network/reqresp/types.d.ts.map +0 -1
- package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
- package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
- package/lib/network/statusCache.d.ts.map +0 -1
- package/lib/network/subnets/attnetsService.d.ts.map +0 -1
- package/lib/network/subnets/index.d.ts.map +0 -1
- package/lib/network/subnets/interface.d.ts.map +0 -1
- package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
- package/lib/network/subnets/util.d.ts.map +0 -1
- package/lib/network/util.d.ts.map +0 -1
- package/lib/node/index.d.ts.map +0 -1
- package/lib/node/nodejs.d.ts.map +0 -1
- package/lib/node/notifier.d.ts.map +0 -1
- package/lib/node/options.d.ts.map +0 -1
- package/lib/node/utils/interop/deposits.d.ts.map +0 -1
- package/lib/node/utils/interop/state.d.ts.map +0 -1
- package/lib/node/utils/lightclient.d.ts.map +0 -1
- package/lib/node/utils/state.d.ts.map +0 -1
- package/lib/sync/backfill/backfill.d.ts.map +0 -1
- package/lib/sync/backfill/errors.d.ts.map +0 -1
- package/lib/sync/backfill/index.d.ts.map +0 -1
- package/lib/sync/backfill/verify.d.ts.map +0 -1
- package/lib/sync/constants.d.ts.map +0 -1
- package/lib/sync/index.d.ts.map +0 -1
- package/lib/sync/interface.d.ts.map +0 -1
- package/lib/sync/options.d.ts.map +0 -1
- package/lib/sync/range/batch.d.ts.map +0 -1
- package/lib/sync/range/chain.d.ts.map +0 -1
- package/lib/sync/range/range.d.ts.map +0 -1
- package/lib/sync/range/utils/batches.d.ts.map +0 -1
- package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
- package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
- package/lib/sync/range/utils/index.d.ts.map +0 -1
- package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
- package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
- package/lib/sync/sync.d.ts.map +0 -1
- package/lib/sync/types.d.ts.map +0 -1
- package/lib/sync/unknownBlock.d.ts.map +0 -1
- package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
- package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
- package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
- package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
- package/lib/util/address.d.ts.map +0 -1
- package/lib/util/array.d.ts.map +0 -1
- package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
- package/lib/util/binarySearch.d.ts.map +0 -1
- package/lib/util/bitArray.d.ts.map +0 -1
- package/lib/util/blobs.d.ts.map +0 -1
- package/lib/util/bufferPool.d.ts.map +0 -1
- package/lib/util/bytes.d.ts.map +0 -1
- package/lib/util/chunkify.d.ts.map +0 -1
- package/lib/util/clock.d.ts.map +0 -1
- package/lib/util/dataColumns.d.ts.map +0 -1
- package/lib/util/dependentRoot.d.ts.map +0 -1
- package/lib/util/enum.d.ts.map +0 -1
- package/lib/util/error.d.ts.map +0 -1
- package/lib/util/eventLoop.d.ts.map +0 -1
- package/lib/util/execution.d.ts.map +0 -1
- package/lib/util/file.d.ts.map +0 -1
- package/lib/util/forkChoice.d.ts.map +0 -1
- package/lib/util/forkName.d.ts.map +0 -1
- package/lib/util/graffiti.d.ts.map +0 -1
- package/lib/util/hex.d.ts.map +0 -1
- package/lib/util/index.d.ts.map +0 -1
- package/lib/util/ip.d.ts.map +0 -1
- package/lib/util/itTrigger.d.ts.map +0 -1
- package/lib/util/kzg.d.ts.map +0 -1
- package/lib/util/map.d.ts.map +0 -1
- package/lib/util/metadata.d.ts.map +0 -1
- package/lib/util/multifork.d.ts.map +0 -1
- package/lib/util/numpy.d.ts.map +0 -1
- package/lib/util/peerId.d.ts.map +0 -1
- package/lib/util/profile.d.ts.map +0 -1
- package/lib/util/promises.d.ts.map +0 -1
- package/lib/util/queue/errors.d.ts.map +0 -1
- package/lib/util/queue/fnQueue.d.ts.map +0 -1
- package/lib/util/queue/index.d.ts.map +0 -1
- package/lib/util/queue/itemQueue.d.ts.map +0 -1
- package/lib/util/queue/options.d.ts.map +0 -1
- package/lib/util/serializedCache.d.ts.map +0 -1
- package/lib/util/set.d.ts.map +0 -1
- package/lib/util/shuffle.d.ts.map +0 -1
- package/lib/util/sortBy.d.ts.map +0 -1
- package/lib/util/sszBytes.d.ts.map +0 -1
- package/lib/util/strictEvents.d.ts.map +0 -1
- package/lib/util/time.d.ts.map +0 -1
- package/lib/util/timeSeries.d.ts.map +0 -1
- package/lib/util/types.d.ts.map +0 -1
- package/lib/util/workerEvents.d.ts.map +0 -1
- package/lib/util/wrapError.d.ts.map +0 -1
- package/src/api/impl/api.ts +0 -26
- package/src/api/impl/beacon/blocks/index.ts +0 -744
- package/src/api/impl/beacon/blocks/utils.ts +0 -75
- package/src/api/impl/beacon/index.ts +0 -35
- package/src/api/impl/beacon/pool/index.ts +0 -314
- package/src/api/impl/beacon/rewards/index.ts +0 -30
- package/src/api/impl/beacon/state/index.ts +0 -406
- package/src/api/impl/beacon/state/utils.ts +0 -189
- package/src/api/impl/config/constants.ts +0 -127
- package/src/api/impl/config/index.ts +0 -59
- package/src/api/impl/debug/index.ts +0 -131
- package/src/api/impl/errors.ts +0 -50
- package/src/api/impl/events/index.ts +0 -33
- package/src/api/impl/index.ts +0 -6
- package/src/api/impl/lightclient/index.ts +0 -64
- package/src/api/impl/lodestar/index.ts +0 -257
- package/src/api/impl/node/index.ts +0 -88
- package/src/api/impl/node/utils.ts +0 -51
- package/src/api/impl/proof/index.ts +0 -60
- package/src/api/impl/types.ts +0 -17
- package/src/api/impl/utils.ts +0 -25
- package/src/api/impl/validator/index.ts +0 -1540
- package/src/api/impl/validator/utils.ts +0 -85
- package/src/api/index.ts +0 -2
- package/src/api/options.ts +0 -16
- package/src/api/rest/activeSockets.ts +0 -109
- package/src/api/rest/base.ts +0 -216
- package/src/api/rest/index.ts +0 -63
- package/src/api/rest/swaggerUI.ts +0 -80
- package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
- package/src/chain/ColumnReconstructionTracker.ts +0 -90
- package/src/chain/GetBlobsTracker.ts +0 -115
- package/src/chain/archiveStore/archiveStore.ts +0 -222
- package/src/chain/archiveStore/constants.ts +0 -5
- package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
- package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
- package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
- package/src/chain/archiveStore/historicalState/types.ts +0 -41
- package/src/chain/archiveStore/historicalState/worker.ts +0 -77
- package/src/chain/archiveStore/index.ts +0 -3
- package/src/chain/archiveStore/interface.ts +0 -75
- package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
- package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
- package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
- package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
- package/src/chain/balancesCache.ts +0 -52
- package/src/chain/beaconProposerCache.ts +0 -43
- package/src/chain/blocks/blockInput/blockInput.ts +0 -852
- package/src/chain/blocks/blockInput/errors.ts +0 -48
- package/src/chain/blocks/blockInput/index.ts +0 -4
- package/src/chain/blocks/blockInput/types.ts +0 -145
- package/src/chain/blocks/blockInput/utils.ts +0 -21
- package/src/chain/blocks/importBlock.ts +0 -597
- package/src/chain/blocks/index.ts +0 -179
- package/src/chain/blocks/types.ts +0 -101
- package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
- package/src/chain/blocks/utils/chainSegment.ts +0 -29
- package/src/chain/blocks/utils/checkpoint.ts +0 -25
- package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
- package/src/chain/blocks/utils/ownBanner.ts +0 -20
- package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
- package/src/chain/blocks/utils/zebraBanner.ts +0 -45
- package/src/chain/blocks/verifyBlock.ts +0 -242
- package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
- package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
- package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
- package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
- package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
- package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
- package/src/chain/bls/index.ts +0 -4
- package/src/chain/bls/interface.ts +0 -68
- package/src/chain/bls/maybeBatch.ts +0 -45
- package/src/chain/bls/multithread/index.ts +0 -582
- package/src/chain/bls/multithread/jobItem.ts +0 -119
- package/src/chain/bls/multithread/poolSize.ts +0 -16
- package/src/chain/bls/multithread/types.ts +0 -38
- package/src/chain/bls/multithread/utils.ts +0 -19
- package/src/chain/bls/multithread/worker.ts +0 -114
- package/src/chain/bls/singleThread.ts +0 -87
- package/src/chain/bls/utils.ts +0 -30
- package/src/chain/chain.ts +0 -1354
- package/src/chain/emitter.ts +0 -113
- package/src/chain/errors/attestationError.ts +0 -194
- package/src/chain/errors/attesterSlashingError.ts +0 -11
- package/src/chain/errors/blobSidecarError.ts +0 -60
- package/src/chain/errors/blockError.ts +0 -166
- package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
- package/src/chain/errors/dataColumnSidecarError.ts +0 -80
- package/src/chain/errors/gossipValidation.ts +0 -20
- package/src/chain/errors/index.ts +0 -10
- package/src/chain/errors/lightClientError.ts +0 -30
- package/src/chain/errors/proposerSlashingError.ts +0 -11
- package/src/chain/errors/syncCommitteeError.ts +0 -36
- package/src/chain/errors/voluntaryExitError.ts +0 -13
- package/src/chain/forkChoice/index.ts +0 -112
- package/src/chain/genesis/genesis.ts +0 -190
- package/src/chain/genesis/interface.ts +0 -14
- package/src/chain/index.ts +0 -6
- package/src/chain/initState.ts +0 -221
- package/src/chain/interface.ts +0 -280
- package/src/chain/lightClient/index.ts +0 -764
- package/src/chain/lightClient/proofs.ts +0 -85
- package/src/chain/lightClient/types.ts +0 -33
- package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
- package/src/chain/opPools/attestationPool.ts +0 -282
- package/src/chain/opPools/index.ts +0 -5
- package/src/chain/opPools/opPool.ts +0 -462
- package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
- package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
- package/src/chain/opPools/types.ts +0 -35
- package/src/chain/opPools/utils.ts +0 -65
- package/src/chain/options.ts +0 -138
- package/src/chain/prepareNextSlot.ts +0 -277
- package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
- package/src/chain/produceBlock/index.ts +0 -2
- package/src/chain/produceBlock/produceBlockBody.ts +0 -797
- package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
- package/src/chain/regen/errors.ts +0 -30
- package/src/chain/regen/index.ts +0 -4
- package/src/chain/regen/interface.ts +0 -93
- package/src/chain/regen/queued.ts +0 -317
- package/src/chain/regen/regen.ts +0 -424
- package/src/chain/reprocess.ts +0 -161
- package/src/chain/rewards/attestationsRewards.ts +0 -196
- package/src/chain/rewards/blockRewards.ts +0 -150
- package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
- package/src/chain/seenCache/index.ts +0 -5
- package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
- package/src/chain/seenCache/seenAttestationData.ts +0 -145
- package/src/chain/seenCache/seenAttesters.ts +0 -58
- package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
- package/src/chain/seenCache/seenBlockProposers.ts +0 -48
- package/src/chain/seenCache/seenCommittee.ts +0 -43
- package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
- package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
- package/src/chain/serializeState.ts +0 -32
- package/src/chain/shufflingCache.ts +0 -238
- package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
- package/src/chain/stateCache/datastore/db.ts +0 -36
- package/src/chain/stateCache/datastore/file.ts +0 -53
- package/src/chain/stateCache/datastore/index.ts +0 -2
- package/src/chain/stateCache/datastore/types.ts +0 -13
- package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
- package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
- package/src/chain/stateCache/index.ts +0 -3
- package/src/chain/stateCache/mapMetrics.ts +0 -52
- package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
- package/src/chain/stateCache/types.ts +0 -86
- package/src/chain/validation/aggregateAndProof.ts +0 -258
- package/src/chain/validation/attestation.ts +0 -885
- package/src/chain/validation/attesterSlashing.ts +0 -61
- package/src/chain/validation/blobSidecar.ts +0 -301
- package/src/chain/validation/block.ts +0 -188
- package/src/chain/validation/blsToExecutionChange.ts +0 -61
- package/src/chain/validation/dataColumnSidecar.ts +0 -381
- package/src/chain/validation/index.ts +0 -9
- package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
- package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
- package/src/chain/validation/proposerSlashing.ts +0 -54
- package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
- package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
- package/src/chain/validation/signatureSets/index.ts +0 -6
- package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
- package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
- package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
- package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
- package/src/chain/validation/syncCommittee.ts +0 -165
- package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
- package/src/chain/validation/voluntaryExit.ts +0 -58
- package/src/chain/validatorMonitor.ts +0 -1309
- package/src/constants/constants.ts +0 -15
- package/src/constants/index.ts +0 -2
- package/src/constants/network.ts +0 -52
- package/src/db/beacon.ts +0 -113
- package/src/db/buckets.ts +0 -80
- package/src/db/index.ts +0 -2
- package/src/db/interface.ts +0 -76
- package/src/db/options.ts +0 -7
- package/src/db/repositories/attesterSlashing.ts +0 -38
- package/src/db/repositories/backfilledRanges.ts +0 -29
- package/src/db/repositories/blobSidecars.ts +0 -37
- package/src/db/repositories/blobSidecarsArchive.ts +0 -28
- package/src/db/repositories/block.ts +0 -33
- package/src/db/repositories/blockArchive.ts +0 -170
- package/src/db/repositories/blockArchiveIndex.ts +0 -45
- package/src/db/repositories/blsToExecutionChange.ts +0 -16
- package/src/db/repositories/checkpointState.ts +0 -31
- package/src/db/repositories/dataColumnSidecar.ts +0 -49
- package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
- package/src/db/repositories/depositDataRoot.ts +0 -80
- package/src/db/repositories/depositEvent.ts +0 -32
- package/src/db/repositories/eth1Data.ts +0 -33
- package/src/db/repositories/index.ts +0 -20
- package/src/db/repositories/lightclientBestUpdate.ts +0 -41
- package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
- package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
- package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
- package/src/db/repositories/proposerSlashing.ts +0 -15
- package/src/db/repositories/stateArchive.ts +0 -69
- package/src/db/repositories/stateArchiveIndex.ts +0 -18
- package/src/db/repositories/voluntaryExit.ts +0 -15
- package/src/db/single/index.ts +0 -2
- package/src/db/single/preGenesisState.ts +0 -37
- package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
- package/src/eth1/errors.ts +0 -40
- package/src/eth1/eth1DataCache.ts +0 -26
- package/src/eth1/eth1DepositDataTracker.ts +0 -410
- package/src/eth1/eth1DepositsCache.ts +0 -141
- package/src/eth1/eth1MergeBlockTracker.ts +0 -328
- package/src/eth1/index.ts +0 -157
- package/src/eth1/interface.ts +0 -131
- package/src/eth1/options.ts +0 -28
- package/src/eth1/provider/eth1Provider.ts +0 -229
- package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
- package/src/eth1/provider/jwt.ts +0 -36
- package/src/eth1/provider/utils.ts +0 -136
- package/src/eth1/stream.ts +0 -75
- package/src/eth1/utils/depositContract.ts +0 -37
- package/src/eth1/utils/deposits.ts +0 -70
- package/src/eth1/utils/eth1Data.ts +0 -100
- package/src/eth1/utils/eth1DepositEvent.ts +0 -12
- package/src/eth1/utils/eth1Vote.ts +0 -142
- package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
- package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
- package/src/execution/builder/cache.ts +0 -39
- package/src/execution/builder/http.ts +0 -229
- package/src/execution/builder/index.ts +0 -27
- package/src/execution/builder/interface.ts +0 -49
- package/src/execution/builder/utils.ts +0 -19
- package/src/execution/engine/disabled.ts +0 -35
- package/src/execution/engine/http.ts +0 -644
- package/src/execution/engine/index.ts +0 -63
- package/src/execution/engine/interface.ts +0 -199
- package/src/execution/engine/mock.ts +0 -493
- package/src/execution/engine/payloadIdCache.ts +0 -54
- package/src/execution/engine/types.ts +0 -640
- package/src/execution/engine/utils.ts +0 -136
- package/src/execution/index.ts +0 -4
- package/src/index.ts +0 -20
- package/src/metrics/index.ts +0 -4
- package/src/metrics/metrics/beacon.ts +0 -390
- package/src/metrics/metrics/lodestar.ts +0 -1870
- package/src/metrics/metrics.ts +0 -43
- package/src/metrics/nodeJsMetrics.ts +0 -19
- package/src/metrics/options.ts +0 -22
- package/src/metrics/server/http.ts +0 -114
- package/src/metrics/server/index.ts +0 -1
- package/src/metrics/utils/avgMinMax.ts +0 -87
- package/src/metrics/utils/gauge.ts +0 -22
- package/src/metrics/utils/registryMetricCreator.ts +0 -41
- package/src/monitoring/clientStats.ts +0 -297
- package/src/monitoring/index.ts +0 -2
- package/src/monitoring/options.ts +0 -19
- package/src/monitoring/properties.ts +0 -152
- package/src/monitoring/service.ts +0 -235
- package/src/monitoring/system.ts +0 -146
- package/src/monitoring/types.ts +0 -21
- package/src/network/core/events.ts +0 -59
- package/src/network/core/index.ts +0 -3
- package/src/network/core/metrics.ts +0 -304
- package/src/network/core/networkCore.ts +0 -599
- package/src/network/core/networkCoreWorker.ts +0 -176
- package/src/network/core/networkCoreWorkerHandler.ts +0 -284
- package/src/network/core/types.ts +0 -119
- package/src/network/discv5/index.ts +0 -132
- package/src/network/discv5/types.ts +0 -74
- package/src/network/discv5/utils.ts +0 -50
- package/src/network/discv5/worker.ts +0 -137
- package/src/network/events.ts +0 -51
- package/src/network/forks.ts +0 -94
- package/src/network/gossip/constants.ts +0 -15
- package/src/network/gossip/encoding.ts +0 -111
- package/src/network/gossip/errors.ts +0 -7
- package/src/network/gossip/gossipsub.ts +0 -384
- package/src/network/gossip/index.ts +0 -4
- package/src/network/gossip/interface.ts +0 -215
- package/src/network/gossip/metrics.ts +0 -71
- package/src/network/gossip/scoringParameters.ts +0 -333
- package/src/network/gossip/topic.ts +0 -332
- package/src/network/index.ts +0 -8
- package/src/network/interface.ts +0 -134
- package/src/network/libp2p/error.ts +0 -55
- package/src/network/libp2p/index.ts +0 -153
- package/src/network/metadata.ts +0 -162
- package/src/network/network.ts +0 -767
- package/src/network/networkConfig.ts +0 -12
- package/src/network/options.ts +0 -70
- package/src/network/peers/client.ts +0 -29
- package/src/network/peers/datastore.ts +0 -188
- package/src/network/peers/discover.ts +0 -647
- package/src/network/peers/index.ts +0 -2
- package/src/network/peers/peerManager.ts +0 -899
- package/src/network/peers/peersData.ts +0 -65
- package/src/network/peers/score/constants.ts +0 -34
- package/src/network/peers/score/index.ts +0 -4
- package/src/network/peers/score/interface.ts +0 -74
- package/src/network/peers/score/score.ts +0 -200
- package/src/network/peers/score/store.ts +0 -95
- package/src/network/peers/score/utils.ts +0 -37
- package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
- package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
- package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
- package/src/network/peers/utils/index.ts +0 -4
- package/src/network/peers/utils/prioritizePeers.ts +0 -627
- package/src/network/peers/utils/subnetMap.ts +0 -88
- package/src/network/processor/aggregatorTracker.ts +0 -38
- package/src/network/processor/extractSlotRootFns.ts +0 -64
- package/src/network/processor/gossipHandlers.ts +0 -951
- package/src/network/processor/gossipQueues/index.ts +0 -114
- package/src/network/processor/gossipQueues/indexed.ts +0 -219
- package/src/network/processor/gossipQueues/linear.ts +0 -162
- package/src/network/processor/gossipQueues/types.ts +0 -57
- package/src/network/processor/gossipValidatorFn.ts +0 -142
- package/src/network/processor/index.ts +0 -496
- package/src/network/processor/types.ts +0 -27
- package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
- package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
- package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
- package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
- package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
- package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
- package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
- package/src/network/reqresp/handlers/index.ts +0 -78
- package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
- package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
- package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
- package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
- package/src/network/reqresp/index.ts +0 -2
- package/src/network/reqresp/interface.ts +0 -45
- package/src/network/reqresp/protocols.ts +0 -146
- package/src/network/reqresp/rateLimit.ts +0 -112
- package/src/network/reqresp/score.ts +0 -70
- package/src/network/reqresp/types.ts +0 -174
- package/src/network/reqresp/utils/collect.ts +0 -84
- package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
- package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
- package/src/network/statusCache.ts +0 -17
- package/src/network/subnets/attnetsService.ts +0 -385
- package/src/network/subnets/index.ts +0 -2
- package/src/network/subnets/interface.ts +0 -66
- package/src/network/subnets/syncnetsService.ts +0 -147
- package/src/network/subnets/util.ts +0 -63
- package/src/network/util.ts +0 -29
- package/src/node/index.ts +0 -2
- package/src/node/nodejs.ts +0 -349
- package/src/node/notifier.ts +0 -206
- package/src/node/options.ts +0 -51
- package/src/node/utils/interop/deposits.ts +0 -53
- package/src/node/utils/interop/state.ts +0 -59
- package/src/node/utils/lightclient.ts +0 -7
- package/src/node/utils/state.ts +0 -37
- package/src/sync/backfill/backfill.ts +0 -893
- package/src/sync/backfill/errors.ts +0 -23
- package/src/sync/backfill/index.ts +0 -1
- package/src/sync/backfill/verify.ts +0 -58
- package/src/sync/constants.ts +0 -71
- package/src/sync/index.ts +0 -2
- package/src/sync/interface.ts +0 -55
- package/src/sync/options.ts +0 -45
- package/src/sync/range/batch.ts +0 -455
- package/src/sync/range/chain.ts +0 -715
- package/src/sync/range/range.ts +0 -354
- package/src/sync/range/utils/batches.ts +0 -119
- package/src/sync/range/utils/chainTarget.ts +0 -62
- package/src/sync/range/utils/hashBlocks.ts +0 -27
- package/src/sync/range/utils/index.ts +0 -5
- package/src/sync/range/utils/peerBalancer.ts +0 -184
- package/src/sync/range/utils/updateChains.ts +0 -66
- package/src/sync/sync.ts +0 -290
- package/src/sync/types.ts +0 -57
- package/src/sync/unknownBlock.ts +0 -859
- package/src/sync/utils/downloadByRange.ts +0 -808
- package/src/sync/utils/downloadByRoot.ts +0 -560
- package/src/sync/utils/pendingBlocksTree.ts +0 -97
- package/src/sync/utils/remoteSyncType.ts +0 -144
- package/src/util/address.ts +0 -3
- package/src/util/array.ts +0 -311
- package/src/util/asyncIterableToEvents.ts +0 -164
- package/src/util/binarySearch.ts +0 -48
- package/src/util/bitArray.ts +0 -84
- package/src/util/blobs.ts +0 -210
- package/src/util/bufferPool.ts +0 -95
- package/src/util/bytes.ts +0 -11
- package/src/util/chunkify.ts +0 -27
- package/src/util/clock.ts +0 -212
- package/src/util/dataColumns.ts +0 -415
- package/src/util/dependentRoot.ts +0 -47
- package/src/util/enum.ts +0 -17
- package/src/util/error.ts +0 -56
- package/src/util/eventLoop.ts +0 -22
- package/src/util/execution.ts +0 -223
- package/src/util/file.ts +0 -52
- package/src/util/forkChoice.ts +0 -5
- package/src/util/forkName.ts +0 -20
- package/src/util/graffiti.ts +0 -39
- package/src/util/hex.ts +0 -9
- package/src/util/index.ts +0 -2
- package/src/util/ip.ts +0 -6
- package/src/util/itTrigger.ts +0 -49
- package/src/util/kzg.ts +0 -3
- package/src/util/map.ts +0 -77
- package/src/util/metadata.ts +0 -22
- package/src/util/multifork.ts +0 -69
- package/src/util/numpy.ts +0 -8
- package/src/util/peerId.ts +0 -16
- package/src/util/profile.ts +0 -54
- package/src/util/promises.ts +0 -14
- package/src/util/queue/errors.ts +0 -14
- package/src/util/queue/fnQueue.ts +0 -16
- package/src/util/queue/index.ts +0 -4
- package/src/util/queue/itemQueue.ts +0 -128
- package/src/util/queue/options.ts +0 -37
- package/src/util/serializedCache.ts +0 -20
- package/src/util/set.ts +0 -62
- package/src/util/shuffle.ts +0 -21
- package/src/util/sortBy.ts +0 -19
- package/src/util/sszBytes.ts +0 -481
- package/src/util/strictEvents.ts +0 -8
- package/src/util/time.ts +0 -13
- package/src/util/timeSeries.ts +0 -118
- package/src/util/types.ts +0 -31
- package/src/util/workerEvents.ts +0 -142
- package/src/util/wrapError.ts +0 -27
|
@@ -1,1870 +0,0 @@
|
|
|
1
|
-
/** biome-ignore-all lint/suspicious/noTemplateCurlyInString: The metric templates requires to have `${}` in a normal string */
|
|
2
|
-
import {NotReorgedReason} from "@lodestar/fork-choice";
|
|
3
|
-
import {BlockInputSource} from "../../chain/blocks/blockInput/index.js";
|
|
4
|
-
import {JobQueueItemType} from "../../chain/bls/index.js";
|
|
5
|
-
import {AttestationErrorCode, BlockErrorCode} from "../../chain/errors/index.js";
|
|
6
|
-
import {
|
|
7
|
-
type InvalidAttestationData,
|
|
8
|
-
ScannedSlotsTerminationReason,
|
|
9
|
-
} from "../../chain/opPools/aggregatedAttestationPool.js";
|
|
10
|
-
import {InsertOutcome} from "../../chain/opPools/types.js";
|
|
11
|
-
import {RegenCaller, RegenFnName} from "../../chain/regen/interface.js";
|
|
12
|
-
import {ReprocessStatus} from "../../chain/reprocess.js";
|
|
13
|
-
import {RejectReason} from "../../chain/seenCache/seenAttestationData.js";
|
|
14
|
-
import {CacheItemType} from "../../chain/stateCache/types.js";
|
|
15
|
-
import {OpSource} from "../../chain/validatorMonitor.js";
|
|
16
|
-
import {ExecutionPayloadStatus} from "../../execution/index.js";
|
|
17
|
-
import {GossipType} from "../../network/index.js";
|
|
18
|
-
import {CannotAcceptWorkReason, ReprocessRejectReason} from "../../network/processor/index.js";
|
|
19
|
-
import {BackfillSyncMethod} from "../../sync/backfill/backfill.js";
|
|
20
|
-
import {PendingBlockType} from "../../sync/types.js";
|
|
21
|
-
import {PeerSyncType, RangeSyncType} from "../../sync/utils/remoteSyncType.js";
|
|
22
|
-
import {AllocSource} from "../../util/bufferPool.js";
|
|
23
|
-
import {DataColumnReconstructionCode} from "../../util/dataColumns.js";
|
|
24
|
-
import {DataColumnEngineResult} from "../../util/execution.js";
|
|
25
|
-
import {LodestarMetadata} from "../options.js";
|
|
26
|
-
import {RegistryMetricCreator} from "../utils/registryMetricCreator.js";
|
|
27
|
-
|
|
28
|
-
export type LodestarMetrics = ReturnType<typeof createLodestarMetrics>;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Extra Lodestar custom metrics
|
|
32
|
-
*/
|
|
33
|
-
export function createLodestarMetrics(
|
|
34
|
-
register: RegistryMetricCreator,
|
|
35
|
-
metadata?: LodestarMetadata,
|
|
36
|
-
genesisTime?: number
|
|
37
|
-
) {
|
|
38
|
-
if (metadata) {
|
|
39
|
-
register.static<LodestarMetadata>({
|
|
40
|
-
name: "lodestar_version",
|
|
41
|
-
help: "Lodestar version",
|
|
42
|
-
value: metadata,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Initial static metrics
|
|
47
|
-
if (genesisTime) {
|
|
48
|
-
register
|
|
49
|
-
.gauge({
|
|
50
|
-
name: "lodestar_genesis_time",
|
|
51
|
-
help: "Genesis time in seconds",
|
|
52
|
-
})
|
|
53
|
-
.set(genesisTime);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return {
|
|
57
|
-
gossipValidationQueue: {
|
|
58
|
-
length: register.gauge<{topic: GossipType}>({
|
|
59
|
-
name: "lodestar_gossip_validation_queue_length",
|
|
60
|
-
help: "Count of total gossip validation queue length",
|
|
61
|
-
labelNames: ["topic"],
|
|
62
|
-
}),
|
|
63
|
-
keySize: register.gauge<{topic: GossipType}>({
|
|
64
|
-
name: "lodestar_gossip_validation_queue_key_size",
|
|
65
|
-
help: "Count of total gossip validation queue key size",
|
|
66
|
-
labelNames: ["topic"],
|
|
67
|
-
}),
|
|
68
|
-
droppedJobs: register.gauge<{topic: GossipType}>({
|
|
69
|
-
name: "lodestar_gossip_validation_queue_dropped_jobs_total",
|
|
70
|
-
help: "Count of total gossip validation queue dropped jobs",
|
|
71
|
-
labelNames: ["topic"],
|
|
72
|
-
}),
|
|
73
|
-
jobTime: register.histogram<{topic: GossipType}>({
|
|
74
|
-
name: "lodestar_gossip_validation_queue_job_time_seconds",
|
|
75
|
-
help: "Time to process gossip validation queue job in seconds",
|
|
76
|
-
labelNames: ["topic"],
|
|
77
|
-
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10],
|
|
78
|
-
}),
|
|
79
|
-
jobWaitTime: register.histogram<{topic: GossipType}>({
|
|
80
|
-
name: "lodestar_gossip_validation_queue_job_wait_time_seconds",
|
|
81
|
-
help: "Time from job added to the queue to starting the job in seconds",
|
|
82
|
-
labelNames: ["topic"],
|
|
83
|
-
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10],
|
|
84
|
-
}),
|
|
85
|
-
concurrency: register.gauge<{topic: GossipType}>({
|
|
86
|
-
name: "lodestar_gossip_validation_queue_concurrency",
|
|
87
|
-
help: "Current count of jobs being run on network processor for topic",
|
|
88
|
-
labelNames: ["topic"],
|
|
89
|
-
}),
|
|
90
|
-
// this metric links to the beacon_attestation topic only as this is the only topics that are batch
|
|
91
|
-
keyAge: register.histogram({
|
|
92
|
-
name: "lodestar_gossip_validation_queue_key_age_seconds",
|
|
93
|
-
help: "Age of the first item of each key in the indexed queues in seconds",
|
|
94
|
-
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 5],
|
|
95
|
-
}),
|
|
96
|
-
queueTime: register.histogram({
|
|
97
|
-
name: "lodestar_gossip_validation_queue_time_seconds",
|
|
98
|
-
help: "Total time an item stays in queue until it is processed in seconds",
|
|
99
|
-
buckets: [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 5],
|
|
100
|
-
}),
|
|
101
|
-
},
|
|
102
|
-
|
|
103
|
-
networkProcessor: {
|
|
104
|
-
gossipValidationAccept: register.gauge<{topic: GossipType}>({
|
|
105
|
-
name: "lodestar_gossip_validation_accept_total",
|
|
106
|
-
help: "Count of total gossip validation accept",
|
|
107
|
-
labelNames: ["topic"],
|
|
108
|
-
}),
|
|
109
|
-
gossipValidationIgnore: register.gauge<{topic: GossipType}>({
|
|
110
|
-
name: "lodestar_gossip_validation_ignore_total",
|
|
111
|
-
help: "Count of total gossip validation ignore",
|
|
112
|
-
labelNames: ["topic"],
|
|
113
|
-
}),
|
|
114
|
-
gossipValidationReject: register.gauge<{topic: GossipType}>({
|
|
115
|
-
name: "lodestar_gossip_validation_reject_total",
|
|
116
|
-
help: "Count of total gossip validation reject",
|
|
117
|
-
labelNames: ["topic"],
|
|
118
|
-
}),
|
|
119
|
-
gossipValidationError: register.gauge<{topic: GossipType; error: string}>({
|
|
120
|
-
name: "lodestar_gossip_validation_error_total",
|
|
121
|
-
help: "Count of total gossip validation errors detailed",
|
|
122
|
-
labelNames: ["topic", "error"],
|
|
123
|
-
}),
|
|
124
|
-
gossipAttestationIgnoreByReason: register.gauge<{reason: AttestationErrorCode}>({
|
|
125
|
-
name: "lodestar_gossip_attestation_ignore_by_reason_total",
|
|
126
|
-
help: "Count of total gossip attestation ignore by reason",
|
|
127
|
-
labelNames: ["reason"],
|
|
128
|
-
}),
|
|
129
|
-
gossipAttestationRejectByReason: register.gauge<{reason: AttestationErrorCode}>({
|
|
130
|
-
name: "lodestar_gossip_attestation_reject_by_reason_total",
|
|
131
|
-
help: "Count of total gossip attestation reject by reason",
|
|
132
|
-
labelNames: ["reason"],
|
|
133
|
-
}),
|
|
134
|
-
executeWorkCalls: register.gauge({
|
|
135
|
-
name: "lodestar_network_processor_execute_work_calls_total",
|
|
136
|
-
help: "Total calls to network processor execute work fn",
|
|
137
|
-
}),
|
|
138
|
-
jobsSubmitted: register.histogram({
|
|
139
|
-
name: "lodestar_network_processor_execute_jobs_submitted_total",
|
|
140
|
-
help: "Total calls to network processor execute work fn",
|
|
141
|
-
buckets: [0, 1, 5, 128],
|
|
142
|
-
}),
|
|
143
|
-
canNotAcceptWork: register.gauge<{reason: CannotAcceptWorkReason}>({
|
|
144
|
-
name: "lodestar_network_processor_can_not_accept_work_total",
|
|
145
|
-
help: "Total times network processor can not accept work on executeWork",
|
|
146
|
-
labelNames: ["reason"],
|
|
147
|
-
}),
|
|
148
|
-
},
|
|
149
|
-
|
|
150
|
-
networkWorkerHandler: {
|
|
151
|
-
reqRespBridgeReqCallerPending: register.gauge({
|
|
152
|
-
name: "lodestar_network_worker_handler_reqresp_bridge_req_caller_pending_count",
|
|
153
|
-
help: "Current count of pending items in reqRespBridgeReqCaller data structure",
|
|
154
|
-
}),
|
|
155
|
-
},
|
|
156
|
-
networkWorkerWireEventsOnMainThreadLatency: register.histogram<{eventName: string}>({
|
|
157
|
-
name: "lodestar_network_worker_wire_events_on_main_thread_latency_seconds",
|
|
158
|
-
help: "Latency in seconds to transmit network events to main thread across worker port",
|
|
159
|
-
labelNames: ["eventName"],
|
|
160
|
-
buckets: [0.001, 0.003, 0.01, 0.03, 0.1],
|
|
161
|
-
}),
|
|
162
|
-
|
|
163
|
-
regenQueue: {
|
|
164
|
-
length: register.gauge({
|
|
165
|
-
name: "lodestar_regen_queue_length",
|
|
166
|
-
help: "Count of total regen queue length",
|
|
167
|
-
}),
|
|
168
|
-
droppedJobs: register.gauge({
|
|
169
|
-
name: "lodestar_regen_queue_dropped_jobs_total",
|
|
170
|
-
help: "Count of total regen queue dropped jobs",
|
|
171
|
-
}),
|
|
172
|
-
jobTime: register.histogram({
|
|
173
|
-
name: "lodestar_regen_queue_job_time_seconds",
|
|
174
|
-
help: "Time to process regen queue job in seconds",
|
|
175
|
-
buckets: [0.01, 0.1, 1, 10, 100],
|
|
176
|
-
}),
|
|
177
|
-
jobWaitTime: register.histogram({
|
|
178
|
-
name: "lodestar_regen_queue_job_wait_time_seconds",
|
|
179
|
-
help: "Time from job added to the regen queue to starting in seconds",
|
|
180
|
-
buckets: [0.01, 0.1, 1, 10, 100],
|
|
181
|
-
}),
|
|
182
|
-
concurrency: register.gauge({
|
|
183
|
-
name: "lodestar_regen_queue_concurrency",
|
|
184
|
-
help: "Current concurrency of regen queue",
|
|
185
|
-
}),
|
|
186
|
-
},
|
|
187
|
-
|
|
188
|
-
blockProcessorQueue: {
|
|
189
|
-
length: register.gauge({
|
|
190
|
-
name: "lodestar_block_processor_queue_length",
|
|
191
|
-
help: "Count of total block processor queue length",
|
|
192
|
-
}),
|
|
193
|
-
droppedJobs: register.gauge({
|
|
194
|
-
name: "lodestar_block_processor_queue_dropped_jobs_total",
|
|
195
|
-
help: "Count of total block processor queue dropped jobs",
|
|
196
|
-
}),
|
|
197
|
-
jobTime: register.histogram({
|
|
198
|
-
name: "lodestar_block_processor_queue_job_time_seconds",
|
|
199
|
-
help: "Time to process block processor queue job in seconds",
|
|
200
|
-
buckets: [0.01, 0.1, 1, 10, 100],
|
|
201
|
-
}),
|
|
202
|
-
jobWaitTime: register.histogram({
|
|
203
|
-
name: "lodestar_block_processor_queue_job_wait_time_seconds",
|
|
204
|
-
help: "Time from job added to the block processor queue to starting in seconds",
|
|
205
|
-
buckets: [0.01, 0.1, 1, 10, 100],
|
|
206
|
-
}),
|
|
207
|
-
concurrency: register.gauge({
|
|
208
|
-
name: "lodestar_block_processor_queue_concurrency",
|
|
209
|
-
help: "Current concurrency of block processor queue",
|
|
210
|
-
}),
|
|
211
|
-
},
|
|
212
|
-
|
|
213
|
-
engineHttpProcessorQueue: {
|
|
214
|
-
length: register.gauge({
|
|
215
|
-
name: "lodestar_engine_http_processor_queue_length",
|
|
216
|
-
help: "Count of total engine http processor queue length",
|
|
217
|
-
}),
|
|
218
|
-
droppedJobs: register.gauge({
|
|
219
|
-
name: "lodestar_engine_http_processor_queue_dropped_jobs_total",
|
|
220
|
-
help: "Count of total engine http processor queue dropped jobs",
|
|
221
|
-
}),
|
|
222
|
-
jobTime: register.histogram({
|
|
223
|
-
name: "lodestar_engine_http_processor_queue_job_time_seconds",
|
|
224
|
-
help: "Time to process engine http processor queue job in seconds",
|
|
225
|
-
// newPayload can vary from 100 of ms to 3-4 seconds and typically 300-400ms
|
|
226
|
-
buckets: [0.05, 0.1, 0.2, 0.3, 0.5, 0.75, 1, 2, 5, 10, 25],
|
|
227
|
-
}),
|
|
228
|
-
jobWaitTime: register.histogram({
|
|
229
|
-
name: "lodestar_engine_http_processor_queue_job_wait_time_seconds",
|
|
230
|
-
help: "Time from job added to the engine http processor queue to starting in seconds",
|
|
231
|
-
// Ideally it should be picked up < 100 of ms and could run upto 100 of secs
|
|
232
|
-
buckets: [0.05, 0.1, 0.2, 0.3, 0.5, 0.75, 1, 2, 5, 10, 25, 50, 100],
|
|
233
|
-
}),
|
|
234
|
-
concurrency: register.gauge({
|
|
235
|
-
name: "lodestar_engine_http_processor_queue_concurrency_total",
|
|
236
|
-
help: "Current concurrency of engine http processor queue",
|
|
237
|
-
}),
|
|
238
|
-
},
|
|
239
|
-
|
|
240
|
-
apiRest: {
|
|
241
|
-
responseTime: register.histogram<{operationId: string}>({
|
|
242
|
-
name: "lodestar_api_rest_response_time_seconds",
|
|
243
|
-
help: "REST API time to fulfill a request by operationId",
|
|
244
|
-
labelNames: ["operationId"],
|
|
245
|
-
// Request times range between 1ms to 100ms in normal conditions. Can get to 1-5 seconds if overloaded
|
|
246
|
-
buckets: [0.01, 0.1, 1],
|
|
247
|
-
}),
|
|
248
|
-
requests: register.gauge<{operationId: string}>({
|
|
249
|
-
name: "lodestar_api_rest_requests_total",
|
|
250
|
-
help: "REST API total count requests by operationId",
|
|
251
|
-
labelNames: ["operationId"],
|
|
252
|
-
}),
|
|
253
|
-
errors: register.gauge<{operationId: string}>({
|
|
254
|
-
name: "lodestar_api_rest_errors_total",
|
|
255
|
-
help: "REST API total count of errors by operationId",
|
|
256
|
-
labelNames: ["operationId"],
|
|
257
|
-
}),
|
|
258
|
-
// Metrics for HttpActiveSocketsTracker, defined there
|
|
259
|
-
activeSockets: register.gauge({
|
|
260
|
-
name: "lodestar_api_rest_active_sockets_count",
|
|
261
|
-
help: "REST API current count of active sockets",
|
|
262
|
-
}),
|
|
263
|
-
socketsBytesRead: register.gauge({
|
|
264
|
-
name: "lodestar_api_rest_sockets_bytes_read_total",
|
|
265
|
-
help: "REST API total count of bytes read on all sockets",
|
|
266
|
-
}),
|
|
267
|
-
socketsBytesWritten: register.gauge({
|
|
268
|
-
name: "lodestar_api_rest_sockets_bytes_written_total",
|
|
269
|
-
help: "REST API total count of bytes written on all sockets",
|
|
270
|
-
}),
|
|
271
|
-
},
|
|
272
|
-
|
|
273
|
-
production: {
|
|
274
|
-
producedAggregateParticipants: register.histogram({
|
|
275
|
-
name: "lodestar_produced_aggregate_participants",
|
|
276
|
-
help: "API impl produced aggregates histogram of participants",
|
|
277
|
-
// We expect most aggregates to have 400-600 participants depending on the
|
|
278
|
-
// validator count of the network, anything lower than that is not acceptable
|
|
279
|
-
// Max committee sizes are: 1e6 vc: 488, 1.1e6 vc: 537, 1.4e6 vc: 683
|
|
280
|
-
buckets: [1, 25, 50, 100, 250, 400, 500, 600],
|
|
281
|
-
}),
|
|
282
|
-
producedSyncContributionParticipants: register.histogram({
|
|
283
|
-
name: "lodestar_produced_sync_contribution_participants",
|
|
284
|
-
help: "API impl produced sync contribution histogram of participants",
|
|
285
|
-
// We care more about tracking low quality aggregates with low participation
|
|
286
|
-
// Max committee sizes fixed to 512/4 = 128
|
|
287
|
-
buckets: [1, 5, 20, 50, 128],
|
|
288
|
-
}),
|
|
289
|
-
producedSyncAggregateParticipants: register.histogram({
|
|
290
|
-
name: "lodestar_produced_sync_aggregate_participants",
|
|
291
|
-
help: "API impl produced sync aggregate histogram of participants",
|
|
292
|
-
// We care more about tracking low quality aggregates with low participation
|
|
293
|
-
// Max committee sizes fixed to 512
|
|
294
|
-
buckets: [1, 5, 20, 50, 100, 200, 512],
|
|
295
|
-
}),
|
|
296
|
-
},
|
|
297
|
-
|
|
298
|
-
duties: {
|
|
299
|
-
requestNextEpochProposalDutiesHit: register.gauge({
|
|
300
|
-
name: "lodestar_duties_request_next_epoch_proposal_duties_hit_total",
|
|
301
|
-
help: "Total count of requestNextEpochProposalDuties hit",
|
|
302
|
-
}),
|
|
303
|
-
requestNextEpochProposalDutiesMiss: register.gauge({
|
|
304
|
-
name: "lodestar_duties_request_next_epoch_proposal_duties_miss_total",
|
|
305
|
-
help: "Total count of requestNextEpochProposalDuties miss",
|
|
306
|
-
}),
|
|
307
|
-
},
|
|
308
|
-
|
|
309
|
-
// Beacon state transition metrics
|
|
310
|
-
|
|
311
|
-
epochTransitionByCaller: register.gauge<{caller: RegenCaller}>({
|
|
312
|
-
name: "lodestar_epoch_transition_by_caller_total",
|
|
313
|
-
help: "Total count of epoch transition by caller",
|
|
314
|
-
labelNames: ["caller"],
|
|
315
|
-
}),
|
|
316
|
-
|
|
317
|
-
// BLS verifier thread pool and queue
|
|
318
|
-
|
|
319
|
-
bls: {
|
|
320
|
-
aggregatedPubkeys: register.gauge({
|
|
321
|
-
name: "lodestar_bls_aggregated_pubkeys_total",
|
|
322
|
-
help: "Total aggregated pubkeys for BLS validation",
|
|
323
|
-
}),
|
|
324
|
-
},
|
|
325
|
-
|
|
326
|
-
blsThreadPool: {
|
|
327
|
-
jobsWorkerTime: register.gauge<{workerId: number}>({
|
|
328
|
-
name: "lodestar_bls_thread_pool_time_seconds_sum",
|
|
329
|
-
help: "Total time spent verifying signature sets measured on the worker",
|
|
330
|
-
labelNames: ["workerId"],
|
|
331
|
-
}),
|
|
332
|
-
successJobsSignatureSetsCount: register.gauge({
|
|
333
|
-
name: "lodestar_bls_thread_pool_success_jobs_signature_sets_count",
|
|
334
|
-
help: "Count of total verified signature sets",
|
|
335
|
-
}),
|
|
336
|
-
errorAggregateSignatureSetsCount: register.gauge<{type: JobQueueItemType}>({
|
|
337
|
-
name: "lodestar_bls_thread_pool_error_aggregate_signature_sets_count",
|
|
338
|
-
help: "Count of error when aggregating pubkeys or signatures",
|
|
339
|
-
labelNames: ["type"],
|
|
340
|
-
}),
|
|
341
|
-
errorJobsSignatureSetsCount: register.gauge({
|
|
342
|
-
name: "lodestar_bls_thread_pool_error_jobs_signature_sets_count",
|
|
343
|
-
help: "Count of total error-ed signature sets",
|
|
344
|
-
}),
|
|
345
|
-
jobWaitTime: register.histogram({
|
|
346
|
-
name: "lodestar_bls_thread_pool_queue_job_wait_time_seconds",
|
|
347
|
-
help: "Time from job added to the queue to starting the job in seconds",
|
|
348
|
-
buckets: [0.01, 0.02, 0.5, 0.1, 0.3, 1],
|
|
349
|
-
}),
|
|
350
|
-
queueLength: register.gauge({
|
|
351
|
-
name: "lodestar_bls_thread_pool_queue_length",
|
|
352
|
-
help: "Count of total block processor queue length",
|
|
353
|
-
}),
|
|
354
|
-
workersBusy: register.gauge({
|
|
355
|
-
name: "lodestar_bls_thread_pool_workers_busy",
|
|
356
|
-
help: "Count of current busy workers",
|
|
357
|
-
}),
|
|
358
|
-
totalJobsGroupsStarted: register.gauge({
|
|
359
|
-
name: "lodestar_bls_thread_pool_job_groups_started_total",
|
|
360
|
-
help: "Count of total jobs groups started in bls thread pool, job groups include +1 jobs",
|
|
361
|
-
}),
|
|
362
|
-
totalJobsStarted: register.gauge<{type: JobQueueItemType}>({
|
|
363
|
-
name: "lodestar_bls_thread_pool_jobs_started_total",
|
|
364
|
-
help: "Count of total jobs started in bls thread pool, jobs include +1 signature sets",
|
|
365
|
-
labelNames: ["type"],
|
|
366
|
-
}),
|
|
367
|
-
totalSigSetsStarted: register.gauge<{type: JobQueueItemType}>({
|
|
368
|
-
name: "lodestar_bls_thread_pool_sig_sets_started_total",
|
|
369
|
-
help: "Count of total signature sets started in bls thread pool, sig sets include 1 pk, msg, sig",
|
|
370
|
-
labelNames: ["type"],
|
|
371
|
-
}),
|
|
372
|
-
// Re-verifying a batch means doing double work. This number must be very low or it can be a waste of CPU resources
|
|
373
|
-
batchRetries: register.gauge({
|
|
374
|
-
name: "lodestar_bls_thread_pool_batch_retries_total",
|
|
375
|
-
help: "Count of total batches that failed and had to be verified again.",
|
|
376
|
-
}),
|
|
377
|
-
// To count how many sigs are being validated with the optimization of batching them
|
|
378
|
-
batchSigsSuccess: register.gauge({
|
|
379
|
-
name: "lodestar_bls_thread_pool_batch_sigs_success_total",
|
|
380
|
-
help: "Count of total batches that failed and had to be verified again.",
|
|
381
|
-
}),
|
|
382
|
-
sameMessageRetryJobs: register.gauge({
|
|
383
|
-
name: "lodestar_bls_thread_pool_same_message_jobs_retries_total",
|
|
384
|
-
help: "Count of total same message jobs that failed and had to be verified again.",
|
|
385
|
-
}),
|
|
386
|
-
sameMessageRetrySets: register.gauge({
|
|
387
|
-
name: "lodestar_bls_thread_pool_same_message_sets_retries_total",
|
|
388
|
-
help: "Count of total same message sets that failed and had to be verified again.",
|
|
389
|
-
}),
|
|
390
|
-
// To measure the time cost of main thread <-> worker message passing
|
|
391
|
-
latencyToWorker: register.histogram({
|
|
392
|
-
name: "lodestar_bls_thread_pool_latency_to_worker",
|
|
393
|
-
help: "Time from sending the job to the worker and the worker receiving it",
|
|
394
|
-
buckets: [0.001, 0.003, 0.01, 0.03, 0.1],
|
|
395
|
-
}),
|
|
396
|
-
latencyFromWorker: register.histogram({
|
|
397
|
-
name: "lodestar_bls_thread_pool_latency_from_worker",
|
|
398
|
-
help: "Time from the worker sending the result and the main thread receiving it",
|
|
399
|
-
buckets: [0.001, 0.003, 0.01, 0.03, 0.1],
|
|
400
|
-
}),
|
|
401
|
-
mainThreadDurationInThreadPool: register.histogram({
|
|
402
|
-
name: "lodestar_bls_thread_pool_main_thread_time_seconds",
|
|
403
|
-
help: "Time to verify signatures in main thread with thread pool mode",
|
|
404
|
-
// Time can vary significantly, so just track usage ratio
|
|
405
|
-
buckets: [0],
|
|
406
|
-
}),
|
|
407
|
-
timePerSigSet: register.histogram({
|
|
408
|
-
name: "lodestar_bls_worker_thread_time_per_sigset_seconds",
|
|
409
|
-
help: "Time to verify each sigset with worker thread mode",
|
|
410
|
-
// Time per sig ~0.9ms on good machines
|
|
411
|
-
buckets: [0.5e-3, 0.75e-3, 1e-3, 1.5e-3, 2e-3, 5e-3],
|
|
412
|
-
}),
|
|
413
|
-
totalSigSets: register.gauge({
|
|
414
|
-
name: "lodestar_bls_thread_pool_sig_sets_total",
|
|
415
|
-
help: "Count of total signature sets",
|
|
416
|
-
}),
|
|
417
|
-
prioritizedSigSets: register.gauge({
|
|
418
|
-
name: "lodestar_bls_thread_pool_prioritized_sig_sets_total",
|
|
419
|
-
help: "Count of total prioritized signature sets",
|
|
420
|
-
}),
|
|
421
|
-
batchableSigSets: register.gauge({
|
|
422
|
-
name: "lodestar_bls_thread_pool_batchable_sig_sets_total",
|
|
423
|
-
help: "Count of total batchable signature sets",
|
|
424
|
-
}),
|
|
425
|
-
aggregateWithRandomnessAsyncDuration: register.histogram({
|
|
426
|
-
name: "lodestar_bls_thread_pool_aggregate_with_randomness_async_time_seconds",
|
|
427
|
-
help: "Total time performing aggregateWithRandomness async",
|
|
428
|
-
buckets: [0.001, 0.005, 0.01, 0.1, 0.3],
|
|
429
|
-
}),
|
|
430
|
-
pubkeysAggregationMainThreadDuration: register.histogram({
|
|
431
|
-
name: "lodestar_bls_thread_pool_pubkeys_aggregation_main_thread_time_seconds",
|
|
432
|
-
help: "Total time spent aggregating pubkeys on main thread",
|
|
433
|
-
buckets: [0.001, 0.005, 0.01, 0.1],
|
|
434
|
-
}),
|
|
435
|
-
},
|
|
436
|
-
|
|
437
|
-
// BLS time on single thread mode
|
|
438
|
-
blsSingleThread: {
|
|
439
|
-
singleThreadDuration: register.histogram({
|
|
440
|
-
name: "lodestar_bls_single_thread_time_seconds",
|
|
441
|
-
help: "Time to verify signatures with single thread mode",
|
|
442
|
-
buckets: [0],
|
|
443
|
-
}),
|
|
444
|
-
timePerSigSet: register.histogram({
|
|
445
|
-
name: "lodestar_bls_single_thread_time_per_sigset_seconds",
|
|
446
|
-
help: "Time to verify each sigset with single thread mode",
|
|
447
|
-
// Time per sig ~0.9ms on good machines
|
|
448
|
-
buckets: [0.5e-3, 0.75e-3, 1e-3, 1.5e-3, 2e-3, 5e-3],
|
|
449
|
-
}),
|
|
450
|
-
},
|
|
451
|
-
|
|
452
|
-
// Sync
|
|
453
|
-
|
|
454
|
-
syncStatus: register.gauge({
|
|
455
|
-
name: "lodestar_sync_status",
|
|
456
|
-
help: "Range sync status: [Stalled, SyncingFinalized, SyncingHead, Synced]",
|
|
457
|
-
}),
|
|
458
|
-
syncPeersBySyncType: register.gauge<{syncType: PeerSyncType}>({
|
|
459
|
-
name: "lodestar_sync_range_sync_peers",
|
|
460
|
-
help: "Count of peers by sync type [FullySynced, Advanced, Behind]",
|
|
461
|
-
labelNames: ["syncType"],
|
|
462
|
-
}),
|
|
463
|
-
syncSwitchGossipSubscriptions: register.gauge<{action: string}>({
|
|
464
|
-
name: "lodestar_sync_switch_gossip_subscriptions",
|
|
465
|
-
help: "Sync switched gossip subscriptions on/off",
|
|
466
|
-
labelNames: ["action"],
|
|
467
|
-
}),
|
|
468
|
-
|
|
469
|
-
syncRange: {
|
|
470
|
-
syncChainsEvents: register.gauge<{syncType: RangeSyncType; event: string}>({
|
|
471
|
-
name: "lodestar_sync_chains_events_total",
|
|
472
|
-
help: "Total number of sync chains events events, labeled by syncType",
|
|
473
|
-
labelNames: ["syncType", "event"],
|
|
474
|
-
}),
|
|
475
|
-
syncChains: register.gauge<{syncType: RangeSyncType}>({
|
|
476
|
-
name: "lodestar_sync_chains_count",
|
|
477
|
-
help: "Count of sync chains by syncType",
|
|
478
|
-
labelNames: ["syncType"],
|
|
479
|
-
}),
|
|
480
|
-
syncChainsPeers: register.histogram<{syncType: RangeSyncType}>({
|
|
481
|
-
name: "lodestar_sync_chains_peer_count_by_type",
|
|
482
|
-
help: "Count of sync chain peers by syncType",
|
|
483
|
-
labelNames: ["syncType"],
|
|
484
|
-
buckets: [0, 2, 5, 15, 50],
|
|
485
|
-
}),
|
|
486
|
-
syncChainHighestTargetSlotCompleted: register.gauge({
|
|
487
|
-
name: "lodestar_sync_chain_highest_target_slot_completed",
|
|
488
|
-
help: "Highest target slot completed by a sync chain",
|
|
489
|
-
}),
|
|
490
|
-
headSyncPeers: register.gauge<{columnIndex: number}>({
|
|
491
|
-
name: "lodestar_sync_head_sync_peers_count",
|
|
492
|
-
help: "Count of head sync peers by group index",
|
|
493
|
-
labelNames: ["columnIndex"],
|
|
494
|
-
}),
|
|
495
|
-
finalizedSyncPeers: register.gauge<{columnIndex: number}>({
|
|
496
|
-
name: "lodestar_sync_finalized_sync_peers_count",
|
|
497
|
-
help: "Count of finalized sync peers by group index",
|
|
498
|
-
labelNames: ["columnIndex"],
|
|
499
|
-
}),
|
|
500
|
-
downloadByRange: {
|
|
501
|
-
success: register.gauge({
|
|
502
|
-
name: "lodestar_sync_range_download_by_range_success_total",
|
|
503
|
-
help: "Total number of successful downloadByRange calls",
|
|
504
|
-
}),
|
|
505
|
-
error: register.gauge<{code: string; client: string}>({
|
|
506
|
-
name: "lodestar_sync_range_download_by_range_error_total",
|
|
507
|
-
help: "Total number of errored downloadByRange calls",
|
|
508
|
-
labelNames: ["code", "client"],
|
|
509
|
-
}),
|
|
510
|
-
warn: register.gauge<{code: string; client: string}>({
|
|
511
|
-
name: "lodestar_sync_range_download_by_range_warn_total",
|
|
512
|
-
help: "Total number of downloadByRange call warnings",
|
|
513
|
-
labelNames: ["code", "client"],
|
|
514
|
-
}),
|
|
515
|
-
},
|
|
516
|
-
},
|
|
517
|
-
|
|
518
|
-
blockInputSync: {
|
|
519
|
-
switchNetworkSubscriptions: register.gauge<{action: string}>({
|
|
520
|
-
name: "lodestar_sync_unknown_block_network_subscriptions_count",
|
|
521
|
-
help: "Switch network subscriptions on/off",
|
|
522
|
-
labelNames: ["action"],
|
|
523
|
-
}),
|
|
524
|
-
requests: register.gauge<{type: PendingBlockType}>({
|
|
525
|
-
name: "lodestar_sync_unknown_block_requests_total",
|
|
526
|
-
help: "Total number of unknown block events or requests",
|
|
527
|
-
labelNames: ["type"],
|
|
528
|
-
}),
|
|
529
|
-
source: register.gauge<{source: BlockInputSource}>({
|
|
530
|
-
name: "lodestar_block_input_sync_source_total",
|
|
531
|
-
help: "The origination source of one of the BlockInputSync triggers",
|
|
532
|
-
labelNames: ["source"],
|
|
533
|
-
}),
|
|
534
|
-
pendingBlocks: register.gauge({
|
|
535
|
-
name: "lodestar_sync_unknown_block_pending_blocks_size",
|
|
536
|
-
help: "Current size of UnknownBlockSync pending blocks cache",
|
|
537
|
-
}),
|
|
538
|
-
knownBadBlocks: register.gauge({
|
|
539
|
-
name: "lodestar_sync_unknown_block_known_bad_blocks_size",
|
|
540
|
-
help: "Current size of UnknownBlockSync known bad blocks cache",
|
|
541
|
-
}),
|
|
542
|
-
processedBlocksSuccess: register.gauge({
|
|
543
|
-
name: "lodestar_sync_unknown_block_processed_blocks_success_total",
|
|
544
|
-
help: "Total number of processed blocks successes in UnknownBlockSync",
|
|
545
|
-
}),
|
|
546
|
-
processedBlocksError: register.gauge({
|
|
547
|
-
name: "lodestar_sync_unknown_block_processed_blocks_error_total",
|
|
548
|
-
help: "Total number of processed blocks errors in UnknownBlockSync",
|
|
549
|
-
}),
|
|
550
|
-
downloadedBlocksSuccess: register.gauge({
|
|
551
|
-
name: "lodestar_sync_unknown_block_downloaded_blocks_success_total",
|
|
552
|
-
help: "Total number of downloaded blocks successes in UnknownBlockSync",
|
|
553
|
-
}),
|
|
554
|
-
downloadedBlocksError: register.gauge({
|
|
555
|
-
name: "lodestar_sync_unknown_block_downloaded_blocks_error_total",
|
|
556
|
-
help: "Total number of downloaded blocks errors in UnknownBlockSync",
|
|
557
|
-
}),
|
|
558
|
-
removedBlocks: register.gauge({
|
|
559
|
-
name: "lodestar_sync_unknown_block_removed_blocks_total",
|
|
560
|
-
help: "Total number of removed bad blocks in UnknownBlockSync",
|
|
561
|
-
}),
|
|
562
|
-
elapsedTimeTillReceived: register.histogram({
|
|
563
|
-
name: "lodestar_sync_unknown_block_elapsed_time_till_received",
|
|
564
|
-
help: "Time elapsed between block slot time and the time block received via unknown block sync",
|
|
565
|
-
buckets: [0.5, 1, 2, 4, 6, 12],
|
|
566
|
-
}),
|
|
567
|
-
resolveAvailabilitySource: register.gauge<{source: BlockInputSource}>({
|
|
568
|
-
name: "lodestar_sync_blockinput_availability_source",
|
|
569
|
-
help: "Total number of blocks whose data availability was resolved",
|
|
570
|
-
labelNames: ["source"],
|
|
571
|
-
}),
|
|
572
|
-
fetchBegin: register.histogram({
|
|
573
|
-
name: "lodestar_sync_unknown_block_fetch_begin_since_slot_start_seconds",
|
|
574
|
-
help: "Time into the slot when the block was fetched",
|
|
575
|
-
buckets: [0, 1, 2, 4],
|
|
576
|
-
}),
|
|
577
|
-
// we may not have slot in case of failure, so track fetch time from start to done (either success or failure)
|
|
578
|
-
fetchTimeSec: register.histogram<{result: string}>({
|
|
579
|
-
name: "lodestar_sync_unknown_block_fetch_time_seconds",
|
|
580
|
-
help: "Fetch time from start to done (either success or failure)",
|
|
581
|
-
labelNames: ["result"],
|
|
582
|
-
buckets: [0, 1, 2, 4, 8],
|
|
583
|
-
}),
|
|
584
|
-
fetchPeers: register.gauge<{result: string}>({
|
|
585
|
-
name: "lodestar_sync_unknown_block_fetch_peers_count",
|
|
586
|
-
help: "Number of peers that node fetched from",
|
|
587
|
-
labelNames: ["result"],
|
|
588
|
-
}),
|
|
589
|
-
downloadByRoot: {
|
|
590
|
-
success: register.gauge({
|
|
591
|
-
name: "lodestar_sync_unknown_block_download_by_root_success_total",
|
|
592
|
-
help: "Total number of successful downloadByRoot calls",
|
|
593
|
-
}),
|
|
594
|
-
error: register.gauge<{code: string; client: string}>({
|
|
595
|
-
name: "lodestar_sync_unknown_block_download_by_root_error_total",
|
|
596
|
-
help: "Total number of errored downloadByRoot calls",
|
|
597
|
-
labelNames: ["code", "client"],
|
|
598
|
-
}),
|
|
599
|
-
warn: register.gauge<{code: string; client: string}>({
|
|
600
|
-
name: "lodestar_sync_unknown_block_download_by_root_warn_total",
|
|
601
|
-
help: "Total number of downloadByRoot call warnings",
|
|
602
|
-
labelNames: ["code", "client"],
|
|
603
|
-
}),
|
|
604
|
-
},
|
|
605
|
-
peerBalancer: {
|
|
606
|
-
peersMetaCount: register.gauge({
|
|
607
|
-
name: "lodestar_sync_unknown_block_peer_balancer_peers_meta_count",
|
|
608
|
-
help: "Count of peers meta in UnknownBlockSync peer balancer",
|
|
609
|
-
}),
|
|
610
|
-
peersActiveRequestCount: register.gauge({
|
|
611
|
-
name: "lodestar_sync_unknown_block_peer_balancer_peers_active_request_count",
|
|
612
|
-
help: "Count of peers active requests in UnknownBlockSync peer balancer",
|
|
613
|
-
}),
|
|
614
|
-
totalActiveRequests: register.gauge({
|
|
615
|
-
name: "lodestar_sync_unknown_block_peer_balancer_total_active_requests",
|
|
616
|
-
help: "Total active requests in UnknownBlockSync peer balancer",
|
|
617
|
-
}),
|
|
618
|
-
},
|
|
619
|
-
},
|
|
620
|
-
|
|
621
|
-
// Gossip sync committee
|
|
622
|
-
gossipSyncCommittee: {
|
|
623
|
-
equivocationCount: register.counter({
|
|
624
|
-
name: "lodestar_gossip_sync_committee_equivocation_count",
|
|
625
|
-
help: "Count of sync committee messages with same validator index for different block roots",
|
|
626
|
-
}),
|
|
627
|
-
equivocationToHeadCount: register.counter({
|
|
628
|
-
name: "lodestar_gossip_sync_committee_equivocation_to_head_count",
|
|
629
|
-
help: "Count of sync committee messages which conflict to a previous message but elect the head",
|
|
630
|
-
}),
|
|
631
|
-
},
|
|
632
|
-
|
|
633
|
-
// Gossip attestation
|
|
634
|
-
gossipAttestation: {
|
|
635
|
-
useHeadBlockState: register.gauge<{caller: RegenCaller}>({
|
|
636
|
-
name: "lodestar_gossip_attestation_use_head_block_state_count",
|
|
637
|
-
help: "Count of gossip attestation verification using head block state",
|
|
638
|
-
labelNames: ["caller"],
|
|
639
|
-
}),
|
|
640
|
-
useHeadBlockStateDialedToTargetEpoch: register.gauge<{caller: RegenCaller}>({
|
|
641
|
-
name: "lodestar_gossip_attestation_use_head_block_state_dialed_to_target_epoch_count",
|
|
642
|
-
help: "Count of gossip attestation verification using head block state and dialed to target epoch",
|
|
643
|
-
labelNames: ["caller"],
|
|
644
|
-
}),
|
|
645
|
-
headSlotToAttestationSlot: register.histogram<{caller: RegenCaller}>({
|
|
646
|
-
name: "lodestar_gossip_attestation_head_slot_to_attestation_slot",
|
|
647
|
-
help: "Slot distance between attestation slot and head slot",
|
|
648
|
-
labelNames: ["caller"],
|
|
649
|
-
buckets: [0, 1, 2, 4, 8, 16, 32, 64],
|
|
650
|
-
}),
|
|
651
|
-
shufflingCacheHit: register.gauge<{caller: RegenCaller}>({
|
|
652
|
-
name: "lodestar_gossip_attestation_shuffling_cache_hit_count",
|
|
653
|
-
help: "Count of gossip attestation verification shuffling cache hit",
|
|
654
|
-
labelNames: ["caller"],
|
|
655
|
-
}),
|
|
656
|
-
shufflingCacheMiss: register.gauge<{caller: RegenCaller}>({
|
|
657
|
-
name: "lodestar_gossip_attestation_shuffling_cache_miss_count",
|
|
658
|
-
help: "Count of gossip attestation verification shuffling cache miss",
|
|
659
|
-
labelNames: ["caller"],
|
|
660
|
-
}),
|
|
661
|
-
shufflingCacheRegenHit: register.gauge<{caller: RegenCaller}>({
|
|
662
|
-
name: "lodestar_gossip_attestation_shuffling_cache_regen_hit_count",
|
|
663
|
-
help: "Count of gossip attestation verification shuffling cache regen hit",
|
|
664
|
-
labelNames: ["caller"],
|
|
665
|
-
}),
|
|
666
|
-
shufflingCacheRegenMiss: register.gauge<{caller: RegenCaller}>({
|
|
667
|
-
name: "lodestar_gossip_attestation_shuffling_cache_regen_miss_count",
|
|
668
|
-
help: "Count of gossip attestation verification shuffling cache regen miss",
|
|
669
|
-
labelNames: ["caller"],
|
|
670
|
-
}),
|
|
671
|
-
attestationSlotToClockSlot: register.histogram<{caller: RegenCaller}>({
|
|
672
|
-
name: "lodestar_gossip_attestation_attestation_slot_to_clock_slot",
|
|
673
|
-
help: "Slot distance between clock slot and attestation slot",
|
|
674
|
-
labelNames: ["caller"],
|
|
675
|
-
buckets: [0, 1, 2, 4, 8, 16, 32, 64],
|
|
676
|
-
}),
|
|
677
|
-
attestationBatchHistogram: register.histogram({
|
|
678
|
-
name: "lodestar_gossip_attestation_verified_in_batch_histogram",
|
|
679
|
-
help: "Number of attestations verified in batch",
|
|
680
|
-
buckets: [1, 2, 4, 8, 16, 32, 64, 128],
|
|
681
|
-
}),
|
|
682
|
-
attestationNonBatchCount: register.gauge({
|
|
683
|
-
name: "lodestar_gossip_attestation_verified_non_batch_count",
|
|
684
|
-
help: "Count of attestations NOT verified in batch",
|
|
685
|
-
}),
|
|
686
|
-
},
|
|
687
|
-
|
|
688
|
-
// Gossip block
|
|
689
|
-
gossipBlock: {
|
|
690
|
-
elapsedTimeTillReceived: register.histogram<{source: OpSource}>({
|
|
691
|
-
name: "lodestar_gossip_block_elapsed_time_till_received",
|
|
692
|
-
help: "Time elapsed between block slot time and the time block received via gossip",
|
|
693
|
-
labelNames: ["source"],
|
|
694
|
-
buckets: [0.5, 1, 2, 4, 6, 12],
|
|
695
|
-
}),
|
|
696
|
-
elapsedTimeTillProcessed: register.histogram({
|
|
697
|
-
name: "lodestar_gossip_block_elapsed_time_till_processed",
|
|
698
|
-
help: "Time elapsed between block slot time and the time block processed",
|
|
699
|
-
buckets: [0.5, 1, 2, 4, 6, 12],
|
|
700
|
-
}),
|
|
701
|
-
|
|
702
|
-
gossipValidation: {
|
|
703
|
-
recvToValidation: register.histogram({
|
|
704
|
-
name: "lodestar_gossip_block_received_to_gossip_validate",
|
|
705
|
-
help: "Time elapsed between block received and block validated",
|
|
706
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
707
|
-
}),
|
|
708
|
-
validationTime: register.histogram({
|
|
709
|
-
name: "lodestar_gossip_block_gossip_validate_time",
|
|
710
|
-
help: "Time to apply gossip validations",
|
|
711
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
712
|
-
}),
|
|
713
|
-
},
|
|
714
|
-
stateTransition: {
|
|
715
|
-
recvToValidation: register.histogram({
|
|
716
|
-
name: "lodestar_gossip_block_received_to_state_transition",
|
|
717
|
-
help: "Time elapsed between block received and block state transition",
|
|
718
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
719
|
-
}),
|
|
720
|
-
validationTime: register.histogram({
|
|
721
|
-
name: "lodestar_gossip_block_state_transition_time",
|
|
722
|
-
help: "Time to validate block state transition",
|
|
723
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
724
|
-
}),
|
|
725
|
-
},
|
|
726
|
-
signatureVerification: {
|
|
727
|
-
recvToValidation: register.histogram({
|
|
728
|
-
name: "lodestar_gossip_block_received_to_signatures_verification",
|
|
729
|
-
help: "Time elapsed between block received and block signatures verification",
|
|
730
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
731
|
-
}),
|
|
732
|
-
validationTime: register.histogram({
|
|
733
|
-
name: "lodestar_gossip_block_signatures_verification_time",
|
|
734
|
-
help: "Time elapsed for block signatures verification",
|
|
735
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
736
|
-
}),
|
|
737
|
-
},
|
|
738
|
-
executionPayload: {
|
|
739
|
-
recvToValidation: register.histogram({
|
|
740
|
-
name: "lodestar_gossip_block_received_to_execution_payload_verification",
|
|
741
|
-
help: "Time elapsed between block received and execution payload verification",
|
|
742
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
743
|
-
}),
|
|
744
|
-
validationTime: register.histogram({
|
|
745
|
-
name: "lodestar_gossip_execution_payload_verification_time",
|
|
746
|
-
help: "Time elapsed for execution payload verification",
|
|
747
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
748
|
-
}),
|
|
749
|
-
},
|
|
750
|
-
blockImport: {
|
|
751
|
-
recvToValidation: register.histogram({
|
|
752
|
-
name: "lodestar_gossip_block_received_to_block_import",
|
|
753
|
-
help: "Time elapsed between block received and block import",
|
|
754
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
755
|
-
}),
|
|
756
|
-
validationTime: register.histogram({
|
|
757
|
-
name: "lodestar_gossip_block_block_import_time",
|
|
758
|
-
help: "Time elapsed for block import",
|
|
759
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
760
|
-
}),
|
|
761
|
-
},
|
|
762
|
-
|
|
763
|
-
receivedToBlobsAvailabilityTime: register.histogram<{numBlobs: number}>({
|
|
764
|
-
name: "lodestar_gossip_block_received_to_blobs_availability_time",
|
|
765
|
-
help: "Time elapsed between block received and blobs became available",
|
|
766
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
767
|
-
labelNames: ["numBlobs"],
|
|
768
|
-
}),
|
|
769
|
-
receivedToFullyVerifiedTime: register.histogram({
|
|
770
|
-
name: "lodestar_gossip_block_received_to_fully_verified_time",
|
|
771
|
-
help: "Time elapsed between block received and fully verified state, signatures and payload",
|
|
772
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
773
|
-
}),
|
|
774
|
-
verifiedToBlobsAvailabiltyTime: register.histogram<{numBlobs: number}>({
|
|
775
|
-
name: "lodestar_gossip_block_verified_to_blobs_availability_time",
|
|
776
|
-
help: "Time elapsed between block verified and blobs became available",
|
|
777
|
-
buckets: [0.05, 0.1, 0.3, 0.5, 0.7, 1, 1.3, 1.6, 2, 2.5, 3, 3.5, 4],
|
|
778
|
-
labelNames: ["numBlobs"],
|
|
779
|
-
}),
|
|
780
|
-
|
|
781
|
-
processBlockErrors: register.gauge<{error: BlockErrorCode | "NOT_BLOCK_ERROR"}>({
|
|
782
|
-
name: "lodestar_gossip_block_process_block_errors",
|
|
783
|
-
help: "Count of errors, by error type, while processing blocks",
|
|
784
|
-
labelNames: ["error"],
|
|
785
|
-
}),
|
|
786
|
-
},
|
|
787
|
-
gossipBlob: {
|
|
788
|
-
recvToValidation: register.histogram({
|
|
789
|
-
name: "lodestar_gossip_blob_received_to_gossip_validate",
|
|
790
|
-
help: "Time elapsed between blob received and blob validation",
|
|
791
|
-
buckets: [0.05, 0.1, 0.2, 0.5, 1, 1.5, 2, 4],
|
|
792
|
-
}),
|
|
793
|
-
validationTime: register.histogram({
|
|
794
|
-
name: "lodestar_gossip_blob_gossip_validate_time",
|
|
795
|
-
help: "Time elapsed for blob validation",
|
|
796
|
-
buckets: [0.05, 0.1, 0.2, 0.5, 1, 1.5, 2, 4],
|
|
797
|
-
}),
|
|
798
|
-
publishedFromEngine: register.counter({
|
|
799
|
-
name: "lodestar_gossip_blob_published_from_engine_total",
|
|
800
|
-
help: "Total number of blobs retrieved from execution engine and published to gossip",
|
|
801
|
-
}),
|
|
802
|
-
},
|
|
803
|
-
recoverDataColumnSidecars: {
|
|
804
|
-
recoverTime: register.histogram({
|
|
805
|
-
name: "lodestar_recover_data_column_sidecar_recover_time_seconds",
|
|
806
|
-
help: "Time elapsed to recover data column sidecar",
|
|
807
|
-
buckets: [0.5, 1.0, 1.5, 2],
|
|
808
|
-
}),
|
|
809
|
-
custodyBeforeReconstruction: register.gauge({
|
|
810
|
-
name: "lodestar_data_columns_in_custody_before_reconstruction",
|
|
811
|
-
help: "Number of data columns in custody before reconstruction",
|
|
812
|
-
}),
|
|
813
|
-
numberOfColumnsRecovered: register.gauge({
|
|
814
|
-
name: "lodestar_recover_data_column_sidecar_recovered_columns_total",
|
|
815
|
-
help: "Total number of columns that were recovered",
|
|
816
|
-
}),
|
|
817
|
-
reconstructionResult: register.counter<{result: DataColumnReconstructionCode}>({
|
|
818
|
-
name: "lodestar_data_column_sidecars_reconstruction_result",
|
|
819
|
-
help: "Data column sidecars reconstruction result",
|
|
820
|
-
labelNames: ["result"],
|
|
821
|
-
}),
|
|
822
|
-
},
|
|
823
|
-
dataColumns: {
|
|
824
|
-
bySource: register.gauge<{source: BlockInputSource}>({
|
|
825
|
-
name: "lodestar_data_columns_by_source",
|
|
826
|
-
help: "Number of received data columns by source",
|
|
827
|
-
labelNames: ["source"],
|
|
828
|
-
}),
|
|
829
|
-
elapsedTimeTillReceived: register.histogram<{receivedOrder: number}>({
|
|
830
|
-
name: "lodestar_data_column_elapsed_time_till_received_seconds",
|
|
831
|
-
help: "Time elapsed between block slot time and the time data column received",
|
|
832
|
-
labelNames: ["receivedOrder"],
|
|
833
|
-
buckets: [1, 2, 3, 4, 6, 12],
|
|
834
|
-
}),
|
|
835
|
-
sentPeersPerSubnet: register.histogram({
|
|
836
|
-
name: "lodestar_data_column_sent_peers_per_subnet",
|
|
837
|
-
help: "Number of peers node sent per subnet when publishing DataColumnSidecars",
|
|
838
|
-
// given TARGET_GROUP_PEERS_PER_SUBNET = 4, we expect sending to 4 peers per subnet
|
|
839
|
-
buckets: [1, 2, 3, 4],
|
|
840
|
-
}),
|
|
841
|
-
missingCustodyColumns: register.counter({
|
|
842
|
-
name: "lodestar_data_columns_missing_custody_columns_count",
|
|
843
|
-
help: "Total number of missing columns that should be in the database but were not when requested",
|
|
844
|
-
}),
|
|
845
|
-
dataColumnEngineResult: register.counter<{result: DataColumnEngineResult}>({
|
|
846
|
-
name: "lodestar_data_column_engine_result_total",
|
|
847
|
-
help: "The total result of sending data column to execution layer",
|
|
848
|
-
labelNames: ["result"],
|
|
849
|
-
}),
|
|
850
|
-
},
|
|
851
|
-
importBlock: {
|
|
852
|
-
persistBlockNoSerializedDataCount: register.gauge({
|
|
853
|
-
name: "lodestar_import_block_persist_block_no_serialized_data_count",
|
|
854
|
-
help: "Count persisting block with no serialized data",
|
|
855
|
-
}),
|
|
856
|
-
persistBlockWithSerializedDataCount: register.gauge({
|
|
857
|
-
name: "lodestar_import_block_persist_block_with_serialized_data_count",
|
|
858
|
-
help: "Count persisting block with serialized data",
|
|
859
|
-
}),
|
|
860
|
-
elapsedTimeTillBecomeHead: register.histogram({
|
|
861
|
-
name: "lodestar_gossip_block_elapsed_time_till_become_head",
|
|
862
|
-
help: "Time elapsed between block slot time and the time block becomes head",
|
|
863
|
-
buckets: [0.5, 1, 2, 4, 6, 12],
|
|
864
|
-
}),
|
|
865
|
-
setHeadAfterCutoff: register.gauge({
|
|
866
|
-
name: "lodestar_import_block_set_head_after_cutoff_total",
|
|
867
|
-
help: "Total times an imported block is set as head after ATTESTATION_DUE_BPS of the slot",
|
|
868
|
-
}),
|
|
869
|
-
bySource: register.gauge<{source: BlockInputSource}>({
|
|
870
|
-
name: "lodestar_import_block_by_source_total",
|
|
871
|
-
help: "Total number of imported blocks by source",
|
|
872
|
-
labelNames: ["source"],
|
|
873
|
-
}),
|
|
874
|
-
blobsBySource: register.gauge<{blobsSource: BlockInputSource}>({
|
|
875
|
-
name: "lodestar_import_blobs_by_source_total",
|
|
876
|
-
help: "Total number of imported blobs by source",
|
|
877
|
-
labelNames: ["blobsSource"],
|
|
878
|
-
}),
|
|
879
|
-
columnsBySource: register.gauge<{source: BlockInputSource}>({
|
|
880
|
-
name: "lodestar_import_columns_by_source_total",
|
|
881
|
-
help: "Total number of imported columns (sampled columns) by source",
|
|
882
|
-
labelNames: ["source"],
|
|
883
|
-
}),
|
|
884
|
-
notOverrideFcuReason: register.counter<{reason: NotReorgedReason}>({
|
|
885
|
-
name: "lodestar_import_block_not_override_fcu_reason_total",
|
|
886
|
-
help: "Reason why the fcu call is not suppressed during block import",
|
|
887
|
-
labelNames: ["reason"],
|
|
888
|
-
}),
|
|
889
|
-
},
|
|
890
|
-
engineNotifyNewPayloadResult: register.gauge<{result: ExecutionPayloadStatus}>({
|
|
891
|
-
name: "lodestar_execution_engine_notify_new_payload_result_total",
|
|
892
|
-
help: "The total result of calling notifyNewPayload execution engine api",
|
|
893
|
-
labelNames: ["result"],
|
|
894
|
-
}),
|
|
895
|
-
backfillSync: {
|
|
896
|
-
backfilledTillSlot: register.gauge({
|
|
897
|
-
name: "lodestar_backfill_till_slot",
|
|
898
|
-
help: "Current lowest backfilled slot",
|
|
899
|
-
}),
|
|
900
|
-
prevFinOrWsSlot: register.gauge({
|
|
901
|
-
name: "lodestar_backfill_prev_fin_or_ws_slot",
|
|
902
|
-
help: "Slot of previous finalized or wsCheckpoint block to be validated",
|
|
903
|
-
}),
|
|
904
|
-
totalBlocks: register.gauge<{method: BackfillSyncMethod}>({
|
|
905
|
-
name: "lodestar_backfill_sync_blocks_total",
|
|
906
|
-
help: "Total amount of backfilled blocks",
|
|
907
|
-
labelNames: ["method"],
|
|
908
|
-
}),
|
|
909
|
-
errors: register.gauge({
|
|
910
|
-
name: "lodestar_backfill_sync_errors_total",
|
|
911
|
-
help: "Total number of errors while backfilling",
|
|
912
|
-
}),
|
|
913
|
-
status: register.gauge({
|
|
914
|
-
name: "lodestar_backfill_sync_status",
|
|
915
|
-
help: "Current backfill syncing status: [Aborted, Pending, Syncing, Completed]",
|
|
916
|
-
}),
|
|
917
|
-
},
|
|
918
|
-
|
|
919
|
-
opPool: {
|
|
920
|
-
aggregatedAttestationPool: {
|
|
921
|
-
size: register.gauge({
|
|
922
|
-
name: "lodestar_oppool_aggregated_attestation_pool_size",
|
|
923
|
-
help: "Current size of the AggregatedAttestationPool = total attestations",
|
|
924
|
-
}),
|
|
925
|
-
uniqueData: register.gauge({
|
|
926
|
-
name: "lodestar_oppool_aggregated_attestation_pool_unique_data_count",
|
|
927
|
-
help: "Current size of the AggregatedAttestationPool = total attestations unique by data",
|
|
928
|
-
}),
|
|
929
|
-
attDataPerSlot: register.gauge({
|
|
930
|
-
name: "lodestar_oppool_aggregated_attestation_pool_attestation_data_per_slot_total",
|
|
931
|
-
help: "Total number of attestation data per slot in AggregatedAttestationPool",
|
|
932
|
-
}),
|
|
933
|
-
committeesPerSlot: register.gauge({
|
|
934
|
-
name: "lodestar_oppool_aggregated_attestation_pool_committees_per_slot_total",
|
|
935
|
-
help: "Total number of committees per slot in AggregatedAttestationPool",
|
|
936
|
-
}),
|
|
937
|
-
// max number of attestations per committee will become number of consolidations
|
|
938
|
-
maxAttestationsPerCommittee: register.gauge({
|
|
939
|
-
name: "lodestar_oppool_aggregated_attestation_pool_max_attestations_per_committee",
|
|
940
|
-
help: "Max number of attestations per committee in AggregatedAttestationPool",
|
|
941
|
-
}),
|
|
942
|
-
attestationsPerCommittee: register.histogram({
|
|
943
|
-
name: "lodestar_oppool_aggregated_attestation_pool_attestations_per_committee",
|
|
944
|
-
help: "Number of attestations per committee in AggregatedAttestationPool",
|
|
945
|
-
buckets: [0, 2, 4, 8],
|
|
946
|
-
}),
|
|
947
|
-
gossipInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
|
|
948
|
-
name: "lodestar_oppool_aggregated_attestation_pool_gossip_insert_outcome_total",
|
|
949
|
-
help: "Total number of InsertOutcome as a result of adding an aggregated attestation from gossip in the pool",
|
|
950
|
-
labelNames: ["insertOutcome"],
|
|
951
|
-
}),
|
|
952
|
-
apiInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
|
|
953
|
-
name: "lodestar_oppool_aggregated_attestation_pool_api_insert_outcome_total",
|
|
954
|
-
help: "Total number of InsertOutcome as a result of adding an aggregated attestation from api in the pool",
|
|
955
|
-
labelNames: ["insertOutcome"],
|
|
956
|
-
}),
|
|
957
|
-
packedAttestations: {
|
|
958
|
-
committeeCount: register.gauge<{index: number}>({
|
|
959
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_committee_count",
|
|
960
|
-
help: "Total number of committees in packed attestation ${index}",
|
|
961
|
-
labelNames: ["index"],
|
|
962
|
-
}),
|
|
963
|
-
totalAttesters: register.gauge<{index: number}>({
|
|
964
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_attesters_total",
|
|
965
|
-
help: "Total number of attesters in packed attestation ${index}",
|
|
966
|
-
labelNames: ["index"],
|
|
967
|
-
}),
|
|
968
|
-
nonParticipation: register.gauge<{index: number}>({
|
|
969
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_non_participation_total",
|
|
970
|
-
help: "Total number of not seen attesters in packed attestation ${index}",
|
|
971
|
-
labelNames: ["index"],
|
|
972
|
-
}),
|
|
973
|
-
newSeenAttesters: register.gauge<{index: number}>({
|
|
974
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_new_seen_attesters_total",
|
|
975
|
-
help: "Total number of new seen attesters in packed attestation ${index}",
|
|
976
|
-
labelNames: ["index"],
|
|
977
|
-
}),
|
|
978
|
-
totalEffectiveBalance: register.gauge<{index: number}>({
|
|
979
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_effective_balance_total",
|
|
980
|
-
help: "Total effective balance of new seen attesters in packed attestation ${index}",
|
|
981
|
-
labelNames: ["index"],
|
|
982
|
-
}),
|
|
983
|
-
inclusionDistance: register.gauge<{index: number}>({
|
|
984
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_inclusion_distance_total",
|
|
985
|
-
help: "How far the packed attestation ${index} slot is from the block slot",
|
|
986
|
-
labelNames: ["index"],
|
|
987
|
-
}),
|
|
988
|
-
scannedSlots: register.gauge<{reason: ScannedSlotsTerminationReason}>({
|
|
989
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_scanned_slots_total",
|
|
990
|
-
help: "Total number of scanned slots to produce packed attestations",
|
|
991
|
-
labelNames: ["reason"],
|
|
992
|
-
}),
|
|
993
|
-
scannedAttestations: register.gauge<{inclusionDistance: number}>({
|
|
994
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_scanned_attestations_total",
|
|
995
|
-
help: "Total number of scanned attestations per scanned slot to produce packed attestations",
|
|
996
|
-
labelNames: ["inclusionDistance"],
|
|
997
|
-
}),
|
|
998
|
-
returnedAttestations: register.gauge<{inclusionDistance: number}>({
|
|
999
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_returned_attestations_total",
|
|
1000
|
-
help: "Total number of returned attestations per scanned slot to produce packed attestations",
|
|
1001
|
-
labelNames: ["inclusionDistance"],
|
|
1002
|
-
}),
|
|
1003
|
-
poolSlots: register.gauge({
|
|
1004
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_pool_slots_total",
|
|
1005
|
-
help: "Total number of slots in pool when producing packed attestations",
|
|
1006
|
-
}),
|
|
1007
|
-
totalConsolidations: register.gauge({
|
|
1008
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_total_consolidations_total",
|
|
1009
|
-
help: "Total number of consolidations before truncate",
|
|
1010
|
-
}),
|
|
1011
|
-
emptyAttestationData: register.gauge({
|
|
1012
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_empty_attestation_data_total",
|
|
1013
|
-
help: "Total number of attestation data with no group when producing packed attestation",
|
|
1014
|
-
}),
|
|
1015
|
-
invalidAttestationData: register.gauge<{reason: InvalidAttestationData}>({
|
|
1016
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_invalid_attestation_data_total",
|
|
1017
|
-
help: "Total number of invalid attestation data when producing packed attestation",
|
|
1018
|
-
labelNames: ["reason"],
|
|
1019
|
-
}),
|
|
1020
|
-
seenCommittees: register.gauge({
|
|
1021
|
-
name: "lodestar_oppool_aggregated_attestation_pool_packed_attestations_seen_committees_total",
|
|
1022
|
-
help: "Total number of committees for which all members are seen when producing packed attestations",
|
|
1023
|
-
}),
|
|
1024
|
-
},
|
|
1025
|
-
},
|
|
1026
|
-
attestationPool: {
|
|
1027
|
-
size: register.gauge({
|
|
1028
|
-
name: "lodestar_oppool_attestation_pool_size",
|
|
1029
|
-
help: "Current size of the AttestationPool = total attestations unique by data and slot",
|
|
1030
|
-
}),
|
|
1031
|
-
gossipInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
|
|
1032
|
-
name: "lodestar_oppool_attestation_pool_gossip_insert_outcome_total",
|
|
1033
|
-
help: "Total number of InsertOutcome as a result of adding a single attestation from gossip to the pool",
|
|
1034
|
-
labelNames: ["insertOutcome"],
|
|
1035
|
-
}),
|
|
1036
|
-
apiInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
|
|
1037
|
-
name: "lodestar_oppool_attestation_pool_api_insert_outcome_total",
|
|
1038
|
-
help: "Total number of InsertOutcome as a result of adding a single attestation from api to the pool",
|
|
1039
|
-
labelNames: ["insertOutcome"],
|
|
1040
|
-
}),
|
|
1041
|
-
getAggregateCacheMisses: register.counter({
|
|
1042
|
-
name: "lodestar_oppool_attestation_pool_get_aggregate_cache_misses_total",
|
|
1043
|
-
help: "Total number of getAggregate calls with no aggregate for slot, attestation data root, and committee index",
|
|
1044
|
-
}),
|
|
1045
|
-
},
|
|
1046
|
-
attesterSlashingPoolSize: register.gauge({
|
|
1047
|
-
name: "lodestar_oppool_attester_slashing_pool_size",
|
|
1048
|
-
help: "Current size of the AttesterSlashingPool",
|
|
1049
|
-
}),
|
|
1050
|
-
proposerSlashingPoolSize: register.gauge({
|
|
1051
|
-
name: "lodestar_oppool_proposer_slashing_pool_size",
|
|
1052
|
-
help: "Current size of the ProposerSlashingPool",
|
|
1053
|
-
}),
|
|
1054
|
-
voluntaryExitPoolSize: register.gauge({
|
|
1055
|
-
name: "lodestar_oppool_voluntary_exit_pool_size",
|
|
1056
|
-
help: "Current size of the VoluntaryExitPool",
|
|
1057
|
-
}),
|
|
1058
|
-
blsToExecutionChangePoolSize: register.gauge({
|
|
1059
|
-
name: "lodestar_oppool_bls_to_execution_change_pool_size",
|
|
1060
|
-
help: "Current size of the blsToExecutionChangePool",
|
|
1061
|
-
}),
|
|
1062
|
-
syncCommitteeMessagePoolSize: register.gauge({
|
|
1063
|
-
name: "lodestar_oppool_sync_committee_message_pool_size",
|
|
1064
|
-
help: "Current size of the SyncCommitteeMessagePool unique by slot subnet and block root",
|
|
1065
|
-
}),
|
|
1066
|
-
syncCommitteeMessagePoolInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
|
|
1067
|
-
name: "lodestar_oppool_sync_committee_message_insert_outcome_total",
|
|
1068
|
-
help: "Total number of InsertOutcome as a result of adding a SyncCommitteeMessage to pool",
|
|
1069
|
-
labelNames: ["insertOutcome"],
|
|
1070
|
-
}),
|
|
1071
|
-
syncContributionAndProofPool: {
|
|
1072
|
-
size: register.gauge({
|
|
1073
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_size",
|
|
1074
|
-
help: "Current size of the SyncContributionAndProofPool unique by slot subnet and block root",
|
|
1075
|
-
}),
|
|
1076
|
-
gossipInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
|
|
1077
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_gossip_insert_outcome_total",
|
|
1078
|
-
help: "Total number of InsertOutcome as a result of adding a ContributionAndProof from gossip into the pool",
|
|
1079
|
-
labelNames: ["insertOutcome"],
|
|
1080
|
-
}),
|
|
1081
|
-
apiInsertOutcome: register.counter<{insertOutcome: InsertOutcome}>({
|
|
1082
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_api_insert_outcome_total",
|
|
1083
|
-
help: "Total number of InsertOutcome as a result of adding a ContributionAndProof from api into the pool",
|
|
1084
|
-
labelNames: ["insertOutcome"],
|
|
1085
|
-
}),
|
|
1086
|
-
blockRootsPerSlot: register.gauge({
|
|
1087
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_block_roots_per_slot_total",
|
|
1088
|
-
help: "Total number of block roots per slot in SyncContributionAndProofPool",
|
|
1089
|
-
}),
|
|
1090
|
-
subnetsByBlockRoot: register.gauge<{index: number}>({
|
|
1091
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_subnets_by_block_root_total",
|
|
1092
|
-
help: "Total number of subnets per block root in SyncContributionAndProofPool",
|
|
1093
|
-
labelNames: ["index"],
|
|
1094
|
-
}),
|
|
1095
|
-
participantsByBlockRoot: register.gauge<{index: number}>({
|
|
1096
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_participants_by_block_root_total",
|
|
1097
|
-
help: "Total number of participants per block root in SyncContributionAndProofPool",
|
|
1098
|
-
labelNames: ["index"],
|
|
1099
|
-
}),
|
|
1100
|
-
getAggregateRoots: register.gauge({
|
|
1101
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_get_aggregate_roots_total",
|
|
1102
|
-
help: "Total number of block roots in SyncContributionAndProofPool.getAggregate(slot)",
|
|
1103
|
-
}),
|
|
1104
|
-
getAggregateSubnets: register.gauge({
|
|
1105
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_get_aggregate_subnets_total",
|
|
1106
|
-
help: "Total number of subnets in SyncContributionAndProofPool.getAggregate(slot, root)",
|
|
1107
|
-
}),
|
|
1108
|
-
getAggregateParticipants: register.gauge({
|
|
1109
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_get_aggregate_participants_total",
|
|
1110
|
-
help: "Total number of participants in SyncContributionAndProofPool.getAggregate(slot, root)",
|
|
1111
|
-
}),
|
|
1112
|
-
getAggregateReturnsEmpty: register.gauge({
|
|
1113
|
-
name: "lodestar_oppool_sync_contribution_and_proof_pool_get_aggregate_returns_empty_total",
|
|
1114
|
-
help: "Total number of empty returns in SyncContributionAndProofPool.getAggregate(slot, root)",
|
|
1115
|
-
}),
|
|
1116
|
-
},
|
|
1117
|
-
},
|
|
1118
|
-
|
|
1119
|
-
chain: {
|
|
1120
|
-
blacklistedBlocks: register.gauge({
|
|
1121
|
-
name: "lodestar_blacklisted_blocks_total",
|
|
1122
|
-
help: "Total number of blacklisted blocks",
|
|
1123
|
-
}),
|
|
1124
|
-
},
|
|
1125
|
-
|
|
1126
|
-
proposerBalanceDeltaAny: register.histogram({
|
|
1127
|
-
name: "lodestar_proposer_balance_delta_any_gwei",
|
|
1128
|
-
help: "Balance delta of every block proposer after importing a valid block",
|
|
1129
|
-
buckets: [10_000, 100_000, 1e6, 10e6, 20e6, 50e6, 100e6, 1000e6],
|
|
1130
|
-
}),
|
|
1131
|
-
|
|
1132
|
-
// regen metrics
|
|
1133
|
-
|
|
1134
|
-
stateCache: {
|
|
1135
|
-
lookups: register.gauge({
|
|
1136
|
-
name: "lodestar_state_cache_lookups_total",
|
|
1137
|
-
help: "Total number of cache lookup",
|
|
1138
|
-
}),
|
|
1139
|
-
hits: register.gauge({
|
|
1140
|
-
name: "lodestar_state_cache_hits_total",
|
|
1141
|
-
help: "Total number of cache hits",
|
|
1142
|
-
}),
|
|
1143
|
-
adds: register.gauge({
|
|
1144
|
-
name: "lodestar_state_cache_adds_total",
|
|
1145
|
-
help: "Total number of items added in state cache",
|
|
1146
|
-
}),
|
|
1147
|
-
size: register.gauge({
|
|
1148
|
-
name: "lodestar_state_cache_size",
|
|
1149
|
-
help: "State cache size",
|
|
1150
|
-
}),
|
|
1151
|
-
reads: register.avgMinMax({
|
|
1152
|
-
name: "lodestar_state_cache_reads",
|
|
1153
|
-
help: "Avg min max of all state cache items total read count",
|
|
1154
|
-
}),
|
|
1155
|
-
secondsSinceLastRead: register.avgMinMax({
|
|
1156
|
-
name: "lodestar_state_cache_seconds_since_last_read",
|
|
1157
|
-
help: "Avg min max of all state cache items seconds since last reads",
|
|
1158
|
-
}),
|
|
1159
|
-
stateClonedCount: register.histogram({
|
|
1160
|
-
name: "lodestar_state_cache_state_cloned_count",
|
|
1161
|
-
help: "Histogram of cloned count per state every time state.clone() is called",
|
|
1162
|
-
buckets: [1, 2, 5, 10, 50, 250],
|
|
1163
|
-
}),
|
|
1164
|
-
},
|
|
1165
|
-
|
|
1166
|
-
bufferPool: {
|
|
1167
|
-
length: register.gauge({
|
|
1168
|
-
name: "lodestar_buffer_pool_length",
|
|
1169
|
-
help: "Buffer pool length",
|
|
1170
|
-
}),
|
|
1171
|
-
hits: register.counter<{source: AllocSource}>({
|
|
1172
|
-
name: "lodestar_buffer_pool_hits_total",
|
|
1173
|
-
help: "Total number of buffer pool hits",
|
|
1174
|
-
labelNames: ["source"],
|
|
1175
|
-
}),
|
|
1176
|
-
misses: register.counter<{source: AllocSource}>({
|
|
1177
|
-
name: "lodestar_buffer_pool_misses_total",
|
|
1178
|
-
help: "Total number of buffer pool misses",
|
|
1179
|
-
labelNames: ["source"],
|
|
1180
|
-
}),
|
|
1181
|
-
grows: register.counter({
|
|
1182
|
-
name: "lodestar_buffer_pool_grows_total",
|
|
1183
|
-
help: "Total number of buffer pool length increases",
|
|
1184
|
-
}),
|
|
1185
|
-
},
|
|
1186
|
-
|
|
1187
|
-
cpStateCache: {
|
|
1188
|
-
lookups: register.gauge({
|
|
1189
|
-
name: "lodestar_cp_state_cache_lookups_total",
|
|
1190
|
-
help: "Total number of checkpoint cache lookup",
|
|
1191
|
-
}),
|
|
1192
|
-
hits: register.gauge({
|
|
1193
|
-
name: "lodestar_cp_state_cache_hits_total",
|
|
1194
|
-
help: "Total number of checkpoint cache hits",
|
|
1195
|
-
}),
|
|
1196
|
-
adds: register.gauge({
|
|
1197
|
-
name: "lodestar_cp_state_cache_adds_total",
|
|
1198
|
-
help: "Total number of items added in checkpoint state cache",
|
|
1199
|
-
}),
|
|
1200
|
-
size: register.gauge<{type: CacheItemType}>({
|
|
1201
|
-
name: "lodestar_cp_state_cache_size",
|
|
1202
|
-
help: "Checkpoint state cache size",
|
|
1203
|
-
labelNames: ["type"],
|
|
1204
|
-
}),
|
|
1205
|
-
epochSize: register.gauge<{type: CacheItemType}>({
|
|
1206
|
-
name: "lodestar_cp_state_epoch_size",
|
|
1207
|
-
help: "Checkpoint state cache size",
|
|
1208
|
-
labelNames: ["type"],
|
|
1209
|
-
}),
|
|
1210
|
-
reads: register.avgMinMax({
|
|
1211
|
-
name: "lodestar_cp_state_epoch_reads",
|
|
1212
|
-
help: "Avg min max of all state cache items total read count",
|
|
1213
|
-
}),
|
|
1214
|
-
secondsSinceLastRead: register.avgMinMax({
|
|
1215
|
-
name: "lodestar_cp_state_epoch_seconds_since_last_read",
|
|
1216
|
-
help: "Avg min max of all state cache items seconds since last reads",
|
|
1217
|
-
}),
|
|
1218
|
-
stateClonedCount: register.histogram({
|
|
1219
|
-
name: "lodestar_cp_state_cache_state_cloned_count",
|
|
1220
|
-
help: "Histogram of cloned count per state every time state.clone() is called",
|
|
1221
|
-
buckets: [1, 2, 5, 10, 50, 250],
|
|
1222
|
-
}),
|
|
1223
|
-
numStatesUpdated: register.histogram({
|
|
1224
|
-
name: "lodestar_cp_state_cache_state_updated_count",
|
|
1225
|
-
help: "Histogram of number of state cache items updated every time removing and adding pubkeys to pubkey cache",
|
|
1226
|
-
buckets: [1, 2, 5, 10, 50, 250],
|
|
1227
|
-
}),
|
|
1228
|
-
statePruneFromMemoryCount: register.gauge({
|
|
1229
|
-
name: "lodestar_cp_state_cache_state_prune_from_memory_count",
|
|
1230
|
-
help: "Total number of states pruned from memory",
|
|
1231
|
-
}),
|
|
1232
|
-
statePersistSecFromSlot: register.histogram({
|
|
1233
|
-
name: "lodestar_cp_state_cache_state_persist_seconds_from_slot",
|
|
1234
|
-
help: "Histogram of time to persist state to db since the clock slot",
|
|
1235
|
-
buckets: [0, 2, 4, 6, 8, 10, 12],
|
|
1236
|
-
}),
|
|
1237
|
-
stateReloadValidatorsSerializeDuration: register.histogram({
|
|
1238
|
-
name: "lodestar_cp_state_cache_state_reload_validators_serialize_seconds",
|
|
1239
|
-
help: "Histogram of time to serialize validators",
|
|
1240
|
-
buckets: [0.1, 0.2, 0.5, 1],
|
|
1241
|
-
}),
|
|
1242
|
-
stateReloadValidatorsSerializeAllocCount: register.counter({
|
|
1243
|
-
name: "lodestar_cp_state_cache_state_reload_validators_serialize_alloc_count",
|
|
1244
|
-
help: "Total number time to allocate memory for validators serialization",
|
|
1245
|
-
}),
|
|
1246
|
-
stateReloadShufflingCacheMiss: register.counter({
|
|
1247
|
-
name: "lodestar_cp_state_cache_state_reload_shuffling_cache_miss_count",
|
|
1248
|
-
help: "Total number of shuffling cache misses when loading a state",
|
|
1249
|
-
}),
|
|
1250
|
-
stateReloadDuration: register.histogram({
|
|
1251
|
-
name: "lodestar_cp_state_cache_state_reload_seconds",
|
|
1252
|
-
help: "Histogram of time to load state from db",
|
|
1253
|
-
buckets: [0, 2, 4, 6, 8, 10, 12],
|
|
1254
|
-
}),
|
|
1255
|
-
stateReloadEpochDiff: register.histogram({
|
|
1256
|
-
name: "lodestar_cp_state_cache_state_reload_epoch_diff",
|
|
1257
|
-
help: "Histogram of epoch difference between seed state epoch and loaded state epoch",
|
|
1258
|
-
buckets: [0, 1, 2, 4, 8, 16, 32],
|
|
1259
|
-
}),
|
|
1260
|
-
stateReloadSecFromSlot: register.histogram({
|
|
1261
|
-
name: "lodestar_cp_state_cache_state_reload_seconds_from_slot",
|
|
1262
|
-
help: "Histogram of time to load state from db since the clock slot",
|
|
1263
|
-
buckets: [0, 2, 4, 6, 8, 10, 12],
|
|
1264
|
-
}),
|
|
1265
|
-
stateReloadDbReadTime: register.histogram({
|
|
1266
|
-
name: "lodestar_cp_state_cache_state_reload_db_read_seconds",
|
|
1267
|
-
help: "Histogram of time to load state bytes from db",
|
|
1268
|
-
buckets: [0.01, 0.05, 0.1, 0.2, 0.5],
|
|
1269
|
-
}),
|
|
1270
|
-
persistedStateRemoveCount: register.gauge({
|
|
1271
|
-
name: "lodestar_cp_state_cache_persisted_state_remove_count",
|
|
1272
|
-
help: "Total number of persisted states removed",
|
|
1273
|
-
}),
|
|
1274
|
-
},
|
|
1275
|
-
|
|
1276
|
-
balancesCache: {
|
|
1277
|
-
requests: register.counter({
|
|
1278
|
-
name: "lodestar_balances_cache_requests_total",
|
|
1279
|
-
help: "Total number of balances cache requests",
|
|
1280
|
-
}),
|
|
1281
|
-
misses: register.counter({
|
|
1282
|
-
name: "lodestar_balances_cache_misses_total",
|
|
1283
|
-
help: "Total number of balances cache misses",
|
|
1284
|
-
}),
|
|
1285
|
-
closestStateResult: register.counter<{stateId: string}>({
|
|
1286
|
-
name: "lodestar_balances_cache_closest_state_result_total",
|
|
1287
|
-
help: "Total number of stateIds returned as closest justified balances state by id",
|
|
1288
|
-
labelNames: ["stateId"],
|
|
1289
|
-
}),
|
|
1290
|
-
},
|
|
1291
|
-
|
|
1292
|
-
shufflingCache: {
|
|
1293
|
-
size: register.gauge({
|
|
1294
|
-
name: "lodestar_shuffling_cache_size",
|
|
1295
|
-
help: "Shuffling cache size",
|
|
1296
|
-
}),
|
|
1297
|
-
insertPromiseCount: register.gauge({
|
|
1298
|
-
name: "lodestar_shuffling_cache_insert_promise_count",
|
|
1299
|
-
help: "Total number of times insertPromise is called",
|
|
1300
|
-
}),
|
|
1301
|
-
hit: register.gauge({
|
|
1302
|
-
name: "lodestar_shuffling_cache_hit_count",
|
|
1303
|
-
help: "Count of shuffling cache hit",
|
|
1304
|
-
}),
|
|
1305
|
-
miss: register.gauge({
|
|
1306
|
-
name: "lodestar_shuffling_cache_miss_count",
|
|
1307
|
-
help: "Count of shuffling cache miss",
|
|
1308
|
-
}),
|
|
1309
|
-
shufflingBuiltMultipleTimes: register.gauge({
|
|
1310
|
-
name: "lodestar_shuffling_cache_recalculated_shuffling_count",
|
|
1311
|
-
help: "Count of shuffling that were build multiple times",
|
|
1312
|
-
}),
|
|
1313
|
-
shufflingPromiseNotResolvedAndThrownAway: register.gauge({
|
|
1314
|
-
name: "lodestar_shuffling_cache_promise_not_resolved_and_thrown_away_count",
|
|
1315
|
-
help: "Count of shuffling cache promises that were discarded and the shuffling was built synchronously",
|
|
1316
|
-
}),
|
|
1317
|
-
shufflingPromiseNotResolved: register.gauge({
|
|
1318
|
-
name: "lodestar_shuffling_cache_promise_not_resolved_count",
|
|
1319
|
-
help: "Count of shuffling cache promises that were requested before the promise was resolved",
|
|
1320
|
-
}),
|
|
1321
|
-
nextShufflingNotOnEpochCache: register.gauge({
|
|
1322
|
-
name: "lodestar_shuffling_cache_next_shuffling_not_on_epoch_cache",
|
|
1323
|
-
help: "The next shuffling was not on the epoch cache before the epoch transition",
|
|
1324
|
-
}),
|
|
1325
|
-
shufflingPromiseResolutionTime: register.histogram({
|
|
1326
|
-
name: "lodestar_shuffling_cache_promise_resolution_time_seconds",
|
|
1327
|
-
help: "Time from promise insertion until promise resolution when shuffling was ready in seconds",
|
|
1328
|
-
buckets: [0.5, 1, 1.5, 2],
|
|
1329
|
-
}),
|
|
1330
|
-
shufflingCalculationTime: register.histogram<{source: "build" | "getSync"}>({
|
|
1331
|
-
name: "lodestar_shuffling_cache_shuffling_calculation_time_seconds",
|
|
1332
|
-
help: "Run time of shuffling calculation",
|
|
1333
|
-
buckets: [0.5, 0.75, 1, 1.25, 1.5],
|
|
1334
|
-
labelNames: ["source"],
|
|
1335
|
-
}),
|
|
1336
|
-
},
|
|
1337
|
-
|
|
1338
|
-
seenCache: {
|
|
1339
|
-
aggregatedAttestations: {
|
|
1340
|
-
superSetCheckTotal: register.histogram({
|
|
1341
|
-
name: "lodestar_seen_cache_aggregated_attestations_super_set_check_total",
|
|
1342
|
-
help: "Number of times to call isNonStrictSuperSet in SeenAggregatedAttestations",
|
|
1343
|
-
buckets: [1, 4, 10],
|
|
1344
|
-
}),
|
|
1345
|
-
isKnownCalls: register.gauge({
|
|
1346
|
-
name: "lodestar_seen_cache_aggregated_attestations_is_known_call_total",
|
|
1347
|
-
help: "Total times calling SeenAggregatedAttestations.isKnown",
|
|
1348
|
-
}),
|
|
1349
|
-
isKnownHits: register.gauge({
|
|
1350
|
-
name: "lodestar_seen_cache_aggregated_attestations_is_known_hit_total",
|
|
1351
|
-
help: "Total times SeenAggregatedAttestations.isKnown returning true",
|
|
1352
|
-
}),
|
|
1353
|
-
},
|
|
1354
|
-
committeeContributions: {
|
|
1355
|
-
superSetCheckTotal: register.histogram({
|
|
1356
|
-
name: "lodestar_seen_cache_committee_contributions_super_set_check_total",
|
|
1357
|
-
help: "Number of times to call isNonStrictSuperSet in SeenContributionAndProof",
|
|
1358
|
-
buckets: [1, 4, 10],
|
|
1359
|
-
}),
|
|
1360
|
-
isKnownCalls: register.gauge({
|
|
1361
|
-
name: "lodestar_seen_cache_committee_contributions_is_known_call_total",
|
|
1362
|
-
help: "Total times calling SeenContributionAndProof.isKnown",
|
|
1363
|
-
}),
|
|
1364
|
-
isKnownHits: register.gauge({
|
|
1365
|
-
name: "lodestar_seen_cache_committee_contributions_is_known_hit_total",
|
|
1366
|
-
help: "Total times SeenContributionAndProof.isKnown returning true",
|
|
1367
|
-
}),
|
|
1368
|
-
},
|
|
1369
|
-
attestationData: {
|
|
1370
|
-
totalSlot: register.gauge({
|
|
1371
|
-
name: "lodestar_seen_cache_attestation_data_slot_total",
|
|
1372
|
-
help: "Total number of slots of attestation data in SeenAttestationData",
|
|
1373
|
-
}),
|
|
1374
|
-
countPerSlot: register.gauge({
|
|
1375
|
-
name: "lodestar_seen_cache_attestation_data_per_slot_total",
|
|
1376
|
-
help: "Total number of attestation data per slot in SeenAttestationData",
|
|
1377
|
-
}),
|
|
1378
|
-
hit: register.gauge({
|
|
1379
|
-
name: "lodestar_seen_cache_attestation_data_hit_total",
|
|
1380
|
-
help: "Total number of attestation data hit in SeenAttestationData",
|
|
1381
|
-
}),
|
|
1382
|
-
miss: register.gauge({
|
|
1383
|
-
name: "lodestar_seen_cache_attestation_data_miss_total",
|
|
1384
|
-
help: "Total number of attestation data miss in SeenAttestationData",
|
|
1385
|
-
}),
|
|
1386
|
-
reject: register.gauge<{reason: RejectReason}>({
|
|
1387
|
-
name: "lodestar_seen_cache_attestation_data_reject_total",
|
|
1388
|
-
help: "Total number of attestation data rejected in SeenAttestationData",
|
|
1389
|
-
labelNames: ["reason"],
|
|
1390
|
-
}),
|
|
1391
|
-
},
|
|
1392
|
-
blockInput: {
|
|
1393
|
-
blockInputCount: register.gauge({
|
|
1394
|
-
name: "lodestar_seen_block_input_cache_size",
|
|
1395
|
-
help: "Number of cached BlockInputs",
|
|
1396
|
-
}),
|
|
1397
|
-
duplicateBlockCount: register.gauge<{source: BlockInputSource}>({
|
|
1398
|
-
name: "lodestar_seen_block_input_cache_duplicate_block_count",
|
|
1399
|
-
help: "Total number of duplicate blocks that pass validation and attempt to be cached but are known",
|
|
1400
|
-
labelNames: ["source"],
|
|
1401
|
-
}),
|
|
1402
|
-
duplicateBlobCount: register.gauge<{source: BlockInputSource}>({
|
|
1403
|
-
name: "lodestar_seen_block_input_cache_duplicate_blob_count",
|
|
1404
|
-
help: "Total number of duplicate blobs that pass validation and attempt to be cached but are known",
|
|
1405
|
-
labelNames: ["source"],
|
|
1406
|
-
}),
|
|
1407
|
-
duplicateColumnCount: register.gauge<{source: BlockInputSource}>({
|
|
1408
|
-
name: "lodestar_seen_block_input_cache_duplicate_column_count",
|
|
1409
|
-
help: "Total number of duplicate columns that pass validation and attempt to be cached but are known",
|
|
1410
|
-
labelNames: ["source"],
|
|
1411
|
-
}),
|
|
1412
|
-
createdByBlock: register.gauge({
|
|
1413
|
-
name: "lodestar_seen_block_input_cache_items_created_by_block",
|
|
1414
|
-
help: "Number of BlockInputs created via a block being seen first",
|
|
1415
|
-
}),
|
|
1416
|
-
createdByBlob: register.gauge({
|
|
1417
|
-
name: "lodestar_seen_block_input_cache_items_created_by_blob",
|
|
1418
|
-
help: "Number of BlockInputs created via a blob being seen first",
|
|
1419
|
-
}),
|
|
1420
|
-
},
|
|
1421
|
-
},
|
|
1422
|
-
|
|
1423
|
-
regenFnCallTotal: register.gauge<{entrypoint: RegenFnName; caller: RegenCaller}>({
|
|
1424
|
-
name: "lodestar_regen_fn_call_total",
|
|
1425
|
-
help: "Total number of calls for regen functions",
|
|
1426
|
-
labelNames: ["entrypoint", "caller"],
|
|
1427
|
-
}),
|
|
1428
|
-
regenFnQueuedTotal: register.gauge<{entrypoint: RegenFnName; caller: RegenCaller}>({
|
|
1429
|
-
name: "lodestar_regen_fn_queued_total",
|
|
1430
|
-
help: "Total number of calls queued for regen functions",
|
|
1431
|
-
labelNames: ["entrypoint", "caller"],
|
|
1432
|
-
}),
|
|
1433
|
-
regenFnCallDuration: register.histogram<{entrypoint: RegenFnName; caller: RegenCaller}>({
|
|
1434
|
-
name: "lodestar_regen_fn_call_duration",
|
|
1435
|
-
help: "regen function duration",
|
|
1436
|
-
labelNames: ["entrypoint", "caller"],
|
|
1437
|
-
buckets: [0.1, 1, 10, 100],
|
|
1438
|
-
}),
|
|
1439
|
-
regenFnTotalErrors: register.gauge<{entrypoint: RegenFnName; caller: RegenCaller}>({
|
|
1440
|
-
name: "lodestar_regen_fn_errors_total",
|
|
1441
|
-
help: "regen function total errors",
|
|
1442
|
-
labelNames: ["entrypoint", "caller"],
|
|
1443
|
-
}),
|
|
1444
|
-
regenFnAddPubkeyTime: register.histogram({
|
|
1445
|
-
name: "lodestar_regen_fn_add_pubkey_time_seconds",
|
|
1446
|
-
help: "Historgram of time spent on adding pubkeys to all state cache items in seconds",
|
|
1447
|
-
buckets: [0.01, 0.1, 0.5, 1, 2, 5],
|
|
1448
|
-
}),
|
|
1449
|
-
regenFnDeletePubkeyTime: register.histogram({
|
|
1450
|
-
name: "lodestar_regen_fn_delete_pubkey_time_seconds",
|
|
1451
|
-
help: "Histrogram of time spent on deleting pubkeys from all state cache items in seconds",
|
|
1452
|
-
buckets: [0.01, 0.1, 0.5, 1],
|
|
1453
|
-
}),
|
|
1454
|
-
regenFnNumStatesUpdated: register.histogram({
|
|
1455
|
-
name: "lodestar_regen_state_cache_state_updated_count",
|
|
1456
|
-
help: "Histogram of number of state cache items updated every time removing pubkeys from unfinalized cache",
|
|
1457
|
-
buckets: [1, 2, 5, 10, 50, 250],
|
|
1458
|
-
}),
|
|
1459
|
-
unhandledPromiseRejections: register.gauge({
|
|
1460
|
-
name: "lodestar_unhandled_promise_rejections_total",
|
|
1461
|
-
help: "UnhandledPromiseRejection total count",
|
|
1462
|
-
}),
|
|
1463
|
-
stateSerializeDuration: register.histogram<{source: AllocSource}>({
|
|
1464
|
-
name: "lodestar_state_serialize_seconds",
|
|
1465
|
-
help: "Histogram of time to serialize state",
|
|
1466
|
-
labelNames: ["source"],
|
|
1467
|
-
buckets: [0.1, 0.5, 1, 2, 3, 4],
|
|
1468
|
-
}),
|
|
1469
|
-
|
|
1470
|
-
// regen.getState metrics
|
|
1471
|
-
regenGetState: {
|
|
1472
|
-
blockCount: register.histogram<{caller: RegenCaller}>({
|
|
1473
|
-
name: "lodestar_regen_get_state_block_count",
|
|
1474
|
-
help: "Block count in regen.getState",
|
|
1475
|
-
labelNames: ["caller"],
|
|
1476
|
-
buckets: [4, 8, 16, 32, 64],
|
|
1477
|
-
}),
|
|
1478
|
-
getSeedState: register.histogram<{caller: RegenCaller}>({
|
|
1479
|
-
name: "lodestar_regen_get_state_get_seed_state_seconds",
|
|
1480
|
-
help: "Duration of get seed state in regen.getState",
|
|
1481
|
-
labelNames: ["caller"],
|
|
1482
|
-
buckets: [0.1, 0.5, 1, 2, 3, 4],
|
|
1483
|
-
}),
|
|
1484
|
-
loadBlocks: register.histogram<{caller: RegenCaller}>({
|
|
1485
|
-
name: "lodestar_regen_get_state_load_blocks_seconds",
|
|
1486
|
-
help: "Duration of load blocks in regen.getState",
|
|
1487
|
-
labelNames: ["caller"],
|
|
1488
|
-
buckets: [0.1, 0.5, 1, 2, 3, 4],
|
|
1489
|
-
}),
|
|
1490
|
-
stateTransition: register.histogram<{caller: RegenCaller}>({
|
|
1491
|
-
name: "lodestar_regen_get_state_state_transition_seconds",
|
|
1492
|
-
help: "Duration of state transition in regen.getState",
|
|
1493
|
-
labelNames: ["caller"],
|
|
1494
|
-
buckets: [0.1, 0.5, 1, 2, 3, 4],
|
|
1495
|
-
}),
|
|
1496
|
-
},
|
|
1497
|
-
|
|
1498
|
-
// Precompute next epoch transition
|
|
1499
|
-
precomputeNextEpochTransition: {
|
|
1500
|
-
count: register.counter<{result: string}>({
|
|
1501
|
-
name: "lodestar_precompute_next_epoch_transition_result_total",
|
|
1502
|
-
labelNames: ["result"],
|
|
1503
|
-
help: "Total number of precomputeNextEpochTransition runs by result",
|
|
1504
|
-
}),
|
|
1505
|
-
hits: register.gauge({
|
|
1506
|
-
name: "lodestar_precompute_next_epoch_transition_hits_total",
|
|
1507
|
-
help: "Total number of calls uses precomputed checkpoint state cache",
|
|
1508
|
-
}),
|
|
1509
|
-
waste: register.counter({
|
|
1510
|
-
name: "lodestar_precompute_next_epoch_transition_waste_total",
|
|
1511
|
-
help: "Total number of precomputing next epoch transition wasted",
|
|
1512
|
-
}),
|
|
1513
|
-
duration: register.histogram({
|
|
1514
|
-
name: "lodestar_precompute_next_epoch_transition_duration_seconds",
|
|
1515
|
-
help: "Duration of precomputeNextEpochTransition, including epoch transition and hashTreeRoot",
|
|
1516
|
-
buckets: [0.2, 0.5, 0.75, 1, 1.25, 1.5, 2, 2.5, 3, 10],
|
|
1517
|
-
}),
|
|
1518
|
-
},
|
|
1519
|
-
|
|
1520
|
-
// reprocess attestations
|
|
1521
|
-
reprocessApiAttestations: {
|
|
1522
|
-
total: register.gauge({
|
|
1523
|
-
name: "lodestar_reprocess_attestations_total",
|
|
1524
|
-
help: "Total number of attestations waiting to reprocess",
|
|
1525
|
-
}),
|
|
1526
|
-
resolve: register.gauge({
|
|
1527
|
-
name: "lodestar_reprocess_attestations_resolve_total",
|
|
1528
|
-
help: "Total number of attestations are reprocessed",
|
|
1529
|
-
}),
|
|
1530
|
-
waitSecBeforeResolve: register.gauge({
|
|
1531
|
-
name: "lodestar_reprocess_attestations_wait_time_resolve_seconds",
|
|
1532
|
-
help: "Time to wait for unknown block in seconds",
|
|
1533
|
-
}),
|
|
1534
|
-
reject: register.gauge<{reason: ReprocessStatus}>({
|
|
1535
|
-
name: "lodestar_reprocess_attestations_reject_total",
|
|
1536
|
-
help: "Total number of attestations are rejected to reprocess",
|
|
1537
|
-
labelNames: ["reason"],
|
|
1538
|
-
}),
|
|
1539
|
-
waitSecBeforeReject: register.gauge<{reason: ReprocessStatus}>({
|
|
1540
|
-
name: "lodestar_reprocess_attestations_wait_time_reject_seconds",
|
|
1541
|
-
help: "Time to wait for unknown block before being rejected",
|
|
1542
|
-
labelNames: ["reason"],
|
|
1543
|
-
}),
|
|
1544
|
-
},
|
|
1545
|
-
|
|
1546
|
-
// reprocess gossip attestations
|
|
1547
|
-
reprocessGossipAttestations: {
|
|
1548
|
-
total: register.gauge({
|
|
1549
|
-
name: "lodestar_reprocess_gossip_attestations_total",
|
|
1550
|
-
help: "Total number of gossip attestations waiting to reprocess",
|
|
1551
|
-
}),
|
|
1552
|
-
countPerSlot: register.gauge({
|
|
1553
|
-
name: "lodestar_reprocess_gossip_attestations_per_slot_total",
|
|
1554
|
-
help: "Total number of gossip attestations waiting to reprocess pet slot",
|
|
1555
|
-
}),
|
|
1556
|
-
resolve: register.gauge({
|
|
1557
|
-
name: "lodestar_reprocess_gossip_attestations_resolve_total",
|
|
1558
|
-
help: "Total number of gossip attestations are reprocessed",
|
|
1559
|
-
}),
|
|
1560
|
-
waitSecBeforeResolve: register.gauge({
|
|
1561
|
-
name: "lodestar_reprocess_gossip_attestations_wait_time_resolve_seconds",
|
|
1562
|
-
help: "Time to wait for unknown block in seconds",
|
|
1563
|
-
}),
|
|
1564
|
-
reject: register.gauge<{reason: ReprocessRejectReason}>({
|
|
1565
|
-
name: "lodestar_reprocess_gossip_attestations_reject_total",
|
|
1566
|
-
help: "Total number of attestations are rejected to reprocess",
|
|
1567
|
-
labelNames: ["reason"],
|
|
1568
|
-
}),
|
|
1569
|
-
waitSecBeforeReject: register.gauge<{reason: ReprocessRejectReason}>({
|
|
1570
|
-
name: "lodestar_reprocess_gossip_attestations_wait_time_reject_seconds",
|
|
1571
|
-
help: "Time to wait for unknown block before being rejected",
|
|
1572
|
-
labelNames: ["reason"],
|
|
1573
|
-
}),
|
|
1574
|
-
},
|
|
1575
|
-
|
|
1576
|
-
lightclientServer: {
|
|
1577
|
-
onSyncAggregate: register.gauge<{event: string}>({
|
|
1578
|
-
name: "lodestar_lightclient_server_on_sync_aggregate_event_total",
|
|
1579
|
-
help: "Total number of relevant events onSyncAggregate fn",
|
|
1580
|
-
labelNames: ["event"],
|
|
1581
|
-
}),
|
|
1582
|
-
highestSlot: register.gauge<{item: string}>({
|
|
1583
|
-
name: "lodestar_lightclient_server_highest_slot",
|
|
1584
|
-
help: "Current highest slot of items stored by LightclientServer",
|
|
1585
|
-
labelNames: ["item"],
|
|
1586
|
-
}),
|
|
1587
|
-
updateNotBetter: register.gauge({
|
|
1588
|
-
name: "lodestar_lightclient_server_event_update_not_better_total",
|
|
1589
|
-
help: "Total number of cache hits in LightclientServer.prevHeadData",
|
|
1590
|
-
}),
|
|
1591
|
-
attestedDataCacheMiss: register.gauge({
|
|
1592
|
-
name: "lodestar_lightclient_server_attested_cache_miss_total",
|
|
1593
|
-
help: "Total number of cache miss in LightclientServer.prevHeadData",
|
|
1594
|
-
}),
|
|
1595
|
-
attestedDataDiffPeriod: register.gauge({
|
|
1596
|
-
name: "lodestar_lightclient_server_attested_data_diff_period_total",
|
|
1597
|
-
help: "Total number of times a syncAggregate is a different period than attested data",
|
|
1598
|
-
}),
|
|
1599
|
-
},
|
|
1600
|
-
|
|
1601
|
-
eth1: {
|
|
1602
|
-
depositTrackerIsCaughtup: register.gauge({
|
|
1603
|
-
name: "lodestar_eth1_deposit_tracker_is_caughtup",
|
|
1604
|
-
help: "Eth1 deposit is caught up 0=false 1=true",
|
|
1605
|
-
}),
|
|
1606
|
-
depositTrackerUpdateErrors: register.gauge({
|
|
1607
|
-
name: "lodestar_eth1_deposit_tracker_update_errors_total",
|
|
1608
|
-
help: "Eth1 deposit update loop errors total",
|
|
1609
|
-
}),
|
|
1610
|
-
remoteHighestBlock: register.gauge({
|
|
1611
|
-
name: "lodestar_eth1_remote_highest_block",
|
|
1612
|
-
help: "Eth1 current highest block number",
|
|
1613
|
-
}),
|
|
1614
|
-
depositEventsFetched: register.gauge({
|
|
1615
|
-
name: "lodestar_eth1_deposit_events_fetched_total",
|
|
1616
|
-
help: "Eth1 deposit events fetched total",
|
|
1617
|
-
}),
|
|
1618
|
-
lastProcessedDepositBlockNumber: register.gauge({
|
|
1619
|
-
name: "lodestar_eth1_last_processed_deposit_block_number",
|
|
1620
|
-
help: "Eth1 deposit tracker lastProcessedDepositBlockNumber",
|
|
1621
|
-
}),
|
|
1622
|
-
blocksFetched: register.gauge({
|
|
1623
|
-
name: "lodestar_eth1_blocks_fetched_total",
|
|
1624
|
-
help: "Eth1 blocks fetched total",
|
|
1625
|
-
}),
|
|
1626
|
-
lastFetchedBlockBlockNumber: register.gauge({
|
|
1627
|
-
name: "lodestar_eth1_last_fetched_block_block_number",
|
|
1628
|
-
help: "Eth1 deposit tracker last fetched block's block number",
|
|
1629
|
-
}),
|
|
1630
|
-
lastFetchedBlockTimestamp: register.gauge({
|
|
1631
|
-
name: "lodestar_eth1_last_fetched_block_timestamp",
|
|
1632
|
-
help: "Eth1 deposit tracker last fetched block's timestamp",
|
|
1633
|
-
}),
|
|
1634
|
-
eth1FollowDistanceSecondsConfig: register.gauge({
|
|
1635
|
-
name: "lodestar_eth1_follow_distance_seconds_config",
|
|
1636
|
-
help: "Constant with value = SECONDS_PER_ETH1_BLOCK * ETH1_FOLLOW_DISTANCE",
|
|
1637
|
-
}),
|
|
1638
|
-
eth1FollowDistanceDynamic: register.gauge({
|
|
1639
|
-
name: "lodestar_eth1_follow_distance_dynamic",
|
|
1640
|
-
help: "Eth1 dynamic follow distance changed by the deposit tracker if blocks are slow",
|
|
1641
|
-
}),
|
|
1642
|
-
eth1GetBlocksBatchSizeDynamic: register.gauge({
|
|
1643
|
-
name: "lodestar_eth1_blocks_batch_size_dynamic",
|
|
1644
|
-
help: "Dynamic batch size to fetch blocks",
|
|
1645
|
-
}),
|
|
1646
|
-
eth1GetLogsBatchSizeDynamic: register.gauge({
|
|
1647
|
-
name: "lodestar_eth1_logs_batch_size_dynamic",
|
|
1648
|
-
help: "Dynamic batch size to fetch deposit logs",
|
|
1649
|
-
}),
|
|
1650
|
-
|
|
1651
|
-
// Merge Search info
|
|
1652
|
-
eth1MergeStatus: register.gauge({
|
|
1653
|
-
name: "lodestar_eth1_merge_status",
|
|
1654
|
-
help: "Eth1 Merge Status 0 PRE_MERGE 1 SEARCHING 2 FOUND 3 POST_MERGE",
|
|
1655
|
-
}),
|
|
1656
|
-
eth1MergeTDFactor: register.gauge({
|
|
1657
|
-
name: "lodestar_eth1_merge_td_factor",
|
|
1658
|
-
help: "TTD set for the merge",
|
|
1659
|
-
}),
|
|
1660
|
-
eth1MergeTTD: register.gauge({
|
|
1661
|
-
name: "lodestar_eth1_merge_ttd",
|
|
1662
|
-
help: "TTD set for the merge scaled down by td_factor",
|
|
1663
|
-
}),
|
|
1664
|
-
|
|
1665
|
-
eth1PollMergeBlockErrors: register.gauge({
|
|
1666
|
-
name: "lodestar_eth1_poll_merge_block_errors_total",
|
|
1667
|
-
help: "Total count of errors polling merge block",
|
|
1668
|
-
}),
|
|
1669
|
-
getTerminalPowBlockPromiseCacheHit: register.gauge({
|
|
1670
|
-
name: "lodestar_eth1_get_terminal_pow_block_promise_cache_hit_total",
|
|
1671
|
-
help: "Total count of skipped runs in poll merge block, because a previous promise existed",
|
|
1672
|
-
}),
|
|
1673
|
-
eth1ParentBlocksFetched: register.gauge({
|
|
1674
|
-
name: "lodestar_eth1_parent_blocks_fetched_total",
|
|
1675
|
-
help: "Total count of parent blocks fetched searching for merge block",
|
|
1676
|
-
}),
|
|
1677
|
-
|
|
1678
|
-
// Latest block details
|
|
1679
|
-
eth1LatestBlockTD: register.gauge({
|
|
1680
|
-
name: "lodestar_eth1_latest_block_ttd",
|
|
1681
|
-
help: "Eth1 latest Block td scaled down by td_factor",
|
|
1682
|
-
}),
|
|
1683
|
-
eth1LatestBlockNumber: register.gauge({
|
|
1684
|
-
name: "lodestar_eth1_latest_block_number",
|
|
1685
|
-
help: "Eth1 latest block number",
|
|
1686
|
-
}),
|
|
1687
|
-
eth1LatestBlockTimestamp: register.gauge({
|
|
1688
|
-
name: "lodestar_eth1_latest_block_timestamp",
|
|
1689
|
-
help: "Eth1 latest block timestamp",
|
|
1690
|
-
}),
|
|
1691
|
-
|
|
1692
|
-
// Merge details
|
|
1693
|
-
eth1MergeBlockDetails: register.gauge<{
|
|
1694
|
-
terminalBlockHash: string;
|
|
1695
|
-
terminalBlockNumber: string;
|
|
1696
|
-
terminalBlockTD: string;
|
|
1697
|
-
}>({
|
|
1698
|
-
name: "lodestar_eth1_merge_block_details",
|
|
1699
|
-
help: "If found then 1 with terminal block details",
|
|
1700
|
-
labelNames: ["terminalBlockHash", "terminalBlockNumber", "terminalBlockTD"],
|
|
1701
|
-
}),
|
|
1702
|
-
},
|
|
1703
|
-
|
|
1704
|
-
eth1HttpClient: {
|
|
1705
|
-
requestTime: register.histogram<{routeId: string}>({
|
|
1706
|
-
name: "lodestar_eth1_http_client_request_time_seconds",
|
|
1707
|
-
help: "eth1 JsonHttpClient - histogram or roundtrip request times",
|
|
1708
|
-
labelNames: ["routeId"],
|
|
1709
|
-
// Provide max resolution on problematic values around 1 second
|
|
1710
|
-
buckets: [0.1, 0.5, 1, 2, 5, 15],
|
|
1711
|
-
}),
|
|
1712
|
-
streamTime: register.histogram<{routeId: string}>({
|
|
1713
|
-
name: "lodestar_eth1_http_client_stream_time_seconds",
|
|
1714
|
-
help: "eth1 JsonHttpClient - streaming time by routeId",
|
|
1715
|
-
labelNames: ["routeId"],
|
|
1716
|
-
// Provide max resolution on problematic values around 1 second
|
|
1717
|
-
buckets: [0.1, 0.5, 1, 2, 5, 15],
|
|
1718
|
-
}),
|
|
1719
|
-
requestErrors: register.gauge<{routeId: string}>({
|
|
1720
|
-
name: "lodestar_eth1_http_client_request_errors_total",
|
|
1721
|
-
help: "eth1 JsonHttpClient - total count of request errors",
|
|
1722
|
-
labelNames: ["routeId"],
|
|
1723
|
-
}),
|
|
1724
|
-
retryCount: register.gauge<{routeId: string}>({
|
|
1725
|
-
name: "lodestar_eth1_http_client_request_retries_total",
|
|
1726
|
-
help: "eth1 JsonHttpClient - total count of request retries",
|
|
1727
|
-
labelNames: ["routeId"],
|
|
1728
|
-
}),
|
|
1729
|
-
requestUsedFallbackUrl: register.gauge<{routeId: string}>({
|
|
1730
|
-
name: "lodestar_eth1_http_client_request_used_fallback_url_total",
|
|
1731
|
-
help: "eth1 JsonHttpClient - total count of requests on fallback url(s)",
|
|
1732
|
-
labelNames: ["routeId"],
|
|
1733
|
-
}),
|
|
1734
|
-
activeRequests: register.gauge<{routeId: string}>({
|
|
1735
|
-
name: "lodestar_eth1_http_client_active_requests",
|
|
1736
|
-
help: "eth1 JsonHttpClient - current count of active requests",
|
|
1737
|
-
labelNames: ["routeId"],
|
|
1738
|
-
}),
|
|
1739
|
-
configUrlsCount: register.gauge({
|
|
1740
|
-
name: "lodestar_eth1_http_client_config_urls_count",
|
|
1741
|
-
help: "eth1 JsonHttpClient - static config urls count",
|
|
1742
|
-
}),
|
|
1743
|
-
},
|
|
1744
|
-
|
|
1745
|
-
executionEnginerHttpClient: {
|
|
1746
|
-
requestTime: register.histogram<{routeId: string}>({
|
|
1747
|
-
name: "lodestar_execution_engine_http_client_request_time_seconds",
|
|
1748
|
-
help: "ExecutionEngineHttp client - histogram or roundtrip request times",
|
|
1749
|
-
labelNames: ["routeId"],
|
|
1750
|
-
// Provide max resolution on problematic values around 1 second
|
|
1751
|
-
buckets: [0.1, 0.5, 1, 2, 5, 15],
|
|
1752
|
-
}),
|
|
1753
|
-
streamTime: register.histogram<{routeId: string}>({
|
|
1754
|
-
name: "lodestar_execution_engine_http_client_stream_time_seconds",
|
|
1755
|
-
help: "ExecutionEngineHttp client - streaming time by routeId",
|
|
1756
|
-
labelNames: ["routeId"],
|
|
1757
|
-
// Provide max resolution on problematic values around 1 second
|
|
1758
|
-
buckets: [0.1, 0.5, 1, 2, 5, 15],
|
|
1759
|
-
}),
|
|
1760
|
-
requestErrors: register.gauge<{routeId: string}>({
|
|
1761
|
-
name: "lodestar_execution_engine_http_client_request_errors_total",
|
|
1762
|
-
help: "ExecutionEngineHttp client - total count of request errors",
|
|
1763
|
-
labelNames: ["routeId"],
|
|
1764
|
-
}),
|
|
1765
|
-
retryCount: register.gauge<{routeId: string}>({
|
|
1766
|
-
name: "lodestar_execution_engine_http_client_request_retries_total",
|
|
1767
|
-
help: "ExecutionEngineHttp client - total count of request retries",
|
|
1768
|
-
labelNames: ["routeId"],
|
|
1769
|
-
}),
|
|
1770
|
-
requestUsedFallbackUrl: register.gauge<{routeId: string}>({
|
|
1771
|
-
name: "lodestar_execution_engine_http_client_request_used_fallback_url_total",
|
|
1772
|
-
help: "ExecutionEngineHttp client - total count of requests on fallback url(s)",
|
|
1773
|
-
labelNames: ["routeId"],
|
|
1774
|
-
}),
|
|
1775
|
-
activeRequests: register.gauge<{routeId: string}>({
|
|
1776
|
-
name: "lodestar_execution_engine_http_client_active_requests",
|
|
1777
|
-
help: "ExecutionEngineHttp client - current count of active requests",
|
|
1778
|
-
labelNames: ["routeId"],
|
|
1779
|
-
}),
|
|
1780
|
-
configUrlsCount: register.gauge({
|
|
1781
|
-
name: "lodestar_execution_engine_http_client_config_urls_count",
|
|
1782
|
-
help: "ExecutionEngineHttp client - static config urls count",
|
|
1783
|
-
}),
|
|
1784
|
-
},
|
|
1785
|
-
|
|
1786
|
-
builderHttpClient: {
|
|
1787
|
-
requestTime: register.histogram<{routeId: string}>({
|
|
1788
|
-
name: "lodestar_builder_http_client_request_time_seconds",
|
|
1789
|
-
help: "Histogram of builder http client request time by routeId",
|
|
1790
|
-
labelNames: ["routeId"],
|
|
1791
|
-
// Expected times are ~ 50-500ms, but in an overload NodeJS they can be greater
|
|
1792
|
-
buckets: [0.01, 0.1, 1, 5],
|
|
1793
|
-
}),
|
|
1794
|
-
streamTime: register.histogram<{routeId: string}>({
|
|
1795
|
-
name: "lodestar_builder_http_client_stream_time_seconds",
|
|
1796
|
-
help: "Builder api - streaming time by routeId",
|
|
1797
|
-
labelNames: ["routeId"],
|
|
1798
|
-
// Provide max resolution on problematic values around 1 second
|
|
1799
|
-
buckets: [0.1, 0.5, 1, 2, 5, 15],
|
|
1800
|
-
}),
|
|
1801
|
-
requestErrors: register.gauge<{routeId: string; baseUrl: string}>({
|
|
1802
|
-
name: "lodestar_builder_http_client_request_errors_total",
|
|
1803
|
-
help: "Total count of errors on builder http client requests by routeId",
|
|
1804
|
-
labelNames: ["routeId", "baseUrl"],
|
|
1805
|
-
}),
|
|
1806
|
-
requestToFallbacks: register.gauge<{routeId: string; baseUrl: string}>({
|
|
1807
|
-
name: "lodestar_builder_http_client_request_to_fallbacks_total",
|
|
1808
|
-
help: "Total count of requests to fallback URLs on builder http API by routeId",
|
|
1809
|
-
labelNames: ["routeId", "baseUrl"],
|
|
1810
|
-
}),
|
|
1811
|
-
|
|
1812
|
-
urlsScore: register.gauge<{urlIndex: number; baseUrl: string}>({
|
|
1813
|
-
name: "lodestar_builder_http_client_urls_score",
|
|
1814
|
-
help: "Current score of builder http URLs by url index",
|
|
1815
|
-
labelNames: ["urlIndex", "baseUrl"],
|
|
1816
|
-
}),
|
|
1817
|
-
},
|
|
1818
|
-
|
|
1819
|
-
db: {
|
|
1820
|
-
dbReadReq: register.gauge<{bucket: string}>({
|
|
1821
|
-
name: "lodestar_db_read_req_total",
|
|
1822
|
-
help: "Total count of db read requests, may read 0 or more items",
|
|
1823
|
-
labelNames: ["bucket"],
|
|
1824
|
-
}),
|
|
1825
|
-
dbReadItems: register.gauge<{bucket: string}>({
|
|
1826
|
-
name: "lodestar_db_read_items_total",
|
|
1827
|
-
help: "Total count of db read items, item = key | value | entry",
|
|
1828
|
-
labelNames: ["bucket"],
|
|
1829
|
-
}),
|
|
1830
|
-
dbWriteReq: register.gauge<{bucket: string}>({
|
|
1831
|
-
name: "lodestar_db_write_req_total",
|
|
1832
|
-
help: "Total count of db write requests, may write 0 or more items",
|
|
1833
|
-
labelNames: ["bucket"],
|
|
1834
|
-
}),
|
|
1835
|
-
dbWriteItems: register.gauge<{bucket: string}>({
|
|
1836
|
-
name: "lodestar_db_write_items_total",
|
|
1837
|
-
help: "Total count of db write items",
|
|
1838
|
-
labelNames: ["bucket"],
|
|
1839
|
-
}),
|
|
1840
|
-
dbSizeTotal: register.gauge({
|
|
1841
|
-
name: "lodestar_db_size_bytes_total",
|
|
1842
|
-
help: "Approximate number of bytes of file system space used by db",
|
|
1843
|
-
}),
|
|
1844
|
-
dbApproximateSizeTime: register.histogram({
|
|
1845
|
-
name: "lodestar_db_approximate_size_time_seconds",
|
|
1846
|
-
help: "Time to approximate db size in seconds",
|
|
1847
|
-
buckets: [0.0001, 0.001, 0.01, 0.1, 1],
|
|
1848
|
-
}),
|
|
1849
|
-
},
|
|
1850
|
-
|
|
1851
|
-
pruneHistory: {
|
|
1852
|
-
pruneCount: register.gauge({
|
|
1853
|
-
name: "lodestar_prune_history_prune_count_total",
|
|
1854
|
-
help: "Total count of prune operations",
|
|
1855
|
-
}),
|
|
1856
|
-
|
|
1857
|
-
fetchKeys: register.histogram({
|
|
1858
|
-
name: "lodestar_prune_history_fetch_keys_time_seconds",
|
|
1859
|
-
help: "Time to fetch keys in seconds",
|
|
1860
|
-
buckets: [0.001, 0.01, 0.1, 1],
|
|
1861
|
-
}),
|
|
1862
|
-
|
|
1863
|
-
pruneKeys: register.histogram({
|
|
1864
|
-
name: "lodestar_prune_history_prune_keys_time_seconds",
|
|
1865
|
-
help: "Time to prune keys in seconds",
|
|
1866
|
-
buckets: [0.001, 0.01, 0.1, 1],
|
|
1867
|
-
}),
|
|
1868
|
-
},
|
|
1869
|
-
};
|
|
1870
|
-
}
|