@@ -136,12 +136,16 @@ BCStateTran::Metrics BCStateTran::createRegisterMetrics() {
136136 metrics_component_.RegisterGauge (" is_fetching" , 0 ),
137137 metrics_component_.RegisterGauge (" checkpoint_being_fetched" , 0 ),
138138 metrics_component_.RegisterGauge (" last_stored_checkpoint" , 0 ),
139+ #ifdef ENABLE_ALL_METRICS
139140 metrics_component_.RegisterGauge (" number_of_reserved_pages" , 0 ),
140141 metrics_component_.RegisterGauge (" size_of_reserved_page" , config_.sizeOfReservedPage ),
141142 metrics_component_.RegisterGauge (" last_msg_seq_num" , lastMsgSeqNum_),
143+ #endif
142144 metrics_component_.RegisterGauge (" next_required_block" , fetchState_.nextBlockId ),
143145 metrics_component_.RegisterGauge (" next_block_id_to_commit" , commitState_.nextBlockId ),
146+ #ifdef ENABLE_ALL_METRICS
144147 metrics_component_.RegisterGauge (" num_pending_item_data_msgs" , pendingItemDataMsgs.size ()),
148+ #endif
145149 metrics_component_.RegisterGauge (" total_size_of_pending_item_data_msgs" , totalSizeOfPendingItemDataMsgs),
146150 metrics_component_.RegisterAtomicGauge (" last_block" , 0 ),
147151 metrics_component_.RegisterGauge (" last_reachable_block" , 0 ),
@@ -161,32 +165,43 @@ BCStateTran::Metrics BCStateTran::createRegisterMetrics() {
161165 metrics_component_.RegisterCounter (" received_item_data_msg" ),
162166 metrics_component_.RegisterCounter (" received_illegal_msg" ),
163167
168+ #ifdef ENABLE_ALL_METRICS
164169 metrics_component_.RegisterCounter (" invalid_ask_for_checkpoint_summaries_msg" ),
165170 metrics_component_.RegisterCounter (" irrelevant_ask_for_checkpoint_summaries_msg" ),
171+ #endif
166172 metrics_component_.RegisterCounter (" invalid_checkpoint_summary_msg" ),
173+ #ifdef ENABLE_ALL_METRICS
167174 metrics_component_.RegisterCounter (" irrelevant_checkpoint_summary_msg" ),
168175 metrics_component_.RegisterCounter (" invalid_fetch_blocks_msg" ),
169176 metrics_component_.RegisterCounter (" irrelevant_fetch_blocks_msg" ),
170177 metrics_component_.RegisterCounter (" invalid_fetch_res_pages_msg" ),
171178 metrics_component_.RegisterCounter (" irrelevant_fetch_res_pages_msg" ),
179+ #endif
172180 metrics_component_.RegisterCounter (" invalid_reject_fetching_msg" ),
181+ #ifdef ENABLE_ALL_METRICS
173182 metrics_component_.RegisterCounter (" irrelevant_reject_fetching_msg" ),
183+ #endif
174184 metrics_component_.RegisterCounter (" invalid_item_data_msg" ),
175185 metrics_component_.RegisterCounter (" irrelevant_item_data_msg" ),
176-
186+ # ifdef ENABLE_ALL_METRICS
177187 metrics_component_.RegisterAtomicCounter (" create_checkpoint" ),
178188 metrics_component_.RegisterAtomicCounter (" load_reserved_page" ),
179189 metrics_component_.RegisterAtomicCounter (" load_reserved_page_from_pending" ),
180190 metrics_component_.RegisterAtomicCounter (" load_reserved_page_from_checkpoint" ),
181191 metrics_component_.RegisterAtomicCounter (" save_reserved_page" ),
182192 metrics_component_.RegisterCounter (" zero_reserved_page" ),
193+ #endif
183194 metrics_component_.RegisterCounter (" start_collecting_state" ),
184195 metrics_component_.RegisterCounter (" on_timer" ),
196+ #ifdef ENABLE_ALL_METRICS
185197 metrics_component_.RegisterCounter (" one_shot_timer" ),
198+ #endif
186199 metrics_component_.RegisterCounter (" on_transferring_complete" ),
187200 metrics_component_.RegisterCounter (" internal_cycle_counter" ),
201+ #ifdef ENABLE_ALL_METRICS
188202 metrics_component_.RegisterCounter (" handle_AskForCheckpointSummaries_msg" ),
189203 metrics_component_.RegisterCounter (" dst_handle_CheckpointsSummary_msg" ),
204+ #endif
190205 metrics_component_.RegisterCounter (" src_handle_FetchBlocks_msg" ),
191206 metrics_component_.RegisterCounter (" src_handle_FetchResPages_msg" ),
192207 metrics_component_.RegisterCounter (" dst_handle_RejectFetching_msg" ),
@@ -202,7 +217,9 @@ BCStateTran::Metrics BCStateTran::createRegisterMetrics() {
202217 metrics_component_.RegisterGauge (" prev_win_bytes_throughput" , 0 ),
203218
204219 metrics_component_.RegisterCounter (" overall_rvb_digests_validated" ),
220+ #ifdef ENABLE_ALL_METRICS
205221 metrics_component_.RegisterCounter (" overall_rvb_digest_groups_validated" ),
222+ #endif
206223 metrics_component_.RegisterCounter (" overall_rvb_digests_failed_validation" ),
207224 metrics_component_.RegisterCounter (" overall_rvb_digest_groups_failed_validation" ),
208225 metrics_component_.RegisterStatus (" current_rvb_data_state" , " " ),
@@ -333,7 +350,9 @@ void BCStateTran::loadMetrics() {
333350 metrics_.is_fetching_ .Get ().Set (static_cast <uint64_t >(isActiveDestination (fs)));
334351
335352 metrics_.last_stored_checkpoint_ .Get ().Set (psd_->getLastStoredCheckpoint ());
353+ #ifdef ENABLE_ALL_METRICS
336354 metrics_.number_of_reserved_pages_ .Get ().Set (psd_->getNumberOfReservedPages ());
355+ #endif
337356 metrics_.last_block_ .Get ().Set (as_->getLastBlockNum ());
338357 metrics_.last_reachable_block_ .Get ().Set (as_->getLastReachableBlockNum ());
339358}
@@ -352,8 +371,10 @@ void BCStateTran::initImpl(uint64_t maxNumOfRequiredStoredCheckpoints,
352371
353372 maxNumOfStoredCheckpoints_ = maxNumOfRequiredStoredCheckpoints;
354373 numberOfReservedPages_ = numberOfRequiredReservedPages;
374+ #ifdef ENABLE_ALL_METRICS
355375 metrics_.number_of_reserved_pages_ .Get ().Set (numberOfReservedPages_);
356376 metrics_.size_of_reserved_page_ .Get ().Set (sizeOfReservedPage);
377+ #endif
357378
358379 LOG_INFO (logger_,
359380 " Init BCStateTran object:" << KVLOG (
@@ -582,7 +603,9 @@ void BCStateTran::createCheckpointOfCurrentStateImpl(uint64_t checkpointNumber)
582603 }
583604 ConcordAssertGT (checkpointNumber, lastStoredCheckpointNumber);
584605
606+ #ifdef ENABLE_ALL_METRICS
585607 metrics_.create_checkpoint_ ++;
608+ #endif
586609
587610 { // txn scope
588611 DataStoreTransaction::Guard g (psd_->beginTransaction ());
@@ -659,11 +682,15 @@ bool BCStateTran::loadReservedPage(uint32_t reservedPageId, uint32_t copyLength,
659682 ConcordAssertLT (reservedPageId, numberOfReservedPages_);
660683 ConcordAssertLE (copyLength, config_.sizeOfReservedPage );
661684
685+ #ifdef ENABLE_ALL_METRICS
662686 metrics_.load_reserved_page_ ++;
687+ #endif
663688
664689 if (psd_->hasPendingResPage (reservedPageId)) {
665690 LOG_DEBUG (logger_, " Loaded pending reserved page: " << reservedPageId);
691+ #ifdef ENABLE_ALL_METRICS
666692 metrics_.load_reserved_page_from_pending_ ++;
693+ #endif
667694 psd_->getPendingResPage (reservedPageId, outReservedPage, copyLength);
668695 } else {
669696 uint64_t lastCheckpoint = psd_->getLastStoredCheckpoint ();
@@ -672,7 +699,9 @@ bool BCStateTran::loadReservedPage(uint32_t reservedPageId, uint32_t copyLength,
672699 return false ;
673700 }
674701 uint64_t actualCheckpoint = UINT64_MAX;
702+ #ifdef ENABLE_ALL_METRICS
675703 metrics_.load_reserved_page_from_checkpoint_ ++;
704+ #endif
676705 if (!psd_->getResPage (reservedPageId, lastCheckpoint, &actualCheckpoint, outReservedPage, copyLength)) {
677706 return false ;
678707 }
@@ -694,7 +723,9 @@ void BCStateTran::saveReservedPage(uint32_t reservedPageId, uint32_t copyLength,
694723 ConcordAssertLT (reservedPageId, numberOfReservedPages_);
695724 ConcordAssertLE (copyLength, config_.sizeOfReservedPage );
696725
726+ #ifdef ENABLE_ALL_METRICS
697727 metrics_.save_reserved_page_ ++;
728+ #endif
698729
699730 psd_->setPendingResPage (reservedPageId, inReservedPage, copyLength);
700731 } catch (std::out_of_range &e) {
@@ -713,7 +744,9 @@ void BCStateTran::zeroReservedPage(uint32_t reservedPageId) {
713744 LOG_DEBUG (logger_, KVLOG (reservedPageId));
714745 ConcordAssertLT (reservedPageId, numberOfReservedPages_);
715746
747+ #ifdef ENABLE_ALL_METRICS
716748 metrics_.zero_reserved_page_ ++;
749+ #endif
717750 std::unique_ptr<char []> buffer (new char [config_.sizeOfReservedPage ]{});
718751 psd_->setPendingResPage (reservedPageId, buffer.get (), config_.sizeOfReservedPage );
719752}
@@ -1105,13 +1138,17 @@ void BCStateTran::handleStateTransferMessageImpl(char *msg,
11051138 switch (msgHeader->type ) {
11061139 case MsgType::AskForCheckpointSummaries:
11071140 if (fs == FetchingState::NotFetching) {
1141+ #ifdef ENABLE_ALL_METRICS
11081142 metrics_.handle_AskForCheckpointSummaries_msg_ ++;
1143+ #endif
11091144 freeMessage = onMessage (reinterpret_cast <AskForCheckpointSummariesMsg *>(msg), msgLen, senderId);
11101145 }
11111146 break ;
11121147 case MsgType::CheckpointsSummary:
11131148 if (fs == FetchingState::GettingCheckpointSummaries) {
1149+ #ifdef ENABLE_ALL_METRICS
11141150 metrics_.handle_CheckpointsSummary_msg_ ++;
1151+ #endif
11151152 freeMessage = onMessage (reinterpret_cast <CheckpointSummaryMsg *>(msg), msgLen, senderId);
11161153 }
11171154 break ;
@@ -1483,7 +1520,9 @@ void BCStateTran::sendAskForCheckpointSummariesMsg() {
14831520 AskForCheckpointSummariesMsg msg;
14841521 lastTimeSentAskForCheckpointSummariesMsg = getMonotonicTimeMilli ();
14851522 lastMsgSeqNum_ = uniqueMsgSeqNum ();
1523+ #ifdef ENABLE_ALL_METRICS
14861524 metrics_.last_msg_seq_num_ .Get ().Set (lastMsgSeqNum_);
1525+ #endif
14871526 SCOPED_MDC_SEQ_NUM (getScopedMdcStr (config_.myReplicaId , lastMsgSeqNum_));
14881527
14891528 msg.msgSeqNum = lastMsgSeqNum_;
@@ -1511,8 +1550,9 @@ void BCStateTran::trySendFetchBlocksMsg(int16_t lastKnownChunkInLastRequiredBloc
15111550
15121551 FetchBlocksMsg msg;
15131552 lastMsgSeqNum_ = uniqueMsgSeqNum ();
1553+ #ifdef ENABLE_ALL_METRICS
15141554 metrics_.last_msg_seq_num_ .Get ().Set (lastMsgSeqNum_);
1515-
1555+ # endif
15161556 msg.msgSeqNum = lastMsgSeqNum_;
15171557 msg.minBlockId = fetchState_.minBlockId ;
15181558 msg.maxBlockId = fetchState_.maxBlockId ;
@@ -1548,8 +1588,9 @@ void BCStateTran::sendFetchResPagesMsg(int16_t lastKnownChunkInLastRequiredBlock
15481588
15491589 uint64_t lastStoredCheckpoint = psd_->getLastStoredCheckpoint ();
15501590 lastMsgSeqNum_ = uniqueMsgSeqNum ();
1591+ #ifdef ENABLE_ALL_METRICS
15511592 metrics_.last_msg_seq_num_ .Get ().Set (lastMsgSeqNum_);
1552-
1593+ # endif
15531594 FetchResPagesMsg msg;
15541595 msg.msgSeqNum = lastMsgSeqNum_;
15551596 msg.lastCheckpointKnownToRequester = lastStoredCheckpoint;
@@ -1582,7 +1623,9 @@ bool BCStateTran::onMessage(const AskForCheckpointSummariesMsg *m, uint32_t msgL
15821623 // if msg is invalid
15831624 if (msgLen < sizeof (AskForCheckpointSummariesMsg) || m->minRelevantCheckpointNum == 0 || m->msgSeqNum == 0 ) {
15841625 LOG_WARN (logger_, " Msg is invalid: " << KVLOG (msgLen, m->minRelevantCheckpointNum , m->msgSeqNum ));
1626+ #ifdef ENABLE_ALL_METRICS
15851627 metrics_.invalid_ask_for_checkpoint_summaries_msg_ ++;
1628+ #endif
15861629 return true ;
15871630 }
15881631
@@ -1594,7 +1637,9 @@ bool BCStateTran::onMessage(const AskForCheckpointSummariesMsg *m, uint32_t msgL
15941637 LOG_WARN (logger_,
15951638 " Msg is irrelevant: " << KVLOG (
15961639 isCollectingState, seqNumInvalid, m->minRelevantCheckpointNum , lastStoredCheckpoint));
1640+ #ifdef ENABLE_ALL_METRICS
15971641 metrics_.irrelevant_ask_for_checkpoint_summaries_msg_ ++;
1642+ #endif
15981643 return true ;
15991644 }
16001645
@@ -1650,7 +1695,9 @@ bool BCStateTran::onMessage(const CheckpointSummaryMsg *m, uint32_t msgLen, uint
16501695 if (fs != FetchingState::GettingCheckpointSummaries) {
16511696 auto fetchingState = stateName (getFetchingState ());
16521697 LOG_WARN (logger_, " Msg is irrelevant: " << KVLOG (fetchingState));
1698+ #ifdef ENABLE_ALL_METRICS
16531699 metrics_.irrelevant_checkpoint_summary_msg_ ++;
1700+ #endif
16541701 return true ;
16551702 }
16561703
@@ -1669,7 +1716,9 @@ bool BCStateTran::onMessage(const CheckpointSummaryMsg *m, uint32_t msgLen, uint
16691716 LOG_WARN (logger_,
16701717 " Msg is irrelevant: " << KVLOG (
16711718 replicaId, m->requestMsgSeqNum , lastMsgSeqNum_, m->checkpointNum , psd_->getLastStoredCheckpoint ()));
1719+ #ifdef ENABLE_ALL_METRICS
16721720 metrics_.irrelevant_checkpoint_summary_msg_ ++;
1721+ #endif
16731722 return true ;
16741723 }
16751724
@@ -1757,8 +1806,9 @@ bool BCStateTran::onMessage(const CheckpointSummaryMsg *m, uint32_t msgLen, uint
17571806 // clean
17581807 clearInfoAboutGettingCheckpointSummary ();
17591808 lastMsgSeqNum_ = 0 ;
1809+ #ifdef ENABLE_ALL_METRICS
17601810 metrics_.last_msg_seq_num_ .Get ().Set (0 );
1761-
1811+ # endif
17621812 // check if we need to fetch blocks, or reserved pages
17631813 const uint64_t lastReachableBlockNum = as_->getLastReachableBlockNum ();
17641814 metrics_.last_reachable_block_ .Get ().Set (lastReachableBlockNum);
@@ -1923,14 +1973,18 @@ bool BCStateTran::onMessage(const FetchBlocksMsg *m, uint32_t msgLen, uint16_t r
19231973 m->minBlockId ,
19241974 m->maxBlockId ,
19251975 m->maxBlockIdInCycle ));
1976+ #ifdef ENABLE_ALL_METRICS
19261977 metrics_.invalid_fetch_blocks_msg_ ++;
1978+ #endif
19271979 return true ;
19281980 }
19291981
19301982 // if msg is not relevant
19311983 if (!checkValidityAndSaveMsgSeqNum (replicaId, m->msgSeqNum )) {
19321984 LOG_WARN (logger_, " Msg is irrelevant: " << KVLOG (replicaId, m->msgSeqNum ));
1985+ #ifdef ENABLE_ALL_METRICS
19331986 metrics_.irrelevant_fetch_blocks_msg_ ++;
1987+ #endif
19341988 return true ;
19351989 }
19361990
@@ -2215,14 +2269,18 @@ bool BCStateTran::onMessage(const FetchResPagesMsg *m, uint32_t msgLen, uint16_t
22152269 // if msg is invalid
22162270 if (msgLen < sizeof (FetchResPagesMsg) || m->msgSeqNum == 0 || m->requiredCheckpointNum == 0 ) {
22172271 LOG_WARN (logger_, " Msg is invalid: " << KVLOG (replicaId, msgLen, m->msgSeqNum , m->requiredCheckpointNum ));
2272+ #ifdef ENABLE_ALL_METRICS
22182273 metrics_.invalid_fetch_res_pages_msg_ ++;
2274+ #endif
22192275 return true ;
22202276 }
22212277
22222278 // if msg is not relevant
22232279 if (!checkValidityAndSaveMsgSeqNum (replicaId, m->msgSeqNum )) {
22242280 LOG_WARN (logger_, " Msg is irrelevant: " << KVLOG (replicaId, m->msgSeqNum ));
2281+ #ifdef ENABLE_ALL_METRICS
22252282 metrics_.irrelevant_fetch_res_pages_msg_ ++;
2283+ #endif
22262284 return true ;
22272285 }
22282286
@@ -2379,7 +2437,9 @@ bool BCStateTran::onMessage(const RejectFetchingMsg *m, uint32_t msgLen, uint16_
23792437 m->rejectionCode ,
23802438 lastMsgSeqNum_,
23812439 m->requestMsgSeqNum ));
2440+ #ifdef ENABLE_ALL_METRICS
23822441 metrics_.irrelevant_reject_fetching_msg_ ++;
2442+ #endif
23832443 return true ;
23842444 }
23852445
@@ -2526,7 +2586,9 @@ bool BCStateTran::onMessage(const ItemDataMsg *m,
25262586 if (added) {
25272587 LOG_DEBUG (logger_,
25282588 " ItemDataMsg was added to pendingItemDataMsgs: " << KVLOG (replicaId, fetchingState, m->requestMsgSeqNum ));
2589+ #ifdef ENABLE_ALL_METRICS
25292590 metrics_.num_pending_item_data_msgs_ .Get ().Set (pendingItemDataMsgs.size ());
2591+ #endif
25302592 totalSizeOfPendingItemDataMsgs += m->dataSize ;
25312593 metrics_.total_size_of_pending_item_data_msgs_ .Get ().Set (totalSizeOfPendingItemDataMsgs);
25322594 processData (m->lastInBatch , m->rvbDigestsSize );
@@ -2678,7 +2740,9 @@ void BCStateTran::clearAllPendingItemsData() {
26782740
26792741 pendingItemDataMsgs.clear ();
26802742 totalSizeOfPendingItemDataMsgs = 0 ;
2743+ #ifdef ENABLE_ALL_METRICS
26812744 metrics_.num_pending_item_data_msgs_ .Get ().Set (0 );
2745+ #endif
26822746 metrics_.total_size_of_pending_item_data_msgs_ .Get ().Set (0 );
26832747}
26842748
@@ -2698,7 +2762,9 @@ void BCStateTran::clearPendingItemsData(uint64_t fromBlock, uint64_t untilBlock)
26982762 }
26992763 ++it;
27002764 }
2765+ #ifdef ENABLE_ALL_METRICS
27012766 metrics_.num_pending_item_data_msgs_ .Get ().Set (pendingItemDataMsgs.size ());
2767+ #endif
27022768 metrics_.total_size_of_pending_item_data_msgs_ .Get ().Set (totalSizeOfPendingItemDataMsgs);
27032769}
27042770
@@ -2783,7 +2849,9 @@ bool BCStateTran::getNextFullBlock(uint64_t requiredBlock,
27832849 totalSizeOfPendingItemDataMsgs -= (*it)->dataSize ;
27842850 replicaForStateTransfer_->freeStateTransferMsg (reinterpret_cast <char *>(*it));
27852851 it = pendingItemDataMsgs.erase (it);
2852+ #ifdef ENABLE_ALL_METRICS
27862853 metrics_.num_pending_item_data_msgs_ .Get ().Set (pendingItemDataMsgs.size ());
2854+ #endif
27872855 metrics_.total_size_of_pending_item_data_msgs_ .Get ().Set (totalSizeOfPendingItemDataMsgs);
27882856
27892857 if (currentChunk == totalNumberOfChunks) {
@@ -2985,7 +3053,9 @@ void BCStateTran::addOneShotTimer(uint32_t timeoutMilli, std::string &&reason) {
29853053
29863054 // processing not done. We must call finalizePutblockAsync in a shot time to finish commit
29873055 LOG_DEBUG (logger_, " Add one shot timer:" << KVLOG (timeoutMilli, reason));
3056+ #ifdef ENABLE_ALL_METRICS
29883057 metrics_.one_shot_timer_ ++;
3058+ #endif
29893059 replicaForStateTransfer_->addOneShotTimer (timeoutMilli);
29903060 oneShotTimerFlag_ = false ;
29913061}
@@ -3323,7 +3393,9 @@ void BCStateTran::processData(bool lastInBatch, uint32_t rvbDigestsSize) {
33233393 LOG_ERROR (logger_, " Setting RVB digests into RVB manager failed!" );
33243394 badDataFromCurrentSourceReplica = true ;
33253395 } else {
3396+ #ifdef ENABLE_ALL_METRICS
33263397 metrics_.overall_rvb_digest_groups_validated_ ++;
3398+ #endif
33273399 }
33283400 }
33293401
0 commit comments