Display minimum ping in debug window.
This commit is contained in:
parent
8d46429c83
commit
1724a405c9
7 changed files with 34 additions and 10 deletions
|
@ -659,7 +659,7 @@ void CNode::copyStats(CNodeStats &stats)
|
|||
|
||||
// Raw ping time is in microseconds, but show it to user as whole seconds (Bitcoin users should be well used to small numbers with many decimal places by now :)
|
||||
stats.dPingTime = (((double)nPingUsecTime) / 1e6);
|
||||
stats.dPingMin = (((double)nMinPingUsecTime) / 1e6);
|
||||
stats.dMinPing = (((double)nMinPingUsecTime) / 1e6);
|
||||
stats.dPingWait = (((double)nPingUsecWait) / 1e6);
|
||||
|
||||
// Leave string empty if addrLocal invalid (not filled in yet)
|
||||
|
|
|
@ -503,7 +503,7 @@ public:
|
|||
bool fWhitelisted;
|
||||
double dPingTime;
|
||||
double dPingWait;
|
||||
double dPingMin;
|
||||
double dMinPing;
|
||||
std::string addrLocal;
|
||||
CAddress addr;
|
||||
};
|
||||
|
|
|
@ -1353,13 +1353,36 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="16" column="0">
|
||||
<widget class="QLabel" name="peerMinPingLabel">
|
||||
<property name="text">
|
||||
<string>Min Ping</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="2">
|
||||
<widget class="QLabel" name="peerMinPing">
|
||||
<property name="cursor">
|
||||
<cursorShape>IBeamCursor</cursorShape>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>N/A</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="17" column="0">
|
||||
<widget class="QLabel" name="label_timeoffset">
|
||||
<property name="text">
|
||||
<string>Time Offset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="2">
|
||||
<item row="17" column="2">
|
||||
<widget class="QLabel" name="timeoffset">
|
||||
<property name="cursor">
|
||||
<cursorShape>IBeamCursor</cursorShape>
|
||||
|
@ -1375,7 +1398,7 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="17" column="1">
|
||||
<item row="18" column="1">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
|
|
|
@ -947,7 +947,7 @@ QString formatServicesStr(quint64 mask)
|
|||
|
||||
QString formatPingTime(double dPingTime)
|
||||
{
|
||||
return dPingTime == 0 ? QObject::tr("N/A") : QString(QObject::tr("%1 ms")).arg(QString::number((int)(dPingTime * 1000), 10));
|
||||
return (dPingTime == std::numeric_limits<int64_t>::max()/1e6 || dPingTime == 0) ? QObject::tr("N/A") : QString(QObject::tr("%1 ms")).arg(QString::number((int)(dPingTime * 1000), 10));
|
||||
}
|
||||
|
||||
QString formatTimeOffset(int64_t nTimeOffset)
|
||||
|
|
|
@ -31,7 +31,7 @@ bool NodeLessThan::operator()(const CNodeCombinedStats &left, const CNodeCombine
|
|||
case PeerTableModel::Subversion:
|
||||
return pLeft->cleanSubVer.compare(pRight->cleanSubVer) < 0;
|
||||
case PeerTableModel::Ping:
|
||||
return pLeft->dPingTime < pRight->dPingTime;
|
||||
return pLeft->dMinPing < pRight->dMinPing;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -113,7 +113,7 @@ PeerTableModel::PeerTableModel(ClientModel *parent) :
|
|||
clientModel(parent),
|
||||
timer(0)
|
||||
{
|
||||
columns << tr("NodeId") << tr("Node/Service") << tr("User Agent") << tr("Ping Time");
|
||||
columns << tr("NodeId") << tr("Node/Service") << tr("User Agent") << tr("Ping");
|
||||
priv = new PeerTablePriv();
|
||||
// default to unsorted
|
||||
priv->sortColumn = -1;
|
||||
|
@ -166,7 +166,7 @@ QVariant PeerTableModel::data(const QModelIndex &index, int role) const
|
|||
case Subversion:
|
||||
return QString::fromStdString(rec->nodeStats.cleanSubVer);
|
||||
case Ping:
|
||||
return GUIUtil::formatPingTime(rec->nodeStats.dPingTime);
|
||||
return GUIUtil::formatPingTime(rec->nodeStats.dMinPing);
|
||||
}
|
||||
} else if (role == Qt::TextAlignmentRole) {
|
||||
if (index.column() == Ping)
|
||||
|
|
|
@ -895,6 +895,7 @@ void RPCConsole::updateNodeDetail(const CNodeCombinedStats *stats)
|
|||
ui->peerConnTime->setText(GUIUtil::formatDurationStr(GetTime() - stats->nodeStats.nTimeConnected));
|
||||
ui->peerPingTime->setText(GUIUtil::formatPingTime(stats->nodeStats.dPingTime));
|
||||
ui->peerPingWait->setText(GUIUtil::formatPingTime(stats->nodeStats.dPingWait));
|
||||
ui->peerMinPing->setText(GUIUtil::formatPingTime(stats->nodeStats.dMinPing));
|
||||
ui->timeoffset->setText(GUIUtil::formatTimeOffset(stats->nodeStats.nTimeOffset));
|
||||
ui->peerVersion->setText(QString("%1").arg(QString::number(stats->nodeStats.nVersion)));
|
||||
ui->peerSubversion->setText(QString::fromStdString(stats->nodeStats.cleanSubVer));
|
||||
|
|
|
@ -141,8 +141,8 @@ UniValue getpeerinfo(const UniValue& params, bool fHelp)
|
|||
obj.push_back(Pair("timeoffset", stats.nTimeOffset));
|
||||
if (stats.dPingTime > 0.0)
|
||||
obj.push_back(Pair("pingtime", stats.dPingTime));
|
||||
if (stats.dPingMin < std::numeric_limits<int64_t>::max()/1e6)
|
||||
obj.push_back(Pair("minping", stats.dPingMin));
|
||||
if (stats.dMinPing < std::numeric_limits<int64_t>::max()/1e6)
|
||||
obj.push_back(Pair("minping", stats.dMinPing));
|
||||
if (stats.dPingWait > 0.0)
|
||||
obj.push_back(Pair("pingwait", stats.dPingWait));
|
||||
obj.push_back(Pair("version", stats.nVersion));
|
||||
|
|
Loading…
Reference in a new issue