@@ -14,13 +14,15 @@ use crate::{
1414 AccountQuery , AccountSlim , ActionStatsQuery , ActionStatsResponse , CurrentMessageProgress ,
1515 MessagesStats , NodeHeartbeat , RootLedgerSyncProgress , RootStagedLedgerSyncProgress ,
1616 RpcAction , RpcBlockProducerStats , RpcMessageProgressResponse , RpcNodeStatus ,
17- RpcNodeStatusTransactionPool , RpcNodeStatusTransitionFrontier ,
18- RpcNodeStatusTransitionFrontierBlockSummary , RpcNodeStatusTransitionFrontierSync ,
19- RpcRequestExtraData , RpcScanStateSummary , RpcScanStateSummaryBlock ,
20- RpcScanStateSummaryBlockTransaction , RpcScanStateSummaryBlockTransactionKind ,
21- RpcScanStateSummaryScanStateJob , RpcSnarkPoolJobFull , RpcSnarkPoolJobSnarkWork ,
22- RpcSnarkPoolJobSummary , RpcSnarkerJobCommitResponse , RpcSnarkerJobSpecResponse ,
23- RpcTransactionInjectResponse , TransactionStatus ,
17+ RpcNodeStatusResources , RpcNodeStatusResourcesSnarkPool ,
18+ RpcNodeStatusResourcesTransitionFrontier , RpcNodeStatusTransactionPool ,
19+ RpcNodeStatusTransitionFrontier , RpcNodeStatusTransitionFrontierBlockSummary ,
20+ RpcNodeStatusTransitionFrontierSync , RpcRequestExtraData , RpcScanStateSummary ,
21+ RpcScanStateSummaryBlock , RpcScanStateSummaryBlockTransaction ,
22+ RpcScanStateSummaryBlockTransactionKind , RpcScanStateSummaryScanStateJob ,
23+ RpcSnarkPoolJobFull , RpcSnarkPoolJobSnarkWork , RpcSnarkPoolJobSummary ,
24+ RpcSnarkerJobCommitResponse , RpcSnarkerJobSpecResponse , RpcTransactionInjectResponse ,
25+ TransactionStatus ,
2426 } ,
2527 snark_pool:: SnarkPoolAction ,
2628 transition_frontier:: sync:: {
@@ -810,11 +812,33 @@ fn compute_node_status<S: Service>(store: &mut Store<S>) -> RpcNodeStatus {
810812 transaction_candidates : state. transaction_pool . candidates . transactions_count ( ) ,
811813 } ,
812814 current_block_production_attempt,
813- p2p_malloc_size : {
814- let mut set = BTreeSet :: new ( ) ;
815- let fun = move |ptr : * const c_void | !set. insert ( ptr. addr ( ) ) ;
816- let mut ops = MallocSizeOfOps :: new ( None , Some ( Box :: new ( fun) ) ) ;
817- size_of_val ( & state. p2p ) + state. p2p . size_of ( & mut ops)
815+ resources_status : RpcNodeStatusResources {
816+ p2p_malloc_size : {
817+ let mut set = BTreeSet :: new ( ) ;
818+ let fun = move |ptr : * const c_void | !set. insert ( ptr. addr ( ) ) ;
819+ let mut ops = MallocSizeOfOps :: new ( None , Some ( Box :: new ( fun) ) ) ;
820+ size_of_val ( & state. p2p ) + state. p2p . size_of ( & mut ops)
821+ } ,
822+ transition_frontier : RpcNodeStatusResourcesTransitionFrontier {
823+ best_chain_size : state. transition_frontier . best_chain . len ( ) ,
824+ needed_protocol_states_size : state. transition_frontier . needed_protocol_states . len ( ) ,
825+ blacklist_size : state. transition_frontier . blacklist . len ( ) ,
826+ diff_tx_size : state
827+ . transition_frontier
828+ . chain_diff
829+ . as_ref ( )
830+ . map ( |d| d. new_commands . len ( ) + d. removed_commands . len ( ) )
831+ . unwrap_or_default ( ) ,
832+ } ,
833+ snark_pool : {
834+ let ( candidates_size, candidates_inconsistency) =
835+ state. snark_pool . candidates . check ( ) ;
836+ RpcNodeStatusResourcesSnarkPool {
837+ pool_size : state. snark_pool . pool . len ( ) ,
838+ candidates_size,
839+ candidates_inconsistency,
840+ }
841+ } ,
818842 } ,
819843 } ;
820844 status
0 commit comments