From 4dc2fd6c37f8d85c2e9f19d5f03c72c5a1707455 Mon Sep 17 00:00:00 2001 From: Jon Atack Date: Wed, 24 Feb 2021 16:12:43 +0100 Subject: qt: add RPCConsole::TimeDurationField helper, call systime only once --- src/qt/rpcconsole.cpp | 7 ++++--- src/qt/rpcconsole.h | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 4a4b557acc..7cd7bd181e 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -1120,11 +1120,12 @@ void RPCConsole::updateDetailWidget() if (stats->nodeStats.m_bip152_highbandwidth_from) bip152_hb_settings += (bip152_hb_settings == "" ? "From" : "/From"); if (bip152_hb_settings == "") bip152_hb_settings = "No"; ui->peerHighBandwidth->setText(bip152_hb_settings); - ui->peerLastSend->setText(stats->nodeStats.nLastSend ? GUIUtil::formatDurationStr(GetSystemTimeInSeconds() - stats->nodeStats.nLastSend) : tr("never")); - ui->peerLastRecv->setText(stats->nodeStats.nLastRecv ? GUIUtil::formatDurationStr(GetSystemTimeInSeconds() - stats->nodeStats.nLastRecv) : tr("never")); + const int64_t time_now{GetSystemTimeInSeconds()}; + ui->peerConnTime->setText(GUIUtil::formatDurationStr(time_now - stats->nodeStats.nTimeConnected)); + ui->peerLastSend->setText(TimeDurationField(time_now, stats->nodeStats.nLastSend)); + ui->peerLastRecv->setText(TimeDurationField(time_now, stats->nodeStats.nLastRecv)); ui->peerBytesSent->setText(GUIUtil::formatBytes(stats->nodeStats.nSendBytes)); ui->peerBytesRecv->setText(GUIUtil::formatBytes(stats->nodeStats.nRecvBytes)); - ui->peerConnTime->setText(GUIUtil::formatDurationStr(GetSystemTimeInSeconds() - stats->nodeStats.nTimeConnected)); ui->peerPingTime->setText(GUIUtil::formatPingTime(stats->nodeStats.m_ping_usec)); ui->peerMinPing->setText(GUIUtil::formatPingTime(stats->nodeStats.m_min_ping_usec)); ui->timeoffset->setText(GUIUtil::formatTimeOffset(stats->nodeStats.nTimeOffset)); diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h index 5f308dc36d..27d4c42eb4 100644 --- a/src/qt/rpcconsole.h +++ b/src/qt/rpcconsole.h @@ -168,6 +168,11 @@ private: /** Update UI with latest network info from model. */ void updateNetworkState(); + /** Helper for the output of a time duration field. Inputs are UNIX epoch times. */ + QString TimeDurationField(uint64_t time_now, uint64_t time_at_event) const { + return time_at_event ? GUIUtil::formatDurationStr(time_now - time_at_event) : tr("Never"); + } + private Q_SLOTS: void updateAlerts(const QString& warnings); }; -- cgit v1.2.3 From a21be7c401e1b885bb338645248f40023af7a88f Mon Sep 17 00:00:00 2001 From: Jon Atack Date: Wed, 24 Feb 2021 16:20:48 +0100 Subject: gui: add "Last Tx" (CNodeStats::nLastTXTime) to peer details --- src/qt/forms/debugwindow.ui | 62 ++++++++++++++++++++++++++++++++------------- src/qt/rpcconsole.cpp | 1 + 2 files changed, 45 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index 9e828ce0a6..318eca6c59 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -1342,13 +1342,39 @@ + + + Elapsed time since a novel transaction accepted into our mempool was received from this peer. + + + Last Tx + + + + + + + IBeamCursor + + + N/A + + + Qt::PlainText + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + Last Send - + IBeamCursor @@ -1364,14 +1390,14 @@ - + Last Receive - + IBeamCursor @@ -1387,14 +1413,14 @@ - + Sent - + IBeamCursor @@ -1410,14 +1436,14 @@ - + Received - + IBeamCursor @@ -1433,14 +1459,14 @@ - + Ping Time - + IBeamCursor @@ -1456,7 +1482,7 @@ - + The duration of a currently outstanding ping. @@ -1466,7 +1492,7 @@ - + IBeamCursor @@ -1482,14 +1508,14 @@ - + Min Ping - + IBeamCursor @@ -1505,14 +1531,14 @@ - + Time Offset - + IBeamCursor @@ -1528,7 +1554,7 @@ - + The mapped Autonomous System used for diversifying peer selection. @@ -1538,7 +1564,7 @@ - + IBeamCursor @@ -1554,7 +1580,7 @@ - + Qt::Vertical diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 7cd7bd181e..3bd6d94a58 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -1122,6 +1122,7 @@ void RPCConsole::updateDetailWidget() ui->peerHighBandwidth->setText(bip152_hb_settings); const int64_t time_now{GetSystemTimeInSeconds()}; ui->peerConnTime->setText(GUIUtil::formatDurationStr(time_now - stats->nodeStats.nTimeConnected)); + ui->peerLastTx->setText(TimeDurationField(time_now, stats->nodeStats.nLastTXTime)); ui->peerLastSend->setText(TimeDurationField(time_now, stats->nodeStats.nLastSend)); ui->peerLastRecv->setText(TimeDurationField(time_now, stats->nodeStats.nLastRecv)); ui->peerBytesSent->setText(GUIUtil::formatBytes(stats->nodeStats.nSendBytes)); -- cgit v1.2.3 From 70d3c5d0b987411873d557440607aa4f3f65b1ec Mon Sep 17 00:00:00 2001 From: Jon Atack Date: Wed, 24 Feb 2021 16:26:39 +0100 Subject: gui: add "Last Block" (CNodeStats::nLastBlockTime) to peer details --- src/qt/forms/debugwindow.ui | 68 +++++++++++++++++++++++++++++++-------------- src/qt/rpcconsole.cpp | 1 + 2 files changed, 48 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index 318eca6c59..e45cafe48a 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -1079,7 +1079,7 @@ - The direction and type of peer connection: %1 + The direction and type of peer connection: %1 Direction/Type @@ -1342,6 +1342,32 @@ + + + Elapsed time since a novel block passing initial validity checks was received from this peer. + + + Last Block + + + + + + + IBeamCursor + + + N/A + + + Qt::PlainText + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + Elapsed time since a novel transaction accepted into our mempool was received from this peer. @@ -1351,7 +1377,7 @@ - + IBeamCursor @@ -1367,14 +1393,14 @@ - + Last Send - + IBeamCursor @@ -1390,14 +1416,14 @@ - + Last Receive - + IBeamCursor @@ -1413,14 +1439,14 @@ - + Sent - + IBeamCursor @@ -1436,14 +1462,14 @@ - + Received - + IBeamCursor @@ -1459,14 +1485,14 @@ - + Ping Time - + IBeamCursor @@ -1482,7 +1508,7 @@ - + The duration of a currently outstanding ping. @@ -1492,7 +1518,7 @@ - + IBeamCursor @@ -1508,14 +1534,14 @@ - + Min Ping - + IBeamCursor @@ -1531,14 +1557,14 @@ - + Time Offset - + IBeamCursor @@ -1554,7 +1580,7 @@ - + The mapped Autonomous System used for diversifying peer selection. @@ -1564,7 +1590,7 @@ - + IBeamCursor @@ -1580,7 +1606,7 @@ - + Qt::Vertical diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 3bd6d94a58..5acf8b1cf0 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -1122,6 +1122,7 @@ void RPCConsole::updateDetailWidget() ui->peerHighBandwidth->setText(bip152_hb_settings); const int64_t time_now{GetSystemTimeInSeconds()}; ui->peerConnTime->setText(GUIUtil::formatDurationStr(time_now - stats->nodeStats.nTimeConnected)); + ui->peerLastBlock->setText(TimeDurationField(time_now, stats->nodeStats.nLastBlockTime)); ui->peerLastTx->setText(TimeDurationField(time_now, stats->nodeStats.nLastTXTime)); ui->peerLastSend->setText(TimeDurationField(time_now, stats->nodeStats.nLastSend)); ui->peerLastRecv->setText(TimeDurationField(time_now, stats->nodeStats.nLastRecv)); -- cgit v1.2.3