mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Improve reporting of ledger age in server_info
This commit is contained in:
committed by
Nik Bougalis
parent
df29e98ea5
commit
00702f28c2
@@ -54,6 +54,10 @@ class Transaction;
|
||||
class LedgerMaster : public Stoppable, public AbstractFetchPackContainer
|
||||
{
|
||||
public:
|
||||
// Age for last validated ledger if the process has yet to validate.
|
||||
static constexpr std::chrono::seconds NO_VALIDATED_LEDGER_AGE =
|
||||
std::chrono::hours{24 * 14};
|
||||
|
||||
explicit LedgerMaster(
|
||||
Application& app,
|
||||
Stopwatch& stopwatch,
|
||||
|
||||
@@ -269,7 +269,7 @@ LedgerMaster::getValidatedLedgerAge()
|
||||
if (valClose == 0s)
|
||||
{
|
||||
JLOG(m_journal.debug()) << "No validated ledger";
|
||||
return weeks{2};
|
||||
return NO_VALIDATED_LEDGER_AGE;
|
||||
}
|
||||
|
||||
std::chrono::seconds ret = app_.timeKeeper().closeTime().time_since_epoch();
|
||||
|
||||
@@ -2757,16 +2757,24 @@ NetworkOPsImp::getServerInfo(bool human, bool admin, bool counters)
|
||||
if (std::abs(closeOffset.count()) >= 60)
|
||||
l[jss::close_time_offset] = closeOffset.count();
|
||||
|
||||
auto lCloseTime = lpClosed->info().closeTime;
|
||||
auto closeTime = app_.timeKeeper().closeTime();
|
||||
if (lCloseTime <= closeTime)
|
||||
constexpr std::chrono::seconds HIGH_AGE_THRESHOLD{1000000};
|
||||
if (m_ledgerMaster.haveValidated())
|
||||
{
|
||||
using namespace std::chrono_literals;
|
||||
auto age = closeTime - lCloseTime;
|
||||
if (age < 1000000s)
|
||||
l[jss::age] = Json::UInt(age.count());
|
||||
else
|
||||
l[jss::age] = 0;
|
||||
auto const age = m_ledgerMaster.getValidatedLedgerAge();
|
||||
l[jss::age] =
|
||||
Json::UInt(age < HIGH_AGE_THRESHOLD ? age.count() : 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
auto lCloseTime = lpClosed->info().closeTime;
|
||||
auto closeTime = app_.timeKeeper().closeTime();
|
||||
if (lCloseTime <= closeTime)
|
||||
{
|
||||
using namespace std::chrono_literals;
|
||||
auto age = closeTime - lCloseTime;
|
||||
l[jss::age] =
|
||||
Json::UInt(age < HIGH_AGE_THRESHOLD ? age.count() : 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user