@lodestar/beacon-node 1.35.0-dev.8689cc3545 → 1.35.0-dev.8b45b1e978

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