@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.
Files changed (945) hide show
  1. package/lib/api/impl/config/constants.d.ts +0 -5
  2. package/lib/api/impl/config/constants.js +1 -6
  3. package/lib/api/impl/config/constants.js.map +1 -1
  4. package/lib/api/impl/validator/index.js +3 -5
  5. package/lib/api/impl/validator/index.js.map +1 -1
  6. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
  7. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  8. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  9. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  10. package/lib/chain/blocks/blockInput/blockInput.js +1 -1
  11. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  12. package/lib/chain/blocks/importBlock.js +3 -4
  13. package/lib/chain/blocks/importBlock.js.map +1 -1
  14. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
  15. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  16. package/lib/chain/blocks/writeBlockInputToDb.js +7 -1
  17. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  18. package/lib/chain/bls/multithread/index.js +0 -1
  19. package/lib/chain/bls/multithread/index.js.map +1 -1
  20. package/lib/chain/chain.js +3 -2
  21. package/lib/chain/chain.js.map +1 -1
  22. package/lib/chain/emitter.d.ts +2 -2
  23. package/lib/chain/opPools/attestationPool.d.ts +3 -2
  24. package/lib/chain/opPools/attestationPool.js +5 -3
  25. package/lib/chain/opPools/attestationPool.js.map +1 -1
  26. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
  27. package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
  28. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  29. package/lib/chain/opPools/types.d.ts +1 -1
  30. package/lib/chain/opPools/types.js +1 -1
  31. package/lib/chain/opPools/types.js.map +1 -1
  32. package/lib/chain/prepareNextSlot.d.ts +3 -3
  33. package/lib/chain/prepareNextSlot.js +8 -8
  34. package/lib/chain/prepareNextSlot.js.map +1 -1
  35. package/lib/chain/stateCache/persistentCheckpointsCache.js +8 -9
  36. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  37. package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
  38. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  39. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
  40. package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
  41. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  42. package/lib/chain/validatorMonitor.js +14 -20
  43. package/lib/chain/validatorMonitor.js.map +1 -1
  44. package/lib/db/buckets.d.ts +4 -4
  45. package/lib/db/buckets.js +4 -4
  46. package/lib/db/buckets.js.map +1 -1
  47. package/lib/db/repositories/blobSidecars.js +1 -1
  48. package/lib/db/repositories/blobSidecars.js.map +1 -1
  49. package/lib/db/repositories/blobSidecarsArchive.js +1 -1
  50. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  51. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  52. package/lib/db/repositories/dataColumnSidecar.js +1 -1
  53. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  54. package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
  55. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  56. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  57. package/lib/metrics/metrics/lodestar.js +3 -3
  58. package/lib/metrics/metrics/lodestar.js.map +1 -1
  59. package/lib/network/core/networkCoreWorkerHandler.js +3 -9
  60. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  61. package/lib/network/discv5/index.js +1 -4
  62. package/lib/network/discv5/index.js.map +1 -1
  63. package/lib/network/gossip/gossipsub.d.ts +0 -1
  64. package/lib/network/gossip/gossipsub.js +16 -35
  65. package/lib/network/gossip/gossipsub.js.map +1 -1
  66. package/lib/network/gossip/metrics.d.ts +7 -15
  67. package/lib/network/gossip/metrics.js +6 -16
  68. package/lib/network/gossip/metrics.js.map +1 -1
  69. package/lib/network/libp2p/index.js +1 -9
  70. package/lib/network/libp2p/index.js.map +1 -1
  71. package/lib/network/metadata.js +1 -2
  72. package/lib/network/metadata.js.map +1 -1
  73. package/lib/network/network.d.ts +1 -1
  74. package/lib/network/network.js +13 -11
  75. package/lib/network/network.js.map +1 -1
  76. package/lib/network/peers/datastore.d.ts +2 -2
  77. package/lib/network/peers/datastore.js +2 -2
  78. package/lib/network/peers/datastore.js.map +1 -1
  79. package/lib/network/processor/index.d.ts +1 -1
  80. package/lib/network/processor/index.js +3 -2
  81. package/lib/network/processor/index.js.map +1 -1
  82. package/lib/sync/types.d.ts +1 -0
  83. package/lib/sync/types.js.map +1 -1
  84. package/lib/sync/unknownBlock.d.ts +1 -0
  85. package/lib/sync/unknownBlock.js +19 -17
  86. package/lib/sync/unknownBlock.js.map +1 -1
  87. package/lib/sync/utils/downloadByRoot.d.ts +1 -3
  88. package/lib/sync/utils/downloadByRoot.js +9 -36
  89. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  90. package/lib/util/blobs.js +3 -5
  91. package/lib/util/blobs.js.map +1 -1
  92. package/lib/util/clock.d.ts +0 -5
  93. package/lib/util/clock.js +0 -3
  94. package/lib/util/clock.js.map +1 -1
  95. package/lib/util/dataColumns.js +1 -1
  96. package/lib/util/dataColumns.js.map +1 -1
  97. package/lib/util/execution.js +2 -19
  98. package/lib/util/execution.js.map +1 -1
  99. package/package.json +22 -32
  100. package/lib/api/impl/api.d.ts.map +0 -1
  101. package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
  102. package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
  103. package/lib/api/impl/beacon/index.d.ts.map +0 -1
  104. package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
  105. package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
  106. package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
  107. package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
  108. package/lib/api/impl/config/constants.d.ts.map +0 -1
  109. package/lib/api/impl/config/index.d.ts.map +0 -1
  110. package/lib/api/impl/debug/index.d.ts.map +0 -1
  111. package/lib/api/impl/errors.d.ts.map +0 -1
  112. package/lib/api/impl/events/index.d.ts.map +0 -1
  113. package/lib/api/impl/index.d.ts.map +0 -1
  114. package/lib/api/impl/lightclient/index.d.ts.map +0 -1
  115. package/lib/api/impl/lodestar/index.d.ts.map +0 -1
  116. package/lib/api/impl/node/index.d.ts.map +0 -1
  117. package/lib/api/impl/node/utils.d.ts.map +0 -1
  118. package/lib/api/impl/proof/index.d.ts.map +0 -1
  119. package/lib/api/impl/types.d.ts.map +0 -1
  120. package/lib/api/impl/utils.d.ts.map +0 -1
  121. package/lib/api/impl/validator/index.d.ts.map +0 -1
  122. package/lib/api/impl/validator/utils.d.ts.map +0 -1
  123. package/lib/api/index.d.ts.map +0 -1
  124. package/lib/api/options.d.ts.map +0 -1
  125. package/lib/api/rest/activeSockets.d.ts.map +0 -1
  126. package/lib/api/rest/base.d.ts.map +0 -1
  127. package/lib/api/rest/index.d.ts.map +0 -1
  128. package/lib/api/rest/swaggerUI.d.ts.map +0 -1
  129. package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
  130. package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
  131. package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
  132. package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
  133. package/lib/chain/archiveStore/constants.d.ts.map +0 -1
  134. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
  135. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
  136. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
  137. package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
  138. package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
  139. package/lib/chain/archiveStore/index.d.ts.map +0 -1
  140. package/lib/chain/archiveStore/interface.d.ts.map +0 -1
  141. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
  142. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
  143. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
  144. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  145. package/lib/chain/balancesCache.d.ts.map +0 -1
  146. package/lib/chain/beaconProposerCache.d.ts.map +0 -1
  147. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
  148. package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
  149. package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
  150. package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
  151. package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
  152. package/lib/chain/blocks/importBlock.d.ts.map +0 -1
  153. package/lib/chain/blocks/index.d.ts.map +0 -1
  154. package/lib/chain/blocks/types.d.ts.map +0 -1
  155. package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
  156. package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
  157. package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
  158. package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
  159. package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
  160. package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
  161. package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
  162. package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
  163. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
  164. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
  165. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
  166. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
  167. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
  168. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
  169. package/lib/chain/bls/index.d.ts.map +0 -1
  170. package/lib/chain/bls/interface.d.ts.map +0 -1
  171. package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
  172. package/lib/chain/bls/multithread/index.d.ts.map +0 -1
  173. package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
  174. package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
  175. package/lib/chain/bls/multithread/types.d.ts.map +0 -1
  176. package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
  177. package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
  178. package/lib/chain/bls/singleThread.d.ts.map +0 -1
  179. package/lib/chain/bls/utils.d.ts.map +0 -1
  180. package/lib/chain/chain.d.ts.map +0 -1
  181. package/lib/chain/emitter.d.ts.map +0 -1
  182. package/lib/chain/errors/attestationError.d.ts.map +0 -1
  183. package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
  184. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  185. package/lib/chain/errors/blockError.d.ts.map +0 -1
  186. package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
  187. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
  188. package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
  189. package/lib/chain/errors/index.d.ts.map +0 -1
  190. package/lib/chain/errors/lightClientError.d.ts.map +0 -1
  191. package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
  192. package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
  193. package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
  194. package/lib/chain/forkChoice/index.d.ts.map +0 -1
  195. package/lib/chain/genesis/genesis.d.ts.map +0 -1
  196. package/lib/chain/genesis/interface.d.ts.map +0 -1
  197. package/lib/chain/index.d.ts.map +0 -1
  198. package/lib/chain/initState.d.ts.map +0 -1
  199. package/lib/chain/interface.d.ts.map +0 -1
  200. package/lib/chain/lightClient/index.d.ts.map +0 -1
  201. package/lib/chain/lightClient/proofs.d.ts.map +0 -1
  202. package/lib/chain/lightClient/types.d.ts.map +0 -1
  203. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
  204. package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
  205. package/lib/chain/opPools/index.d.ts.map +0 -1
  206. package/lib/chain/opPools/opPool.d.ts.map +0 -1
  207. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
  208. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
  209. package/lib/chain/opPools/types.d.ts.map +0 -1
  210. package/lib/chain/opPools/utils.d.ts.map +0 -1
  211. package/lib/chain/options.d.ts.map +0 -1
  212. package/lib/chain/prepareNextSlot.d.ts.map +0 -1
  213. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
  214. package/lib/chain/produceBlock/index.d.ts.map +0 -1
  215. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
  216. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
  217. package/lib/chain/regen/errors.d.ts.map +0 -1
  218. package/lib/chain/regen/index.d.ts.map +0 -1
  219. package/lib/chain/regen/interface.d.ts.map +0 -1
  220. package/lib/chain/regen/queued.d.ts.map +0 -1
  221. package/lib/chain/regen/regen.d.ts.map +0 -1
  222. package/lib/chain/reprocess.d.ts.map +0 -1
  223. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  224. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  225. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  226. package/lib/chain/seenCache/index.d.ts.map +0 -1
  227. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
  228. package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
  229. package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
  230. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
  231. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
  232. package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
  233. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
  234. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
  235. package/lib/chain/serializeState.d.ts.map +0 -1
  236. package/lib/chain/shufflingCache.d.ts.map +0 -1
  237. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  238. package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
  239. package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
  240. package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
  241. package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
  242. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
  243. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  244. package/lib/chain/stateCache/index.d.ts.map +0 -1
  245. package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
  246. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
  247. package/lib/chain/stateCache/types.d.ts.map +0 -1
  248. package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
  249. package/lib/chain/validation/attestation.d.ts.map +0 -1
  250. package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
  251. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  252. package/lib/chain/validation/block.d.ts.map +0 -1
  253. package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
  254. package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
  255. package/lib/chain/validation/index.d.ts.map +0 -1
  256. package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
  257. package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
  258. package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
  259. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
  260. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
  261. package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
  262. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
  263. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
  264. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
  265. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
  266. package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
  267. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
  268. package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
  269. package/lib/chain/validatorMonitor.d.ts.map +0 -1
  270. package/lib/constants/constants.d.ts.map +0 -1
  271. package/lib/constants/index.d.ts.map +0 -1
  272. package/lib/constants/network.d.ts.map +0 -1
  273. package/lib/db/beacon.d.ts.map +0 -1
  274. package/lib/db/buckets.d.ts.map +0 -1
  275. package/lib/db/index.d.ts.map +0 -1
  276. package/lib/db/interface.d.ts.map +0 -1
  277. package/lib/db/options.d.ts.map +0 -1
  278. package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
  279. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  280. package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
  281. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
  282. package/lib/db/repositories/block.d.ts.map +0 -1
  283. package/lib/db/repositories/blockArchive.d.ts.map +0 -1
  284. package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
  285. package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
  286. package/lib/db/repositories/checkpointState.d.ts.map +0 -1
  287. package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
  288. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
  289. package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
  290. package/lib/db/repositories/depositEvent.d.ts.map +0 -1
  291. package/lib/db/repositories/eth1Data.d.ts.map +0 -1
  292. package/lib/db/repositories/index.d.ts.map +0 -1
  293. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
  294. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
  295. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
  296. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
  297. package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
  298. package/lib/db/repositories/stateArchive.d.ts.map +0 -1
  299. package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
  300. package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
  301. package/lib/db/single/index.d.ts.map +0 -1
  302. package/lib/db/single/preGenesisState.d.ts.map +0 -1
  303. package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
  304. package/lib/eth1/errors.d.ts.map +0 -1
  305. package/lib/eth1/eth1DataCache.d.ts.map +0 -1
  306. package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
  307. package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
  308. package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
  309. package/lib/eth1/index.d.ts.map +0 -1
  310. package/lib/eth1/interface.d.ts.map +0 -1
  311. package/lib/eth1/options.d.ts.map +0 -1
  312. package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
  313. package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
  314. package/lib/eth1/provider/jwt.d.ts.map +0 -1
  315. package/lib/eth1/provider/utils.d.ts.map +0 -1
  316. package/lib/eth1/stream.d.ts.map +0 -1
  317. package/lib/eth1/utils/depositContract.d.ts.map +0 -1
  318. package/lib/eth1/utils/deposits.d.ts.map +0 -1
  319. package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
  320. package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
  321. package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
  322. package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
  323. package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
  324. package/lib/execution/builder/cache.d.ts.map +0 -1
  325. package/lib/execution/builder/http.d.ts.map +0 -1
  326. package/lib/execution/builder/index.d.ts.map +0 -1
  327. package/lib/execution/builder/interface.d.ts.map +0 -1
  328. package/lib/execution/builder/utils.d.ts.map +0 -1
  329. package/lib/execution/engine/disabled.d.ts.map +0 -1
  330. package/lib/execution/engine/http.d.ts.map +0 -1
  331. package/lib/execution/engine/index.d.ts.map +0 -1
  332. package/lib/execution/engine/interface.d.ts.map +0 -1
  333. package/lib/execution/engine/mock.d.ts.map +0 -1
  334. package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
  335. package/lib/execution/engine/types.d.ts.map +0 -1
  336. package/lib/execution/engine/utils.d.ts.map +0 -1
  337. package/lib/execution/index.d.ts.map +0 -1
  338. package/lib/index.d.ts.map +0 -1
  339. package/lib/metrics/index.d.ts.map +0 -1
  340. package/lib/metrics/metrics/beacon.d.ts.map +0 -1
  341. package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
  342. package/lib/metrics/metrics.d.ts.map +0 -1
  343. package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
  344. package/lib/metrics/options.d.ts.map +0 -1
  345. package/lib/metrics/server/http.d.ts.map +0 -1
  346. package/lib/metrics/server/index.d.ts.map +0 -1
  347. package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
  348. package/lib/metrics/utils/gauge.d.ts.map +0 -1
  349. package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
  350. package/lib/monitoring/clientStats.d.ts.map +0 -1
  351. package/lib/monitoring/index.d.ts.map +0 -1
  352. package/lib/monitoring/options.d.ts.map +0 -1
  353. package/lib/monitoring/properties.d.ts.map +0 -1
  354. package/lib/monitoring/service.d.ts.map +0 -1
  355. package/lib/monitoring/system.d.ts.map +0 -1
  356. package/lib/monitoring/types.d.ts.map +0 -1
  357. package/lib/network/core/events.d.ts.map +0 -1
  358. package/lib/network/core/index.d.ts.map +0 -1
  359. package/lib/network/core/metrics.d.ts.map +0 -1
  360. package/lib/network/core/networkCore.d.ts.map +0 -1
  361. package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
  362. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
  363. package/lib/network/core/types.d.ts.map +0 -1
  364. package/lib/network/discv5/index.d.ts.map +0 -1
  365. package/lib/network/discv5/types.d.ts.map +0 -1
  366. package/lib/network/discv5/utils.d.ts.map +0 -1
  367. package/lib/network/discv5/worker.d.ts.map +0 -1
  368. package/lib/network/events.d.ts.map +0 -1
  369. package/lib/network/forks.d.ts.map +0 -1
  370. package/lib/network/gossip/constants.d.ts.map +0 -1
  371. package/lib/network/gossip/encoding.d.ts.map +0 -1
  372. package/lib/network/gossip/errors.d.ts.map +0 -1
  373. package/lib/network/gossip/gossipsub.d.ts.map +0 -1
  374. package/lib/network/gossip/index.d.ts.map +0 -1
  375. package/lib/network/gossip/interface.d.ts.map +0 -1
  376. package/lib/network/gossip/metrics.d.ts.map +0 -1
  377. package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
  378. package/lib/network/gossip/topic.d.ts.map +0 -1
  379. package/lib/network/index.d.ts.map +0 -1
  380. package/lib/network/interface.d.ts.map +0 -1
  381. package/lib/network/libp2p/error.d.ts.map +0 -1
  382. package/lib/network/libp2p/index.d.ts.map +0 -1
  383. package/lib/network/metadata.d.ts.map +0 -1
  384. package/lib/network/network.d.ts.map +0 -1
  385. package/lib/network/networkConfig.d.ts.map +0 -1
  386. package/lib/network/options.d.ts.map +0 -1
  387. package/lib/network/peers/client.d.ts.map +0 -1
  388. package/lib/network/peers/datastore.d.ts.map +0 -1
  389. package/lib/network/peers/discover.d.ts.map +0 -1
  390. package/lib/network/peers/index.d.ts.map +0 -1
  391. package/lib/network/peers/peerManager.d.ts.map +0 -1
  392. package/lib/network/peers/peersData.d.ts.map +0 -1
  393. package/lib/network/peers/score/constants.d.ts.map +0 -1
  394. package/lib/network/peers/score/index.d.ts.map +0 -1
  395. package/lib/network/peers/score/interface.d.ts.map +0 -1
  396. package/lib/network/peers/score/score.d.ts.map +0 -1
  397. package/lib/network/peers/score/store.d.ts.map +0 -1
  398. package/lib/network/peers/score/utils.d.ts.map +0 -1
  399. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
  400. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
  401. package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
  402. package/lib/network/peers/utils/index.d.ts.map +0 -1
  403. package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
  404. package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
  405. package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
  406. package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
  407. package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
  408. package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
  409. package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
  410. package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
  411. package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
  412. package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
  413. package/lib/network/processor/index.d.ts.map +0 -1
  414. package/lib/network/processor/types.d.ts.map +0 -1
  415. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
  416. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
  417. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
  418. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  419. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  420. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
  421. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
  422. package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
  423. package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
  424. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
  425. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
  426. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
  427. package/lib/network/reqresp/index.d.ts.map +0 -1
  428. package/lib/network/reqresp/interface.d.ts.map +0 -1
  429. package/lib/network/reqresp/protocols.d.ts.map +0 -1
  430. package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
  431. package/lib/network/reqresp/score.d.ts.map +0 -1
  432. package/lib/network/reqresp/types.d.ts.map +0 -1
  433. package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
  434. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
  435. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
  436. package/lib/network/statusCache.d.ts.map +0 -1
  437. package/lib/network/subnets/attnetsService.d.ts.map +0 -1
  438. package/lib/network/subnets/index.d.ts.map +0 -1
  439. package/lib/network/subnets/interface.d.ts.map +0 -1
  440. package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
  441. package/lib/network/subnets/util.d.ts.map +0 -1
  442. package/lib/network/util.d.ts.map +0 -1
  443. package/lib/node/index.d.ts.map +0 -1
  444. package/lib/node/nodejs.d.ts.map +0 -1
  445. package/lib/node/notifier.d.ts.map +0 -1
  446. package/lib/node/options.d.ts.map +0 -1
  447. package/lib/node/utils/interop/deposits.d.ts.map +0 -1
  448. package/lib/node/utils/interop/state.d.ts.map +0 -1
  449. package/lib/node/utils/lightclient.d.ts.map +0 -1
  450. package/lib/node/utils/state.d.ts.map +0 -1
  451. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  452. package/lib/sync/backfill/errors.d.ts.map +0 -1
  453. package/lib/sync/backfill/index.d.ts.map +0 -1
  454. package/lib/sync/backfill/verify.d.ts.map +0 -1
  455. package/lib/sync/constants.d.ts.map +0 -1
  456. package/lib/sync/index.d.ts.map +0 -1
  457. package/lib/sync/interface.d.ts.map +0 -1
  458. package/lib/sync/options.d.ts.map +0 -1
  459. package/lib/sync/range/batch.d.ts.map +0 -1
  460. package/lib/sync/range/chain.d.ts.map +0 -1
  461. package/lib/sync/range/range.d.ts.map +0 -1
  462. package/lib/sync/range/utils/batches.d.ts.map +0 -1
  463. package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
  464. package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
  465. package/lib/sync/range/utils/index.d.ts.map +0 -1
  466. package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
  467. package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
  468. package/lib/sync/sync.d.ts.map +0 -1
  469. package/lib/sync/types.d.ts.map +0 -1
  470. package/lib/sync/unknownBlock.d.ts.map +0 -1
  471. package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
  472. package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
  473. package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
  474. package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
  475. package/lib/util/address.d.ts.map +0 -1
  476. package/lib/util/array.d.ts.map +0 -1
  477. package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
  478. package/lib/util/binarySearch.d.ts.map +0 -1
  479. package/lib/util/bitArray.d.ts.map +0 -1
  480. package/lib/util/blobs.d.ts.map +0 -1
  481. package/lib/util/bufferPool.d.ts.map +0 -1
  482. package/lib/util/bytes.d.ts.map +0 -1
  483. package/lib/util/chunkify.d.ts.map +0 -1
  484. package/lib/util/clock.d.ts.map +0 -1
  485. package/lib/util/dataColumns.d.ts.map +0 -1
  486. package/lib/util/dependentRoot.d.ts.map +0 -1
  487. package/lib/util/enum.d.ts.map +0 -1
  488. package/lib/util/error.d.ts.map +0 -1
  489. package/lib/util/eventLoop.d.ts.map +0 -1
  490. package/lib/util/execution.d.ts.map +0 -1
  491. package/lib/util/file.d.ts.map +0 -1
  492. package/lib/util/forkChoice.d.ts.map +0 -1
  493. package/lib/util/forkName.d.ts.map +0 -1
  494. package/lib/util/graffiti.d.ts.map +0 -1
  495. package/lib/util/hex.d.ts.map +0 -1
  496. package/lib/util/index.d.ts.map +0 -1
  497. package/lib/util/ip.d.ts.map +0 -1
  498. package/lib/util/itTrigger.d.ts.map +0 -1
  499. package/lib/util/kzg.d.ts.map +0 -1
  500. package/lib/util/map.d.ts.map +0 -1
  501. package/lib/util/metadata.d.ts.map +0 -1
  502. package/lib/util/multifork.d.ts.map +0 -1
  503. package/lib/util/numpy.d.ts.map +0 -1
  504. package/lib/util/peerId.d.ts.map +0 -1
  505. package/lib/util/profile.d.ts.map +0 -1
  506. package/lib/util/promises.d.ts.map +0 -1
  507. package/lib/util/queue/errors.d.ts.map +0 -1
  508. package/lib/util/queue/fnQueue.d.ts.map +0 -1
  509. package/lib/util/queue/index.d.ts.map +0 -1
  510. package/lib/util/queue/itemQueue.d.ts.map +0 -1
  511. package/lib/util/queue/options.d.ts.map +0 -1
  512. package/lib/util/serializedCache.d.ts.map +0 -1
  513. package/lib/util/set.d.ts.map +0 -1
  514. package/lib/util/shuffle.d.ts.map +0 -1
  515. package/lib/util/sortBy.d.ts.map +0 -1
  516. package/lib/util/sszBytes.d.ts.map +0 -1
  517. package/lib/util/strictEvents.d.ts.map +0 -1
  518. package/lib/util/time.d.ts.map +0 -1
  519. package/lib/util/timeSeries.d.ts.map +0 -1
  520. package/lib/util/types.d.ts.map +0 -1
  521. package/lib/util/workerEvents.d.ts.map +0 -1
  522. package/lib/util/wrapError.d.ts.map +0 -1
  523. package/src/api/impl/api.ts +0 -26
  524. package/src/api/impl/beacon/blocks/index.ts +0 -744
  525. package/src/api/impl/beacon/blocks/utils.ts +0 -75
  526. package/src/api/impl/beacon/index.ts +0 -35
  527. package/src/api/impl/beacon/pool/index.ts +0 -314
  528. package/src/api/impl/beacon/rewards/index.ts +0 -30
  529. package/src/api/impl/beacon/state/index.ts +0 -406
  530. package/src/api/impl/beacon/state/utils.ts +0 -189
  531. package/src/api/impl/config/constants.ts +0 -127
  532. package/src/api/impl/config/index.ts +0 -59
  533. package/src/api/impl/debug/index.ts +0 -131
  534. package/src/api/impl/errors.ts +0 -50
  535. package/src/api/impl/events/index.ts +0 -33
  536. package/src/api/impl/index.ts +0 -6
  537. package/src/api/impl/lightclient/index.ts +0 -64
  538. package/src/api/impl/lodestar/index.ts +0 -257
  539. package/src/api/impl/node/index.ts +0 -88
  540. package/src/api/impl/node/utils.ts +0 -51
  541. package/src/api/impl/proof/index.ts +0 -60
  542. package/src/api/impl/types.ts +0 -17
  543. package/src/api/impl/utils.ts +0 -25
  544. package/src/api/impl/validator/index.ts +0 -1540
  545. package/src/api/impl/validator/utils.ts +0 -85
  546. package/src/api/index.ts +0 -2
  547. package/src/api/options.ts +0 -16
  548. package/src/api/rest/activeSockets.ts +0 -109
  549. package/src/api/rest/base.ts +0 -216
  550. package/src/api/rest/index.ts +0 -63
  551. package/src/api/rest/swaggerUI.ts +0 -80
  552. package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
  553. package/src/chain/ColumnReconstructionTracker.ts +0 -90
  554. package/src/chain/GetBlobsTracker.ts +0 -115
  555. package/src/chain/archiveStore/archiveStore.ts +0 -222
  556. package/src/chain/archiveStore/constants.ts +0 -5
  557. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
  558. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
  559. package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
  560. package/src/chain/archiveStore/historicalState/types.ts +0 -41
  561. package/src/chain/archiveStore/historicalState/worker.ts +0 -77
  562. package/src/chain/archiveStore/index.ts +0 -3
  563. package/src/chain/archiveStore/interface.ts +0 -75
  564. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
  565. package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
  566. package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
  567. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  568. package/src/chain/balancesCache.ts +0 -52
  569. package/src/chain/beaconProposerCache.ts +0 -43
  570. package/src/chain/blocks/blockInput/blockInput.ts +0 -852
  571. package/src/chain/blocks/blockInput/errors.ts +0 -48
  572. package/src/chain/blocks/blockInput/index.ts +0 -4
  573. package/src/chain/blocks/blockInput/types.ts +0 -145
  574. package/src/chain/blocks/blockInput/utils.ts +0 -21
  575. package/src/chain/blocks/importBlock.ts +0 -597
  576. package/src/chain/blocks/index.ts +0 -179
  577. package/src/chain/blocks/types.ts +0 -101
  578. package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
  579. package/src/chain/blocks/utils/chainSegment.ts +0 -29
  580. package/src/chain/blocks/utils/checkpoint.ts +0 -25
  581. package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
  582. package/src/chain/blocks/utils/ownBanner.ts +0 -20
  583. package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
  584. package/src/chain/blocks/utils/zebraBanner.ts +0 -45
  585. package/src/chain/blocks/verifyBlock.ts +0 -242
  586. package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
  587. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
  588. package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
  589. package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
  590. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
  591. package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
  592. package/src/chain/bls/index.ts +0 -4
  593. package/src/chain/bls/interface.ts +0 -68
  594. package/src/chain/bls/maybeBatch.ts +0 -45
  595. package/src/chain/bls/multithread/index.ts +0 -582
  596. package/src/chain/bls/multithread/jobItem.ts +0 -119
  597. package/src/chain/bls/multithread/poolSize.ts +0 -16
  598. package/src/chain/bls/multithread/types.ts +0 -38
  599. package/src/chain/bls/multithread/utils.ts +0 -19
  600. package/src/chain/bls/multithread/worker.ts +0 -114
  601. package/src/chain/bls/singleThread.ts +0 -87
  602. package/src/chain/bls/utils.ts +0 -30
  603. package/src/chain/chain.ts +0 -1354
  604. package/src/chain/emitter.ts +0 -113
  605. package/src/chain/errors/attestationError.ts +0 -194
  606. package/src/chain/errors/attesterSlashingError.ts +0 -11
  607. package/src/chain/errors/blobSidecarError.ts +0 -60
  608. package/src/chain/errors/blockError.ts +0 -166
  609. package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
  610. package/src/chain/errors/dataColumnSidecarError.ts +0 -80
  611. package/src/chain/errors/gossipValidation.ts +0 -20
  612. package/src/chain/errors/index.ts +0 -10
  613. package/src/chain/errors/lightClientError.ts +0 -30
  614. package/src/chain/errors/proposerSlashingError.ts +0 -11
  615. package/src/chain/errors/syncCommitteeError.ts +0 -36
  616. package/src/chain/errors/voluntaryExitError.ts +0 -13
  617. package/src/chain/forkChoice/index.ts +0 -112
  618. package/src/chain/genesis/genesis.ts +0 -190
  619. package/src/chain/genesis/interface.ts +0 -14
  620. package/src/chain/index.ts +0 -6
  621. package/src/chain/initState.ts +0 -221
  622. package/src/chain/interface.ts +0 -280
  623. package/src/chain/lightClient/index.ts +0 -764
  624. package/src/chain/lightClient/proofs.ts +0 -85
  625. package/src/chain/lightClient/types.ts +0 -33
  626. package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
  627. package/src/chain/opPools/attestationPool.ts +0 -282
  628. package/src/chain/opPools/index.ts +0 -5
  629. package/src/chain/opPools/opPool.ts +0 -462
  630. package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
  631. package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
  632. package/src/chain/opPools/types.ts +0 -35
  633. package/src/chain/opPools/utils.ts +0 -65
  634. package/src/chain/options.ts +0 -138
  635. package/src/chain/prepareNextSlot.ts +0 -277
  636. package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
  637. package/src/chain/produceBlock/index.ts +0 -2
  638. package/src/chain/produceBlock/produceBlockBody.ts +0 -797
  639. package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
  640. package/src/chain/regen/errors.ts +0 -30
  641. package/src/chain/regen/index.ts +0 -4
  642. package/src/chain/regen/interface.ts +0 -93
  643. package/src/chain/regen/queued.ts +0 -317
  644. package/src/chain/regen/regen.ts +0 -424
  645. package/src/chain/reprocess.ts +0 -161
  646. package/src/chain/rewards/attestationsRewards.ts +0 -196
  647. package/src/chain/rewards/blockRewards.ts +0 -150
  648. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
  649. package/src/chain/seenCache/index.ts +0 -5
  650. package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
  651. package/src/chain/seenCache/seenAttestationData.ts +0 -145
  652. package/src/chain/seenCache/seenAttesters.ts +0 -58
  653. package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
  654. package/src/chain/seenCache/seenBlockProposers.ts +0 -48
  655. package/src/chain/seenCache/seenCommittee.ts +0 -43
  656. package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
  657. package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
  658. package/src/chain/serializeState.ts +0 -32
  659. package/src/chain/shufflingCache.ts +0 -238
  660. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  661. package/src/chain/stateCache/datastore/db.ts +0 -36
  662. package/src/chain/stateCache/datastore/file.ts +0 -53
  663. package/src/chain/stateCache/datastore/index.ts +0 -2
  664. package/src/chain/stateCache/datastore/types.ts +0 -13
  665. package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
  666. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  667. package/src/chain/stateCache/index.ts +0 -3
  668. package/src/chain/stateCache/mapMetrics.ts +0 -52
  669. package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
  670. package/src/chain/stateCache/types.ts +0 -86
  671. package/src/chain/validation/aggregateAndProof.ts +0 -258
  672. package/src/chain/validation/attestation.ts +0 -885
  673. package/src/chain/validation/attesterSlashing.ts +0 -61
  674. package/src/chain/validation/blobSidecar.ts +0 -301
  675. package/src/chain/validation/block.ts +0 -188
  676. package/src/chain/validation/blsToExecutionChange.ts +0 -61
  677. package/src/chain/validation/dataColumnSidecar.ts +0 -381
  678. package/src/chain/validation/index.ts +0 -9
  679. package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
  680. package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
  681. package/src/chain/validation/proposerSlashing.ts +0 -54
  682. package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
  683. package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
  684. package/src/chain/validation/signatureSets/index.ts +0 -6
  685. package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
  686. package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
  687. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
  688. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
  689. package/src/chain/validation/syncCommittee.ts +0 -165
  690. package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
  691. package/src/chain/validation/voluntaryExit.ts +0 -58
  692. package/src/chain/validatorMonitor.ts +0 -1309
  693. package/src/constants/constants.ts +0 -15
  694. package/src/constants/index.ts +0 -2
  695. package/src/constants/network.ts +0 -52
  696. package/src/db/beacon.ts +0 -113
  697. package/src/db/buckets.ts +0 -80
  698. package/src/db/index.ts +0 -2
  699. package/src/db/interface.ts +0 -76
  700. package/src/db/options.ts +0 -7
  701. package/src/db/repositories/attesterSlashing.ts +0 -38
  702. package/src/db/repositories/backfilledRanges.ts +0 -29
  703. package/src/db/repositories/blobSidecars.ts +0 -37
  704. package/src/db/repositories/blobSidecarsArchive.ts +0 -28
  705. package/src/db/repositories/block.ts +0 -33
  706. package/src/db/repositories/blockArchive.ts +0 -170
  707. package/src/db/repositories/blockArchiveIndex.ts +0 -45
  708. package/src/db/repositories/blsToExecutionChange.ts +0 -16
  709. package/src/db/repositories/checkpointState.ts +0 -31
  710. package/src/db/repositories/dataColumnSidecar.ts +0 -49
  711. package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
  712. package/src/db/repositories/depositDataRoot.ts +0 -80
  713. package/src/db/repositories/depositEvent.ts +0 -32
  714. package/src/db/repositories/eth1Data.ts +0 -33
  715. package/src/db/repositories/index.ts +0 -20
  716. package/src/db/repositories/lightclientBestUpdate.ts +0 -41
  717. package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
  718. package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
  719. package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
  720. package/src/db/repositories/proposerSlashing.ts +0 -15
  721. package/src/db/repositories/stateArchive.ts +0 -69
  722. package/src/db/repositories/stateArchiveIndex.ts +0 -18
  723. package/src/db/repositories/voluntaryExit.ts +0 -15
  724. package/src/db/single/index.ts +0 -2
  725. package/src/db/single/preGenesisState.ts +0 -37
  726. package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
  727. package/src/eth1/errors.ts +0 -40
  728. package/src/eth1/eth1DataCache.ts +0 -26
  729. package/src/eth1/eth1DepositDataTracker.ts +0 -410
  730. package/src/eth1/eth1DepositsCache.ts +0 -141
  731. package/src/eth1/eth1MergeBlockTracker.ts +0 -328
  732. package/src/eth1/index.ts +0 -157
  733. package/src/eth1/interface.ts +0 -131
  734. package/src/eth1/options.ts +0 -28
  735. package/src/eth1/provider/eth1Provider.ts +0 -229
  736. package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
  737. package/src/eth1/provider/jwt.ts +0 -36
  738. package/src/eth1/provider/utils.ts +0 -136
  739. package/src/eth1/stream.ts +0 -75
  740. package/src/eth1/utils/depositContract.ts +0 -37
  741. package/src/eth1/utils/deposits.ts +0 -70
  742. package/src/eth1/utils/eth1Data.ts +0 -100
  743. package/src/eth1/utils/eth1DepositEvent.ts +0 -12
  744. package/src/eth1/utils/eth1Vote.ts +0 -142
  745. package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
  746. package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
  747. package/src/execution/builder/cache.ts +0 -39
  748. package/src/execution/builder/http.ts +0 -229
  749. package/src/execution/builder/index.ts +0 -27
  750. package/src/execution/builder/interface.ts +0 -49
  751. package/src/execution/builder/utils.ts +0 -19
  752. package/src/execution/engine/disabled.ts +0 -35
  753. package/src/execution/engine/http.ts +0 -644
  754. package/src/execution/engine/index.ts +0 -63
  755. package/src/execution/engine/interface.ts +0 -199
  756. package/src/execution/engine/mock.ts +0 -493
  757. package/src/execution/engine/payloadIdCache.ts +0 -54
  758. package/src/execution/engine/types.ts +0 -640
  759. package/src/execution/engine/utils.ts +0 -136
  760. package/src/execution/index.ts +0 -4
  761. package/src/index.ts +0 -20
  762. package/src/metrics/index.ts +0 -4
  763. package/src/metrics/metrics/beacon.ts +0 -390
  764. package/src/metrics/metrics/lodestar.ts +0 -1870
  765. package/src/metrics/metrics.ts +0 -43
  766. package/src/metrics/nodeJsMetrics.ts +0 -19
  767. package/src/metrics/options.ts +0 -22
  768. package/src/metrics/server/http.ts +0 -114
  769. package/src/metrics/server/index.ts +0 -1
  770. package/src/metrics/utils/avgMinMax.ts +0 -87
  771. package/src/metrics/utils/gauge.ts +0 -22
  772. package/src/metrics/utils/registryMetricCreator.ts +0 -41
  773. package/src/monitoring/clientStats.ts +0 -297
  774. package/src/monitoring/index.ts +0 -2
  775. package/src/monitoring/options.ts +0 -19
  776. package/src/monitoring/properties.ts +0 -152
  777. package/src/monitoring/service.ts +0 -235
  778. package/src/monitoring/system.ts +0 -146
  779. package/src/monitoring/types.ts +0 -21
  780. package/src/network/core/events.ts +0 -59
  781. package/src/network/core/index.ts +0 -3
  782. package/src/network/core/metrics.ts +0 -304
  783. package/src/network/core/networkCore.ts +0 -599
  784. package/src/network/core/networkCoreWorker.ts +0 -176
  785. package/src/network/core/networkCoreWorkerHandler.ts +0 -284
  786. package/src/network/core/types.ts +0 -119
  787. package/src/network/discv5/index.ts +0 -132
  788. package/src/network/discv5/types.ts +0 -74
  789. package/src/network/discv5/utils.ts +0 -50
  790. package/src/network/discv5/worker.ts +0 -137
  791. package/src/network/events.ts +0 -51
  792. package/src/network/forks.ts +0 -94
  793. package/src/network/gossip/constants.ts +0 -15
  794. package/src/network/gossip/encoding.ts +0 -111
  795. package/src/network/gossip/errors.ts +0 -7
  796. package/src/network/gossip/gossipsub.ts +0 -384
  797. package/src/network/gossip/index.ts +0 -4
  798. package/src/network/gossip/interface.ts +0 -215
  799. package/src/network/gossip/metrics.ts +0 -71
  800. package/src/network/gossip/scoringParameters.ts +0 -333
  801. package/src/network/gossip/topic.ts +0 -332
  802. package/src/network/index.ts +0 -8
  803. package/src/network/interface.ts +0 -134
  804. package/src/network/libp2p/error.ts +0 -55
  805. package/src/network/libp2p/index.ts +0 -153
  806. package/src/network/metadata.ts +0 -162
  807. package/src/network/network.ts +0 -767
  808. package/src/network/networkConfig.ts +0 -12
  809. package/src/network/options.ts +0 -70
  810. package/src/network/peers/client.ts +0 -29
  811. package/src/network/peers/datastore.ts +0 -188
  812. package/src/network/peers/discover.ts +0 -647
  813. package/src/network/peers/index.ts +0 -2
  814. package/src/network/peers/peerManager.ts +0 -899
  815. package/src/network/peers/peersData.ts +0 -65
  816. package/src/network/peers/score/constants.ts +0 -34
  817. package/src/network/peers/score/index.ts +0 -4
  818. package/src/network/peers/score/interface.ts +0 -74
  819. package/src/network/peers/score/score.ts +0 -200
  820. package/src/network/peers/score/store.ts +0 -95
  821. package/src/network/peers/score/utils.ts +0 -37
  822. package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
  823. package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
  824. package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
  825. package/src/network/peers/utils/index.ts +0 -4
  826. package/src/network/peers/utils/prioritizePeers.ts +0 -627
  827. package/src/network/peers/utils/subnetMap.ts +0 -88
  828. package/src/network/processor/aggregatorTracker.ts +0 -38
  829. package/src/network/processor/extractSlotRootFns.ts +0 -64
  830. package/src/network/processor/gossipHandlers.ts +0 -951
  831. package/src/network/processor/gossipQueues/index.ts +0 -114
  832. package/src/network/processor/gossipQueues/indexed.ts +0 -219
  833. package/src/network/processor/gossipQueues/linear.ts +0 -162
  834. package/src/network/processor/gossipQueues/types.ts +0 -57
  835. package/src/network/processor/gossipValidatorFn.ts +0 -142
  836. package/src/network/processor/index.ts +0 -496
  837. package/src/network/processor/types.ts +0 -27
  838. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
  839. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
  840. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
  841. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
  842. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
  843. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
  844. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
  845. package/src/network/reqresp/handlers/index.ts +0 -78
  846. package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
  847. package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
  848. package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
  849. package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
  850. package/src/network/reqresp/index.ts +0 -2
  851. package/src/network/reqresp/interface.ts +0 -45
  852. package/src/network/reqresp/protocols.ts +0 -146
  853. package/src/network/reqresp/rateLimit.ts +0 -112
  854. package/src/network/reqresp/score.ts +0 -70
  855. package/src/network/reqresp/types.ts +0 -174
  856. package/src/network/reqresp/utils/collect.ts +0 -84
  857. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
  858. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
  859. package/src/network/statusCache.ts +0 -17
  860. package/src/network/subnets/attnetsService.ts +0 -385
  861. package/src/network/subnets/index.ts +0 -2
  862. package/src/network/subnets/interface.ts +0 -66
  863. package/src/network/subnets/syncnetsService.ts +0 -147
  864. package/src/network/subnets/util.ts +0 -63
  865. package/src/network/util.ts +0 -29
  866. package/src/node/index.ts +0 -2
  867. package/src/node/nodejs.ts +0 -349
  868. package/src/node/notifier.ts +0 -206
  869. package/src/node/options.ts +0 -51
  870. package/src/node/utils/interop/deposits.ts +0 -53
  871. package/src/node/utils/interop/state.ts +0 -59
  872. package/src/node/utils/lightclient.ts +0 -7
  873. package/src/node/utils/state.ts +0 -37
  874. package/src/sync/backfill/backfill.ts +0 -893
  875. package/src/sync/backfill/errors.ts +0 -23
  876. package/src/sync/backfill/index.ts +0 -1
  877. package/src/sync/backfill/verify.ts +0 -58
  878. package/src/sync/constants.ts +0 -71
  879. package/src/sync/index.ts +0 -2
  880. package/src/sync/interface.ts +0 -55
  881. package/src/sync/options.ts +0 -45
  882. package/src/sync/range/batch.ts +0 -455
  883. package/src/sync/range/chain.ts +0 -715
  884. package/src/sync/range/range.ts +0 -354
  885. package/src/sync/range/utils/batches.ts +0 -119
  886. package/src/sync/range/utils/chainTarget.ts +0 -62
  887. package/src/sync/range/utils/hashBlocks.ts +0 -27
  888. package/src/sync/range/utils/index.ts +0 -5
  889. package/src/sync/range/utils/peerBalancer.ts +0 -184
  890. package/src/sync/range/utils/updateChains.ts +0 -66
  891. package/src/sync/sync.ts +0 -290
  892. package/src/sync/types.ts +0 -57
  893. package/src/sync/unknownBlock.ts +0 -859
  894. package/src/sync/utils/downloadByRange.ts +0 -808
  895. package/src/sync/utils/downloadByRoot.ts +0 -560
  896. package/src/sync/utils/pendingBlocksTree.ts +0 -97
  897. package/src/sync/utils/remoteSyncType.ts +0 -144
  898. package/src/util/address.ts +0 -3
  899. package/src/util/array.ts +0 -311
  900. package/src/util/asyncIterableToEvents.ts +0 -164
  901. package/src/util/binarySearch.ts +0 -48
  902. package/src/util/bitArray.ts +0 -84
  903. package/src/util/blobs.ts +0 -210
  904. package/src/util/bufferPool.ts +0 -95
  905. package/src/util/bytes.ts +0 -11
  906. package/src/util/chunkify.ts +0 -27
  907. package/src/util/clock.ts +0 -212
  908. package/src/util/dataColumns.ts +0 -415
  909. package/src/util/dependentRoot.ts +0 -47
  910. package/src/util/enum.ts +0 -17
  911. package/src/util/error.ts +0 -56
  912. package/src/util/eventLoop.ts +0 -22
  913. package/src/util/execution.ts +0 -223
  914. package/src/util/file.ts +0 -52
  915. package/src/util/forkChoice.ts +0 -5
  916. package/src/util/forkName.ts +0 -20
  917. package/src/util/graffiti.ts +0 -39
  918. package/src/util/hex.ts +0 -9
  919. package/src/util/index.ts +0 -2
  920. package/src/util/ip.ts +0 -6
  921. package/src/util/itTrigger.ts +0 -49
  922. package/src/util/kzg.ts +0 -3
  923. package/src/util/map.ts +0 -77
  924. package/src/util/metadata.ts +0 -22
  925. package/src/util/multifork.ts +0 -69
  926. package/src/util/numpy.ts +0 -8
  927. package/src/util/peerId.ts +0 -16
  928. package/src/util/profile.ts +0 -54
  929. package/src/util/promises.ts +0 -14
  930. package/src/util/queue/errors.ts +0 -14
  931. package/src/util/queue/fnQueue.ts +0 -16
  932. package/src/util/queue/index.ts +0 -4
  933. package/src/util/queue/itemQueue.ts +0 -128
  934. package/src/util/queue/options.ts +0 -37
  935. package/src/util/serializedCache.ts +0 -20
  936. package/src/util/set.ts +0 -62
  937. package/src/util/shuffle.ts +0 -21
  938. package/src/util/sortBy.ts +0 -19
  939. package/src/util/sszBytes.ts +0 -481
  940. package/src/util/strictEvents.ts +0 -8
  941. package/src/util/time.ts +0 -13
  942. package/src/util/timeSeries.ts +0 -118
  943. package/src/util/types.ts +0 -31
  944. package/src/util/workerEvents.ts +0 -142
  945. 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
- }