Ref T698, improved display of statistics

This commit is contained in:
Klaus Basan
2019-07-05 01:53:26 +02:00
committed by Mat Sutcliffe
parent 821e7e73c9
commit afba7b9697
2 changed files with 17 additions and 12 deletions

View File

@@ -32,6 +32,7 @@ namespace BlackCore
m_statistics = true;
}
}
int INetwork::increaseStatisticsValue(const QString &identifier, const QString &appendix)
{
if (identifier.isEmpty() || !m_statistics) { return -1; }
@@ -47,18 +48,19 @@ namespace BlackCore
QString INetwork::getNetworkStatisticsAsText(bool reset, const QString &separator)
{
QMap<int, QString> transformed;
QVector<std::pair<int, QString>> transformed;
for (const auto pair : makePairsRange(as_const(m_callStatistics)))
{
// key is pair.first, value is pair.second
transformed.insertMulti(pair.second, pair.first);
transformed.push_back({ pair.second, pair.first });
}
if (reset) { this->clearStatistics(); }
// sorted by value
std::sort(transformed.begin(), transformed.end(), std::greater<>());
QString stats;
for (const auto pair : makePairsRange(as_const(transformed)))
for (const auto &pair : transformed)
{
stats +=
(stats.isEmpty() ? QString() : separator) %
@@ -66,4 +68,5 @@ namespace BlackCore
}
return stats;
}
} // ns

View File

@@ -636,7 +636,7 @@ namespace BlackCore
Vat_SendClientQuery(m_net.data(), vatClientQueryFreq, toFSD(callsign));
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"), vatClientQueryFreq);
}
void CNetworkVatlib::sendUserInfoQuery(const CCallsign &callsign)
@@ -645,7 +645,7 @@ namespace BlackCore
Vat_SendClientQuery(m_net.data(), vatClientQueryInfo, toFSD(callsign));
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"), vatClientQueryInfo);
}
void CNetworkVatlib::setInterimPositionReceivers(const CCallsignSet &receivers)
@@ -686,7 +686,7 @@ namespace BlackCore
Vat_SendClientQuery(m_net.data(), vatClientQueryAtc, toFSD(callsign));
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"), vatClientQueryAtc);
}
void CNetworkVatlib::sendAtisQuery(const CCallsign &callsign)
@@ -699,7 +699,7 @@ namespace BlackCore
Vat_SendClientQuery(m_net.data(), vatClientQueryAtis, toFSD(callsign));
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"), vatClientQueryAtis);
}
void CNetworkVatlib::sendFlightPlan(const CFlightPlan &flightPlan)
@@ -759,7 +759,7 @@ namespace BlackCore
Vat_SendClientQuery(m_net.data(), vatClientQueryFP, toFSD(callsign));
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"), vatClientQueryFP);
}
void CNetworkVatlib::sendRealNameQuery(const CCallsign &callsign)
@@ -768,7 +768,7 @@ namespace BlackCore
Vat_SendClientQuery(m_net.data(), vatClientQueryName, toFSD(callsign));
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"), vatClientQueryName);
}
void CNetworkVatlib::sendCapabilitiesQuery(const CCallsign &callsign)
@@ -777,7 +777,7 @@ namespace BlackCore
Vat_SendClientQuery(m_net.data(), vatClientQueryCaps, toFSD(callsign));
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQuery"), vatClientQueryCaps);
}
void CNetworkVatlib::replyToFrequencyQuery(const CCallsign &callsign) // private
@@ -786,7 +786,7 @@ namespace BlackCore
Vat_SendClientQueryResponse(m_net.data(), vatClientQueryFreq, toFSD(callsign), toFSD(response)(), response.size());
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQueryResponse"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQueryResponse"), vatClientQueryFreq);
}
void CNetworkVatlib::replyToNameQuery(const CCallsign &callsign) // private
@@ -795,7 +795,7 @@ namespace BlackCore
Vat_SendClientQueryResponse(m_net.data(), vatClientQueryName, toFSD(callsign), toFSD(response)(), response.size());
// statistics
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQueryResponse"));
this->increaseStatisticsValue(QStringLiteral("Vat_SendClientQueryResponse"), vatClientQueryName);
}
void CNetworkVatlib::replyToConfigQuery(const CCallsign &callsign)
@@ -1100,6 +1100,7 @@ namespace BlackCore
// statistics
self->increaseStatisticsValue(__func__);
// if (!isInRange) { return; } // sort out all broadcasted we DO NOT NEED
QJsonParseError parserError;
const QByteArray json = self->fromFSD(aircraftConfig).toUtf8();
const QJsonDocument doc = QJsonDocument::fromJson(json, &parserError);
@@ -1113,6 +1114,7 @@ namespace BlackCore
const QJsonObject packet = doc.object();
if (packet == JsonPackets::aircraftConfigRequest())
{
// this MUST work for NOT IN RANGE aircraft as well
self->replyToConfigQuery(callsign);
return;
}