mirror of
https://github.com/lubosz/overte.git
synced 2025-08-08 03:08:00 +02:00
some debugging
This commit is contained in:
parent
5244274ae4
commit
ddf5b0f316
5 changed files with 68 additions and 12 deletions
|
@ -515,7 +515,9 @@ void OctreeStatsDialog::showOctreeServersOfType(int& serverCount, NodeType_t ser
|
||||||
QString incomingLikelyLostString = locale.toString((uint)seqStats.getLost());
|
QString incomingLikelyLostString = locale.toString((uint)seqStats.getLost());
|
||||||
QString incomingRecovered = locale.toString((uint)seqStats.getRecovered());
|
QString incomingRecovered = locale.toString((uint)seqStats.getRecovered());
|
||||||
|
|
||||||
qint64 clockSkewInMS = node->getClockSkewUsec() / USECS_PER_MSEC;
|
qint64 clockSkewInUsecs = node->getClockSkewUsec();
|
||||||
|
QString formattedClockSkewString = formatUsecTime(clockSkewInUsecs);
|
||||||
|
qint64 clockSkewInMS = clockSkewInUsecs / (qint64)USECS_PER_MSEC;
|
||||||
QString incomingFlightTimeString = locale.toString((int)stats.getIncomingFlightTimeAverage());
|
QString incomingFlightTimeString = locale.toString((int)stats.getIncomingFlightTimeAverage());
|
||||||
QString incomingPingTimeString = locale.toString(node->getPingMs());
|
QString incomingPingTimeString = locale.toString(node->getPingMs());
|
||||||
QString incomingClockSkewString = locale.toString(clockSkewInMS);
|
QString incomingClockSkewString = locale.toString(clockSkewInMS);
|
||||||
|
@ -536,7 +538,9 @@ void OctreeStatsDialog::showOctreeServersOfType(int& serverCount, NodeType_t ser
|
||||||
" Average Ping Time: " << qPrintable(incomingPingTimeString) << " msecs";
|
" Average Ping Time: " << qPrintable(incomingPingTimeString) << " msecs";
|
||||||
|
|
||||||
serverDetails << "<br/>" <<
|
serverDetails << "<br/>" <<
|
||||||
" Average Clock Skew: " << qPrintable(incomingClockSkewString) << " msecs";
|
" Average Clock Skew: " << qPrintable(incomingClockSkewString) << " msecs" <<
|
||||||
|
" [" << qPrintable(formattedClockSkewString) << "]";
|
||||||
|
|
||||||
|
|
||||||
serverDetails << "<br/>" << "Incoming" <<
|
serverDetails << "<br/>" << "Incoming" <<
|
||||||
" Bytes: " << qPrintable(incomingBytesString) <<
|
" Bytes: " << qPrintable(incomingBytesString) <<
|
||||||
|
|
|
@ -158,9 +158,10 @@ void NodeList::timePingReply(ReceivedMessage& message, const SharedNodePointer&
|
||||||
sendingNode->setPingMs(pingTime / 1000);
|
sendingNode->setPingMs(pingTime / 1000);
|
||||||
sendingNode->updateClockSkewUsec(clockSkew);
|
sendingNode->updateClockSkewUsec(clockSkew);
|
||||||
|
|
||||||
const bool wantDebug = false;
|
const bool wantDebug = true;
|
||||||
|
|
||||||
if (wantDebug) {
|
if (wantDebug) {
|
||||||
|
auto averageClockSkew = sendingNode->getClockSkewUsec();
|
||||||
qCDebug(networking) << "PING_REPLY from node " << *sendingNode << "\n" <<
|
qCDebug(networking) << "PING_REPLY from node " << *sendingNode << "\n" <<
|
||||||
" now: " << now << "\n" <<
|
" now: " << now << "\n" <<
|
||||||
" ourTime: " << ourOriginalTime << "\n" <<
|
" ourTime: " << ourOriginalTime << "\n" <<
|
||||||
|
@ -168,8 +169,8 @@ void NodeList::timePingReply(ReceivedMessage& message, const SharedNodePointer&
|
||||||
" oneWayFlightTime: " << oneWayFlightTime << "\n" <<
|
" oneWayFlightTime: " << oneWayFlightTime << "\n" <<
|
||||||
" othersReplyTime: " << othersReplyTime << "\n" <<
|
" othersReplyTime: " << othersReplyTime << "\n" <<
|
||||||
" othersExprectedReply: " << othersExpectedReply << "\n" <<
|
" othersExprectedReply: " << othersExpectedReply << "\n" <<
|
||||||
" clockSkew: " << clockSkew << "\n" <<
|
" clockSkew: " << clockSkew << "[" << formatUsecTime(clockSkew) << "]" << "\n" <<
|
||||||
" average clockSkew: " << sendingNode->getClockSkewUsec();
|
" average clockSkew: " << averageClockSkew << "[" << formatUsecTime(averageClockSkew) << "]";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -747,7 +747,7 @@ const char* OctreeSceneStats::getItemValue(Item item) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void OctreeSceneStats::trackIncomingOctreePacket(ReceivedMessage& message, bool wasStatsPacket, qint64 nodeClockSkewUsec) {
|
void OctreeSceneStats::trackIncomingOctreePacket(ReceivedMessage& message, bool wasStatsPacket, qint64 nodeClockSkewUsec) {
|
||||||
const bool wantExtraDebugging = false;
|
const bool wantExtraDebugging = true;
|
||||||
|
|
||||||
// skip past the flags
|
// skip past the flags
|
||||||
message.seek(sizeof(OCTREE_PACKET_FLAGS));
|
message.seek(sizeof(OCTREE_PACKET_FLAGS));
|
||||||
|
@ -768,6 +768,7 @@ void OctreeSceneStats::trackIncomingOctreePacket(ReceivedMessage& message, bool
|
||||||
qCDebug(octree) << "sentAt:" << sentAt << " usecs";
|
qCDebug(octree) << "sentAt:" << sentAt << " usecs";
|
||||||
qCDebug(octree) << "arrivedAt:" << arrivedAt << " usecs";
|
qCDebug(octree) << "arrivedAt:" << arrivedAt << " usecs";
|
||||||
qCDebug(octree) << "nodeClockSkewUsec:" << nodeClockSkewUsec << " usecs";
|
qCDebug(octree) << "nodeClockSkewUsec:" << nodeClockSkewUsec << " usecs";
|
||||||
|
qCDebug(octree) << "node Clock Skew:" << formatUsecTime(nodeClockSkewUsec);
|
||||||
qCDebug(octree) << "flightTime:" << flightTime << " usecs";
|
qCDebug(octree) << "flightTime:" << flightTime << " usecs";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -621,16 +621,62 @@ void debug::checkDeadBeef(void* memoryVoid, int size) {
|
||||||
assert(memcmp((unsigned char*)memoryVoid, DEADBEEF, std::min(size, DEADBEEF_SIZE)) != 0);
|
assert(memcmp((unsigned char*)memoryVoid, DEADBEEF, std::min(size, DEADBEEF_SIZE)) != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString formatUsecTime(float usecs, int prec) {
|
QString formatUsecTime(quint64 usecs, int prec) {
|
||||||
static const quint64 SECONDS_PER_MINUTE = 60;
|
static const quint64 USECS_PER_MINUTE = USECS_PER_SECOND * 60;
|
||||||
static const quint64 USECS_PER_MINUTE = USECS_PER_SECOND * SECONDS_PER_MINUTE;
|
static const quint64 USECS_PER_HOUR = USECS_PER_MINUTE * 60;
|
||||||
|
|
||||||
QString result;
|
QString result;
|
||||||
if (usecs > USECS_PER_MINUTE) {
|
if (usecs > USECS_PER_HOUR) {
|
||||||
result = QString::number(usecs / USECS_PER_MINUTE, 'f', prec) + "min";
|
result = QString::number(usecs / USECS_PER_HOUR) + "hrs";
|
||||||
|
} else if (usecs > USECS_PER_MINUTE) {
|
||||||
|
result = QString::number(usecs / USECS_PER_MINUTE) + "min";
|
||||||
} else if (usecs > USECS_PER_SECOND) {
|
} else if (usecs > USECS_PER_SECOND) {
|
||||||
result = QString::number(usecs / USECS_PER_SECOND, 'f', prec) + 's';
|
result = QString::number(usecs / USECS_PER_SECOND) + 's';
|
||||||
} else if (usecs > USECS_PER_MSEC) {
|
} else if (usecs > USECS_PER_MSEC) {
|
||||||
|
result = QString::number(usecs / USECS_PER_MSEC) + "ms";
|
||||||
|
} else {
|
||||||
|
result = QString::number(usecs) + "us";
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString formatUsecTime(qint64 usecs, int prec) {
|
||||||
|
static const qint64 USECS_PER_MSEC = 1000;
|
||||||
|
static const qint64 USECS_PER_SECOND = 1000 * USECS_PER_MSEC;
|
||||||
|
static const qint64 USECS_PER_MINUTE = USECS_PER_SECOND * 60;
|
||||||
|
static const qint64 USECS_PER_HOUR = USECS_PER_MINUTE * 60;
|
||||||
|
QString result;
|
||||||
|
if (usecs > USECS_PER_HOUR) {
|
||||||
|
result = QString::number(usecs / USECS_PER_HOUR) + "hrs";
|
||||||
|
} else if (usecs > USECS_PER_MINUTE || usecs < -USECS_PER_MINUTE) {
|
||||||
|
result = QString::number(usecs / USECS_PER_MINUTE) + "min";
|
||||||
|
} else if (usecs > USECS_PER_SECOND || usecs < -USECS_PER_SECOND) {
|
||||||
|
result = QString::number(usecs / USECS_PER_SECOND) + 's';
|
||||||
|
} else if (usecs > USECS_PER_MSEC || usecs < -USECS_PER_MSEC) {
|
||||||
|
result = QString::number(usecs / USECS_PER_MSEC) + "ms";
|
||||||
|
} else {
|
||||||
|
result = QString::number(usecs) + "us";
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString formatUsecTime(float usecs, int prec) {
|
||||||
|
return formatUsecTime((double)usecs, prec);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString formatUsecTime(double usecs, int prec) {
|
||||||
|
static const double USECS_PER_MSEC = 1000.0;
|
||||||
|
static const double USECS_PER_SECOND = 1000.0 * USECS_PER_MSEC;
|
||||||
|
static const double USECS_PER_MINUTE = USECS_PER_SECOND * 60.0;
|
||||||
|
static const double USECS_PER_HOUR = USECS_PER_MINUTE * 60.0;
|
||||||
|
QString result;
|
||||||
|
if (usecs > USECS_PER_HOUR || usecs < -USECS_PER_HOUR) {
|
||||||
|
result = QString::number(usecs / USECS_PER_HOUR, 'f', prec) + "hrs";
|
||||||
|
} else if (usecs > USECS_PER_MINUTE || usecs < -USECS_PER_MINUTE) {
|
||||||
|
result = QString::number(usecs / USECS_PER_MINUTE, 'f', prec) + "min";
|
||||||
|
} else if (usecs > USECS_PER_SECOND || usecs < -USECS_PER_SECOND) {
|
||||||
|
result = QString::number(usecs / USECS_PER_SECOND, 'f', prec) + 's';
|
||||||
|
} else if (usecs > USECS_PER_MSEC || usecs < -USECS_PER_MSEC) {
|
||||||
result = QString::number(usecs / USECS_PER_MSEC, 'f', prec) + "ms";
|
result = QString::number(usecs / USECS_PER_MSEC, 'f', prec) + "ms";
|
||||||
} else {
|
} else {
|
||||||
result = QString::number(usecs, 'f', prec) + "us";
|
result = QString::number(usecs, 'f', prec) + "us";
|
||||||
|
|
|
@ -187,6 +187,10 @@ inline bool isBetween(int64_t value, int64_t max, int64_t min) { return ((value
|
||||||
inline bool isNaN(float value) { return value != value; }
|
inline bool isNaN(float value) { return value != value; }
|
||||||
|
|
||||||
QString formatUsecTime(float usecs, int prec = 3);
|
QString formatUsecTime(float usecs, int prec = 3);
|
||||||
|
QString formatUsecTime(double usecs, int prec = 3);
|
||||||
|
QString formatUsecTime(quint64 usecs, int prec = 3);
|
||||||
|
QString formatUsecTime(qint64 usecs, int prec = 3);
|
||||||
|
|
||||||
QString formatSecondsElapsed(float seconds);
|
QString formatSecondsElapsed(float seconds);
|
||||||
bool similarStrings(const QString& stringA, const QString& stringB);
|
bool similarStrings(const QString& stringA, const QString& stringB);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue