diff --git a/include/xrpl/telemetry/Telemetry.h b/include/xrpl/telemetry/Telemetry.h index 92f87f7a70..1b965345a9 100644 --- a/include/xrpl/telemetry/Telemetry.h +++ b/include/xrpl/telemetry/Telemetry.h @@ -252,7 +252,7 @@ public: shouldTraceLedger() const = 0; /** @return The configured consensus trace correlation strategy. */ - virtual std::string const& + [[nodiscard]] virtual std::string const& getConsensusTraceStrategy() const = 0; #ifdef XRPL_ENABLE_TELEMETRY diff --git a/src/libxrpl/telemetry/NullTelemetry.cpp b/src/libxrpl/telemetry/NullTelemetry.cpp index a957330a1a..8283ff97bc 100644 --- a/src/libxrpl/telemetry/NullTelemetry.cpp +++ b/src/libxrpl/telemetry/NullTelemetry.cpp @@ -18,6 +18,7 @@ #endif #include +#include #include namespace xrpl::telemetry { @@ -87,7 +88,7 @@ public: return false; } - std::string const& + [[nodiscard]] std::string const& getConsensusTraceStrategy() const override { return setup_.consensusTraceStrategy; diff --git a/src/tests/libxrpl/telemetry/SpanGuardFactory.cpp b/src/tests/libxrpl/telemetry/SpanGuardFactory.cpp index 8567b61d82..aa935b2151 100644 --- a/src/tests/libxrpl/telemetry/SpanGuardFactory.cpp +++ b/src/tests/libxrpl/telemetry/SpanGuardFactory.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include using namespace xrpl; diff --git a/src/xrpld/app/consensus/RCLConsensus.cpp b/src/xrpld/app/consensus/RCLConsensus.cpp index dffdc9c8bc..b479c5a105 100644 --- a/src/xrpld/app/consensus/RCLConsensus.cpp +++ b/src/xrpld/app/consensus/RCLConsensus.cpp @@ -63,6 +63,8 @@ #include #include #include +#include +#include #include #include @@ -357,7 +359,7 @@ RCLConsensus::Adaptor::onClose( telemetry::cons_span::op::ledgerClose); span.setAttribute( telemetry::cons_span::attr::ledgerSeq, - static_cast(ledger.ledger_->header().seq + 1)); + static_cast(ledger.ledger_->header().seq) + 1); span.setAttribute(telemetry::cons_span::attr::mode, toDisplayString(mode).c_str()); bool const wrongLCL = mode == ConsensusMode::wrongLedger; @@ -556,7 +558,7 @@ RCLConsensus::Adaptor::doAccept( ? acceptSpan->childSpan(telemetry::cons_span::acceptApply) : telemetry::SpanGuard::childSpan(telemetry::cons_span::acceptApply, roundSpanContext_); doAcceptSpan.setAttribute( - telemetry::cons_span::attr::ledgerSeq, static_cast(prevLedger.seq() + 1)); + telemetry::cons_span::attr::ledgerSeq, static_cast(prevLedger.seq()) + 1); doAcceptSpan.setAttribute( telemetry::cons_span::attr::closeTime, static_cast(consensusCloseTime.time_since_epoch().count())); @@ -582,9 +584,17 @@ RCLConsensus::Adaptor::doAccept( static_cast(rawCloseTimes.peers.size())); { auto const prevRes = prevLedger.closeTimeResolution(); - std::string dir = (closeResolution > prevRes) ? "increased" - : (closeResolution < prevRes) ? "decreased" - : "unchanged"; + auto const dir = [&]() -> std::string { + if (closeResolution > prevRes) + { + return "increased"; + } + if (closeResolution < prevRes) + { + return "decreased"; + } + return "unchanged"; + }(); doAcceptSpan.setAttribute(telemetry::cons_span::attr::resolutionDirection, std::move(dir)); } @@ -1218,10 +1228,10 @@ RCLConsensus::Adaptor::startRoundTracing(RCLCxLedger const& prevLgr) return; roundSpan_->setAttribute(cons_span::attr::ledgerId, to_string(prevLgr.id()).c_str()); - roundSpan_->setAttribute(cons_span::attr::ledgerSeq, static_cast(prevLgr.seq() + 1)); + roundSpan_->setAttribute(cons_span::attr::ledgerSeq, static_cast(prevLgr.seq()) + 1); roundSpan_->setAttribute(cons_span::attr::mode, toDisplayString(mode_.load()).c_str()); roundSpan_->setAttribute(cons_span::attr::traceStrategy, strategy.c_str()); - roundSpan_->setAttribute(cons_span::attr::roundId, static_cast(prevLgr.seq() + 1)); + roundSpan_->setAttribute(cons_span::attr::roundId, static_cast(prevLgr.seq()) + 1); roundSpanContext_ = roundSpan_->captureContext(); } diff --git a/src/xrpld/consensus/Consensus.h b/src/xrpld/consensus/Consensus.h index a32cdd2c0c..f6bb1ecb22 100644 --- a/src/xrpld/consensus/Consensus.h +++ b/src/xrpld/consensus/Consensus.h @@ -1801,11 +1801,17 @@ Consensus::haveConsensus(std::unique_ptr const& clog char const* stateStr = "no"; if (result_->state == ConsensusState::Yes) + { stateStr = "yes"; + } else if (result_->state == ConsensusState::MovedOn) + { stateStr = "moved_on"; + } else if (result_->state == ConsensusState::Expired) + { stateStr = "expired"; + } span.setAttribute(cons_span::attr::result, stateStr); CLOG(clog) << "Consensus has been reached. "; diff --git a/src/xrpld/consensus/ConsensusSpanNames.h b/src/xrpld/consensus/ConsensusSpanNames.h index 868f730860..b3112af1ec 100644 --- a/src/xrpld/consensus/ConsensusSpanNames.h +++ b/src/xrpld/consensus/ConsensusSpanNames.h @@ -78,9 +78,7 @@ #include -namespace xrpl { -namespace telemetry { -namespace cons_span { +namespace xrpl::telemetry::cons_span { // ===== Span name segments ==================================================== @@ -240,6 +238,4 @@ inline constexpr auto decreased = makeStr("decreased"); inline constexpr auto unchanged = makeStr("unchanged"); } // namespace val -} // namespace cons_span -} // namespace telemetry -} // namespace xrpl +} // namespace xrpl::telemetry::cons_span diff --git a/src/xrpld/consensus/DisputedTx.h b/src/xrpld/consensus/DisputedTx.h index 2629feef5e..fcd2b0ebac 100644 --- a/src/xrpld/consensus/DisputedTx.h +++ b/src/xrpld/consensus/DisputedTx.h @@ -177,14 +177,14 @@ public: getJson() const; //! Number of peers voting yes. - int + [[nodiscard]] int getYays() const { return yays_; } //! Number of peers voting no. - int + [[nodiscard]] int getNays() const { return nays_;