some debugging

This commit is contained in:
Brad Hefta-Gaub 2016-04-21 10:32:22 -07:00
parent 5244274ae4
commit ddf5b0f316
5 changed files with 68 additions and 12 deletions

View file

@ -515,7 +515,9 @@ void OctreeStatsDialog::showOctreeServersOfType(int& serverCount, NodeType_t ser
QString incomingLikelyLostString = locale.toString((uint)seqStats.getLost());
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 incomingPingTimeString = locale.toString(node->getPingMs());
QString incomingClockSkewString = locale.toString(clockSkewInMS);
@ -536,7 +538,9 @@ void OctreeStatsDialog::showOctreeServersOfType(int& serverCount, NodeType_t ser
" Average Ping Time: " << qPrintable(incomingPingTimeString) << " msecs";
serverDetails << "<br/>" <<
" Average Clock Skew: " << qPrintable(incomingClockSkewString) << " msecs";
" Average Clock Skew: " << qPrintable(incomingClockSkewString) << " msecs" <<
" [" << qPrintable(formattedClockSkewString) << "]";
serverDetails << "<br/>" << "Incoming" <<
" Bytes: " << qPrintable(incomingBytesString) <<

View file

@ -158,9 +158,10 @@ void NodeList::timePingReply(ReceivedMessage& message, const SharedNodePointer&
sendingNode->setPingMs(pingTime / 1000);
sendingNode->updateClockSkewUsec(clockSkew);
const bool wantDebug = false;
const bool wantDebug = true;
if (wantDebug) {
auto averageClockSkew = sendingNode->getClockSkewUsec();
qCDebug(networking) << "PING_REPLY from node " << *sendingNode << "\n" <<
" now: " << now << "\n" <<
" ourTime: " << ourOriginalTime << "\n" <<
@ -168,8 +169,8 @@ void NodeList::timePingReply(ReceivedMessage& message, const SharedNodePointer&
" oneWayFlightTime: " << oneWayFlightTime << "\n" <<
" othersReplyTime: " << othersReplyTime << "\n" <<
" othersExprectedReply: " << othersExpectedReply << "\n" <<
" clockSkew: " << clockSkew << "\n" <<
" average clockSkew: " << sendingNode->getClockSkewUsec();
" clockSkew: " << clockSkew << "[" << formatUsecTime(clockSkew) << "]" << "\n" <<
" average clockSkew: " << averageClockSkew << "[" << formatUsecTime(averageClockSkew) << "]";
}
}

View file

@ -747,7 +747,7 @@ const char* OctreeSceneStats::getItemValue(Item item) {
}
void OctreeSceneStats::trackIncomingOctreePacket(ReceivedMessage& message, bool wasStatsPacket, qint64 nodeClockSkewUsec) {
const bool wantExtraDebugging = false;
const bool wantExtraDebugging = true;
// skip past the flags
message.seek(sizeof(OCTREE_PACKET_FLAGS));
@ -768,6 +768,7 @@ void OctreeSceneStats::trackIncomingOctreePacket(ReceivedMessage& message, bool
qCDebug(octree) << "sentAt:" << sentAt << " usecs";
qCDebug(octree) << "arrivedAt:" << arrivedAt << " usecs";
qCDebug(octree) << "nodeClockSkewUsec:" << nodeClockSkewUsec << " usecs";
qCDebug(octree) << "node Clock Skew:" << formatUsecTime(nodeClockSkewUsec);
qCDebug(octree) << "flightTime:" << flightTime << " usecs";
}

View file

@ -621,16 +621,62 @@ void debug::checkDeadBeef(void* memoryVoid, int size) {
assert(memcmp((unsigned char*)memoryVoid, DEADBEEF, std::min(size, DEADBEEF_SIZE)) != 0);
}
QString formatUsecTime(float usecs, int prec) {
static const quint64 SECONDS_PER_MINUTE = 60;
static const quint64 USECS_PER_MINUTE = USECS_PER_SECOND * SECONDS_PER_MINUTE;
QString formatUsecTime(quint64 usecs, int prec) {
static const quint64 USECS_PER_MINUTE = USECS_PER_SECOND * 60;
static const quint64 USECS_PER_HOUR = USECS_PER_MINUTE * 60;
QString result;
if (usecs > USECS_PER_MINUTE) {
result = QString::number(usecs / USECS_PER_MINUTE, 'f', prec) + "min";
if (usecs > USECS_PER_HOUR) {
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) {
result = QString::number(usecs / USECS_PER_SECOND, 'f', prec) + 's';
result = QString::number(usecs / USECS_PER_SECOND) + 's';
} 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";
} else {
result = QString::number(usecs, 'f', prec) + "us";

View file

@ -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; }
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);
bool similarStrings(const QString& stringA, const QString& stringB);