diff --git a/assignment-client/src/entities/EntityServer.cpp b/assignment-client/src/entities/EntityServer.cpp
index 3d00e03b3f..735278bcac 100644
--- a/assignment-client/src/entities/EntityServer.cpp
+++ b/assignment-client/src/entities/EntityServer.cpp
@@ -413,8 +413,8 @@ QString EntityServer::serverSubclassStats() {
// display memory usage stats
statsString += "Entity Server Memory Statistics\r\n";
- statsString += QString().sprintf("EntityTreeElement size... %ld bytes\r\n", sizeof(EntityTreeElement));
- statsString += QString().sprintf(" EntityItem size... %ld bytes\r\n", sizeof(EntityItem));
+ statsString += QString("EntityTreeElement size... %1 bytes\r\n").arg(sizeof(EntityTreeElement));
+ statsString += QString(" EntityItem size... %1 bytes\r\n").arg(sizeof(EntityItem));
statsString += "\r\n\r\n";
statsString += "Entity Server Sending to Viewer Statistics\r\n";
diff --git a/assignment-client/src/octree/OctreeServer.cpp b/assignment-client/src/octree/OctreeServer.cpp
index 4ef220df29..b70ae63a99 100644
--- a/assignment-client/src/octree/OctreeServer.cpp
+++ b/assignment-client/src/octree/OctreeServer.cpp
@@ -403,13 +403,12 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
statsString += "Current Elements in scene:\r\n";
statsString += QString(" Total Elements: %1 nodes\r\n")
.arg(locale.toString((uint)nodeCount).rightJustified(16, ' '));
- statsString += QString().sprintf(" Internal Elements: %s nodes (%5.2f%%)\r\n",
- locale.toString((uint)internalNodeCount).rightJustified(16,
- ' ').toLocal8Bit().constData(),
- (double)((internalNodeCount / (float)nodeCount) * AS_PERCENT));
- statsString += QString().sprintf(" Leaf Elements: %s nodes (%5.2f%%)\r\n",
- locale.toString((uint)leafNodeCount).rightJustified(16, ' ').toLocal8Bit().constData(),
- (double)((leafNodeCount / (float)nodeCount) * AS_PERCENT));
+ statsString += QString(" Internal Elements: %1 nodes (%2%)\r\n")
+ .arg(locale.toString((uint)internalNodeCount).rightJustified(16, ' ').toLocal8Bit().constData())
+ .arg((double)((internalNodeCount / (float)nodeCount) * AS_PERCENT), 5, 'f', 2);
+ statsString += QString(" Leaf Elements: %s nodes (%5.2f%)\r\n")
+ .arg(locale.toString((uint)leafNodeCount).rightJustified(16, ' ').toLocal8Bit().constData())
+ .arg((double)((leafNodeCount / (float)nodeCount) * AS_PERCENT), 5, 'f', 2);
statsString += "\r\n";
statsString += "\r\n";
@@ -442,14 +441,16 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
.arg(locale.toString((uint)howManyThreadsDidCallWriteDatagram(oneSecondAgo)).rightJustified(COLUMN_WIDTH, ' '));
float averageLoopTime = getAverageLoopTime();
- statsString += QString().sprintf(" Average packetLoop() time: %7.2f msecs"
- " samples: %12d \r\n",
- (double)averageLoopTime, _averageLoopTime.getSampleCount());
+ statsString += QString(" Average packetLoop() time: %1 msecs"
+ " samples: %2\r\n")
+ .arg((double)averageLoopTime, 7, 'f', 2)
+ .arg(_averageLoopTime.getSampleCount(), 12);
float averageInsideTime = getAverageInsideTime();
- statsString += QString().sprintf(" Average 'inside' time: %9.2f usecs"
- " samples: %12d \r\n\r\n",
- (double)averageInsideTime, _averageInsideTime.getSampleCount());
+ statsString += QString(" Average 'inside' time: %9.2f usecs"
+ " samples: %12d \r\n\r\n")
+ .arg((double)averageInsideTime, 9, 'f', 2)
+ .arg(_averageInsideTime.getSampleCount(), 12);
// Process Wait
@@ -457,162 +458,183 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
int allWaitTimes = _extraLongProcessWait +_longProcessWait + _shortProcessWait + _noProcessWait;
float averageProcessWaitTime = getAverageProcessWaitTime();
- statsString += QString().sprintf(" Average process lock wait time:"
- " %9.2f usecs samples: %12d \r\n",
- (double)averageProcessWaitTime, allWaitTimes);
+ statsString += QString(" Average process lock wait time:"
+ " %1 usecs samples: %2 \r\n")
+ .arg((double)averageProcessWaitTime, 9, 'g', 2)
+ .arg(allWaitTimes, 12);
float zeroVsTotal = (allWaitTimes > 0) ? ((float)_noProcessWait / (float)allWaitTimes) : 0.0f;
- statsString += QString().sprintf(" No Lock Wait:"
- " (%6.2f%%) samples: %12d \r\n",
- (double)(zeroVsTotal * AS_PERCENT), _noProcessWait);
+ statsString += QString(" No Lock Wait:"
+ " (%1%) samples: %2 \r\n")
+ .arg((double)(zeroVsTotal * AS_PERCENT), 6, 'g', 2)
+ .arg(_noProcessWait, 12);
float shortVsTotal = (allWaitTimes > 0) ? ((float)_shortProcessWait / (float)allWaitTimes) : 0.0f;
- statsString += QString().sprintf(" Avg process lock short wait time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n",
- (double)_averageProcessShortWaitTime.getAverage(),
- (double)(shortVsTotal * AS_PERCENT), _shortProcessWait);
+ statsString += QString(" Avg process lock short wait time:"
+ " %1 usecs (%2%) samples: %3 \r\n")
+ .arg((double)_averageProcessShortWaitTime.getAverage(), 9, 'f', 2)
+ .arg((double)(shortVsTotal * AS_PERCENT), 6, 'f', 2)
+ .arg(_shortProcessWait, 12);
float longVsTotal = (allWaitTimes > 0) ? ((float)_longProcessWait / (float)allWaitTimes) : 0.0f;
- statsString += QString().sprintf(" Avg process lock long wait time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n",
- (double)_averageProcessLongWaitTime.getAverage(),
- (double)(longVsTotal * AS_PERCENT), _longProcessWait);
+ statsString += QString(" Avg process lock long wait time:"
+ " %1 usecs (%2f%) samples: %3 \r\n")
+ .arg(_averageProcessLongWaitTime.getAverage(), 9, 'f', 2)
+ .arg((double)(longVsTotal * AS_PERCENT), 6, 'f', 2)
+ .arg(_longProcessWait, 12);
float extraLongVsTotal = (allWaitTimes > 0) ? ((float)_extraLongProcessWait / (float)allWaitTimes) : 0.0f;
- statsString += QString().sprintf("Avg process lock extralong wait time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n\r\n",
- (double)_averageProcessExtraLongWaitTime.getAverage(),
- (double)(extraLongVsTotal * AS_PERCENT), _extraLongProcessWait);
+ statsString += QString("Avg process lock extralong wait time:"
+ " %1 usecs (%2%) samples: %3 \r\n\r\n")
+ .arg((double)_averageProcessExtraLongWaitTime.getAverage(), 9, 'f', 2)
+ .arg((double)(extraLongVsTotal * AS_PERCENT), 6, 'f', 2)
+ .arg(_extraLongProcessWait, 12);
}
// Tree Wait
int allWaitTimes = _extraLongTreeWait +_longTreeWait + _shortTreeWait + _noTreeWait;
float averageTreeWaitTime = getAverageTreeWaitTime();
- statsString += QString().sprintf(" Average tree lock wait time:"
- " %9.2f usecs samples: %12d \r\n",
- (double)averageTreeWaitTime, allWaitTimes);
+ statsString += QString(" Average tree lock wait time:"
+ " %1 usecs samples: %2 \r\n")
+ .arg((double)averageTreeWaitTime, 9, 'f', 2)
+ .arg(allWaitTimes, 12);
float zeroVsTotal = (allWaitTimes > 0) ? ((float)_noTreeWait / (float)allWaitTimes) : 0.0f;
- statsString += QString().sprintf(" No Lock Wait:"
- " (%6.2f%%) samples: %12d \r\n",
- (double)(zeroVsTotal * AS_PERCENT), _noTreeWait);
+ statsString += QString(" No Lock Wait:"
+ " (%1%) samples: %2 \r\n")
+ .arg((double)(zeroVsTotal * AS_PERCENT), 6, 'f', 2)
+ .arg(_noTreeWait, 12);
float shortVsTotal = (allWaitTimes > 0) ? ((float)_shortTreeWait / (float)allWaitTimes) : 0.0f;
- statsString += QString().sprintf(" Avg tree lock short wait time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n",
- (double)_averageTreeShortWaitTime.getAverage(),
- (double)(shortVsTotal * AS_PERCENT), _shortTreeWait);
+ statsString += QString(" Avg tree lock short wait time:"
+ " %1 usecs (%2%) samples: %3 \r\n")
+ .arg((double)_averageTreeShortWaitTime.getAverage(), 9, 'f', 2)
+ .arg((double)(shortVsTotal * AS_PERCENT), 6, 'f', 2)
+ .arg(_shortTreeWait, 12);
float longVsTotal = (allWaitTimes > 0) ? ((float)_longTreeWait / (float)allWaitTimes) : 0.0f;
- statsString += QString().sprintf(" Avg tree lock long wait time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n",
- (double)_averageTreeLongWaitTime.getAverage(),
- (double)(longVsTotal * AS_PERCENT), _longTreeWait);
+ statsString += QString(" Avg tree lock long wait time:"
+ " %1 usecs (%2f%) samples: %3 \r\n")
+ .arg((double)_averageTreeLongWaitTime.getAverage(), 9, 'f', 2)
+ .arg((double)(longVsTotal * AS_PERCENT), 6, 'g', 2)
+ .arg(_longTreeWait, 12);
float extraLongVsTotal = (allWaitTimes > 0) ? ((float)_extraLongTreeWait / (float)allWaitTimes) : 0.0f;
- statsString += QString().sprintf(" Avg tree lock extra long wait time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n\r\n",
- (double)_averageTreeExtraLongWaitTime.getAverage(),
- (double)(extraLongVsTotal * AS_PERCENT), _extraLongTreeWait);
+ statsString += QString(" Avg tree lock extra long wait time:"
+ " %1 usecs (%2%) samples: %3 \r\n\r\n")
+ .arg((double)_averageTreeExtraLongWaitTime.getAverage(), 9, 'f', 2)
+ .arg((double)(extraLongVsTotal * AS_PERCENT), 6, 'f', 2)
+ .arg(_extraLongTreeWait, 12);
// traverse
float averageTreeTraverseTime = getAverageTreeTraverseTime();
- statsString += QString().sprintf(" Average tree traverse time: %9.2f usecs\r\n\r\n", (double)averageTreeTraverseTime);
+ statsString += QString(" Average tree traverse time: %1 usecs\r\n\r\n")
+ .arg((double)averageTreeTraverseTime, 9, 'f', 2);
// encode
float averageEncodeTime = getAverageEncodeTime();
- statsString += QString().sprintf(" Average encode time: %9.2f usecs\r\n", (double)averageEncodeTime);
+ statsString += QString(" Average encode time: %1 usecs\r\n")
+ .arg((double)averageEncodeTime, 9, 'f', 2);
int allEncodeTimes = _noEncode + _shortEncode + _longEncode + _extraLongEncode;
float zeroVsTotalEncode = (allEncodeTimes > 0) ? ((float)_noEncode / (float)allEncodeTimes) : 0.0f;
- statsString += QString().sprintf(" No Encode:"
- " (%6.2f%%) samples: %12d \r\n",
- (double)(zeroVsTotalEncode * AS_PERCENT), _noEncode);
+ statsString += QString(" No Encode:"
+ " (%1f%) samples: %2 \r\n")
+ .arg((double)(zeroVsTotalEncode * AS_PERCENT), 6, 'f', 2)
+ .arg(_noEncode, 12);
float shortVsTotalEncode = (allEncodeTimes > 0) ? ((float)_shortEncode / (float)allEncodeTimes) : 0.0f;
- statsString += QString().sprintf(" Avg short encode time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n",
- (double)_averageShortEncodeTime.getAverage(),
- (double)(shortVsTotalEncode * AS_PERCENT), _shortEncode);
+ statsString += QString(" Avg short encode time:"
+ " %1 usecs (%2%) samples: %3 \r\n")
+ .arg((double)_averageShortEncodeTime.getAverage(), 9, 'f', 2)
+ .arg((double)(shortVsTotalEncode * AS_PERCENT), 6, 'f', 2)
+ .arg(_shortEncode, 12);
float longVsTotalEncode = (allEncodeTimes > 0) ? ((float)_longEncode / (float)allEncodeTimes) : 0.0f;
- statsString += QString().sprintf(" Avg long encode time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n",
- (double)_averageLongEncodeTime.getAverage(),
- (double)(longVsTotalEncode * AS_PERCENT), _longEncode);
+ statsString += QString(" Avg long encode time:"
+ " %1 usecs (%2%) samples: %3 \r\n")
+ .arg((double)_averageLongEncodeTime.getAverage(), 9, 'f', 2)
+ .arg((double)(longVsTotalEncode * AS_PERCENT), 6, 'f', 2)
+ .arg(_longEncode, 12);
float extraLongVsTotalEncode = (allEncodeTimes > 0) ? ((float)_extraLongEncode / (float)allEncodeTimes) : 0.0f;
- statsString += QString().sprintf(" Avg extra long encode time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n\r\n",
- (double)_averageExtraLongEncodeTime.getAverage(),
- (double)(extraLongVsTotalEncode * AS_PERCENT), _extraLongEncode);
+ statsString += QString(" Avg extra long encode time:"
+ " %1 usecs (%2%) samples: %3 \r\n\r\n")
+ .arg((double)_averageExtraLongEncodeTime.getAverage(), 9, 'f', 2)
+ .arg((double)(extraLongVsTotalEncode * AS_PERCENT), 6, 'f', 2)
+ .arg(_extraLongEncode, 12);
float averageCompressAndWriteTime = getAverageCompressAndWriteTime();
- statsString += QString().sprintf(" Average compress and write time: %9.2f usecs\r\n",
- (double)averageCompressAndWriteTime);
+ statsString += QString(" Average compress and write time: %1 usecs\r\n")
+ .arg((double)averageCompressAndWriteTime, 9, 'f', 2);
int allCompressTimes = _noCompress + _shortCompress + _longCompress + _extraLongCompress;
float zeroVsTotalCompress = (allCompressTimes > 0) ? ((float)_noCompress / (float)allCompressTimes) : 0.0f;
- statsString += QString().sprintf(" No compression:"
- " (%6.2f%%) samples: %12d \r\n",
- (double)(zeroVsTotalCompress * AS_PERCENT), _noCompress);
+ statsString += QString(" No compression:"
+ " (%1%) samples: %2 \r\n")
+ .arg((double)(zeroVsTotalCompress * AS_PERCENT), 6, 'f', 2)
+ .arg(_noCompress, 12);
float shortVsTotalCompress = (allCompressTimes > 0) ? ((float)_shortCompress / (float)allCompressTimes) : 0.0f;
- statsString += QString().sprintf(" Avg short compress time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n",
- (double)_averageShortCompressTime.getAverage(),
- (double)(shortVsTotalCompress * AS_PERCENT), _shortCompress);
+ statsString += QString(" Avg short compress time:"
+ " %1 usecs (%2%) samples: %3 \r\n")
+ .arg((double)_averageShortCompressTime.getAverage(), 9, 'f', 2)
+ .arg((double)(shortVsTotalCompress * AS_PERCENT), 6, 'f', 2)
+ .arg(_shortCompress, 12);
float longVsTotalCompress = (allCompressTimes > 0) ? ((float)_longCompress / (float)allCompressTimes) : 0.0f;
- statsString += QString().sprintf(" Avg long compress time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n",
- (double)_averageLongCompressTime.getAverage(),
- (double)(longVsTotalCompress * AS_PERCENT), _longCompress);
+ statsString += QString(" Avg long compress time:"
+ " %1 usecs (%2%) samples: %3 \r\n")
+ .arg((double)_averageLongCompressTime.getAverage(), 9, 'f', 2)
+ .arg((double)(longVsTotalCompress * AS_PERCENT), 6, 'f', 2)
+ .arg(_longCompress, 12);
float extraLongVsTotalCompress = (allCompressTimes > 0) ? ((float)_extraLongCompress / (float)allCompressTimes) : 0.0f;
- statsString += QString().sprintf(" Avg extra long compress time:"
- " %9.2f usecs (%6.2f%%) samples: %12d \r\n\r\n",
- (double)_averageExtraLongCompressTime.getAverage(),
- (double)(extraLongVsTotalCompress * AS_PERCENT), _extraLongCompress);
+ statsString += QString(" Avg extra long compress time:"
+ " %1 usecs (%2%) samples: %3 \r\n\r\n")
+ .arg((double)_averageExtraLongCompressTime.getAverage(), 9, 'f', 2)
+ .arg((double)(extraLongVsTotalCompress * AS_PERCENT), 6, 'f', 2)
+ .arg(_extraLongCompress, 12);
float averagePacketSendingTime = getAveragePacketSendingTime();
- statsString += QString().sprintf(" Average packet sending time: %9.2f usecs (includes node lock)\r\n",
- (double)averagePacketSendingTime);
+ statsString += QString(" Average packet sending time: %1 usecs (includes node lock)\r\n")
+ .arg((double)averagePacketSendingTime, 9, 'f', 2);
float noVsTotalSend = (_averagePacketSendingTime.getSampleCount() > 0) ?
((float)_noSend / (float)_averagePacketSendingTime.getSampleCount()) : 0.0f;
- statsString += QString().sprintf(" Not sending:"
- " (%6.2f%%) samples: %12d \r\n",
- (double)(noVsTotalSend * AS_PERCENT), _noSend);
+ statsString += QString(" Not sending:"
+ " (%1%) samples: %2 \r\n")
+ .arg((double)(noVsTotalSend * AS_PERCENT), 6, 'f', 2)
+ .arg(_noSend, 12);
float averageNodeWaitTime = getAverageNodeWaitTime();
- statsString += QString().sprintf(" Average node lock wait time: %9.2f usecs\r\n",
- (double)averageNodeWaitTime);
+ statsString += QString(" Average node lock wait time: %1 usecs\r\n")
+ .arg((double)averageNodeWaitTime, 9, 'f', 2);
- statsString += QString().sprintf("--------------------------------------------------------------\r\n");
+ statsString += QString("--------------------------------------------------------------\r\n");
float encodeToInsidePercent = averageInsideTime == 0.0f ? 0.0f : (averageEncodeTime / averageInsideTime) * AS_PERCENT;
- statsString += QString().sprintf(" encode ratio: %5.2f%%\r\n",
- (double)encodeToInsidePercent);
+ statsString += QString(" encode ratio: %1%\r\n")
+ .arg((double)encodeToInsidePercent, 5, 'f', 2);
float waitToInsidePercent = averageInsideTime == 0.0f ? 0.0f
: ((averageTreeWaitTime + averageNodeWaitTime) / averageInsideTime) * AS_PERCENT;
- statsString += QString().sprintf(" waiting ratio: %5.2f%%\r\n",
- (double)waitToInsidePercent);
+ statsString += QString(" waiting ratio: %1%\r\n")
+ .arg((double)waitToInsidePercent, 5, 'f', 2);
float compressAndWriteToInsidePercent = averageInsideTime == 0.0f ? 0.0f
: (averageCompressAndWriteTime / averageInsideTime) * AS_PERCENT;
- statsString += QString().sprintf(" compress and write ratio: %5.2f%%\r\n",
- (double)compressAndWriteToInsidePercent);
+ statsString += QString(" compress and write ratio: %1%\r\n")
+ .arg((double)compressAndWriteToInsidePercent, 5, 'f', 2);
float sendingToInsidePercent = averageInsideTime == 0.0f ? 0.0f
: (averagePacketSendingTime / averageInsideTime) * AS_PERCENT;
- statsString += QString().sprintf(" sending ratio: %5.2f%%\r\n",
- (double)sendingToInsidePercent);
+ statsString += QString(" sending ratio: %1f%\r\n")
+ .arg((double)sendingToInsidePercent, 5, 'f', 2);
@@ -630,23 +652,23 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
statsString += QString(" Total Wasted Bytes: %1 bytes\r\n")
- .arg(locale.toString((uint)totalWastedBytes).rightJustified(COLUMN_WIDTH, ' '));
- statsString += QString().sprintf(" Total OctalCode Bytes: %s bytes (%5.2f%%)\r\n",
- locale.toString((uint)totalBytesOfOctalCodes).rightJustified(COLUMN_WIDTH, ' ').toLocal8Bit().constData(),
- (double)((totalBytesOfOctalCodes / (float)totalOutboundBytes) * AS_PERCENT));
- statsString += QString().sprintf(" Total BitMasks Bytes: %s bytes (%5.2f%%)\r\n",
- locale.toString((uint)totalBytesOfBitMasks).rightJustified(COLUMN_WIDTH, ' ').toLocal8Bit().constData(),
- (double)(((float)totalBytesOfBitMasks / (float)totalOutboundBytes) * AS_PERCENT));
- statsString += QString().sprintf(" Total Color Bytes: %s bytes (%5.2f%%)\r\n",
- locale.toString((uint)totalBytesOfColor).rightJustified(COLUMN_WIDTH, ' ').toLocal8Bit().constData(),
- (double)((totalBytesOfColor / (float)totalOutboundBytes) * AS_PERCENT));
+ .arg(locale.toString((uint)totalWastedBytes).rightJustified(COLUMN_WIDTH, ' '));
+ statsString += QString(" Total OctalCode Bytes: %1 bytes (%2%)\r\n")
+ .arg(locale.toString((uint)totalBytesOfOctalCodes).rightJustified(COLUMN_WIDTH, ' ').toLocal8Bit().constData())
+ .arg((double)((totalBytesOfOctalCodes / (float)totalOutboundBytes) * AS_PERCENT), 5, 'f', 2);
+ statsString += QString(" Total BitMasks Bytes: %1 bytes (%2%)\r\n")
+ .arg(locale.toString((uint)totalBytesOfBitMasks).rightJustified(COLUMN_WIDTH, ' ').toLocal8Bit().constData())
+ .arg((double)(((float)totalBytesOfBitMasks / (float)totalOutboundBytes) * AS_PERCENT), 5, 'f', 2);
+ statsString += QString(" Total Color Bytes: %1 bytes (%2%)\r\n")
+ .arg(locale.toString((uint)totalBytesOfColor).rightJustified(COLUMN_WIDTH, ' ').toLocal8Bit().constData())
+ .arg((double)((totalBytesOfColor / (float)totalOutboundBytes) * AS_PERCENT), 5, 'f', 2);
statsString += "\r\n";
statsString += "\r\n";
// display inbound packet stats
- statsString += QString().sprintf("%s Edit Statistics... [RESET]\r\n",
- getMyServerName());
+ statsString += QString("%1 Edit Statistics... [RESET]\r\n")
+ .arg(getMyServerName());
quint64 currentPacketsInQueue = _octreeInboundPacketProcessor->packetsToProcessCount();
float incomingPPS = _octreeInboundPacketProcessor->getIncomingPPS();
float processedPPS = _octreeInboundPacketProcessor->getProcessedPPS();
@@ -680,8 +702,8 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
.arg(locale.toString((uint)totalPacketsProcessed).rightJustified(COLUMN_WIDTH, ' '));
statsString += QString(" Total Inbound Elements: %1 elements\r\n")
.arg(locale.toString((uint)totalElementsProcessed).rightJustified(COLUMN_WIDTH, ' '));
- statsString += QString().sprintf(" Average Inbound Elements/Packet: %f elements/packet\r\n",
- (double)averageElementsPerPacket);
+ statsString += QString(" Average Inbound Elements/Packet: %f elements/packet\r\n")
+ .arg((double)averageElementsPerPacket);
statsString += QString(" Average Transit Time/Packet: %1 usecs\r\n")
.arg(locale.toString((uint)averageTransitTimePerPacket).rightJustified(COLUMN_WIDTH, ' '));
statsString += QString(" Average Process Time/Packet: %1 usecs\r\n")
@@ -741,8 +763,8 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
.arg(locale.toString((uint)totalPacketsProcessed).rightJustified(COLUMN_WIDTH, ' '));
statsString += QString(" Total Inbound Elements: %1 elements\r\n")
.arg(locale.toString((uint)totalElementsProcessed).rightJustified(COLUMN_WIDTH, ' '));
- statsString += QString().sprintf(" Average Inbound Elements/Packet: %f elements/packet\r\n",
- (double)averageElementsPerPacket);
+ statsString += QString(" Average Inbound Elements/Packet: %f elements/packet\r\n")
+ .arg((double)averageElementsPerPacket);
statsString += QString(" Average Transit Time/Packet: %1 usecs\r\n")
.arg(locale.toString((uint)averageTransitTimePerPacket).rightJustified(COLUMN_WIDTH, ' '));
statsString += QString(" Average Process Time/Packet: %1 usecs\r\n")
@@ -778,7 +800,7 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
// display memory usage stats
statsString += "Current Memory Usage Statistics\r\n";
- statsString += QString().sprintf("\r\nOctreeElement size... %ld bytes\r\n", sizeof(OctreeElement));
+ statsString += QString("\r\nOctreeElement size... %1 bytes\r\n").arg(sizeof(OctreeElement));
statsString += "\r\n";
const char* memoryScaleLabel;
@@ -793,25 +815,29 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
memoryScale = GIGABYTES;
}
- statsString += QString().sprintf("Element Node Memory Usage: %8.2f %s\r\n",
- OctreeElement::getOctreeMemoryUsage() / (double)memoryScale, memoryScaleLabel);
- statsString += QString().sprintf("Octcode Memory Usage: %8.2f %s\r\n",
- OctreeElement::getOctcodeMemoryUsage() / (double)memoryScale, memoryScaleLabel);
- statsString += QString().sprintf("External Children Memory Usage: %8.2f %s\r\n",
- OctreeElement::getExternalChildrenMemoryUsage() / (double)memoryScale,
- memoryScaleLabel);
+ statsString += QString("Element Node Memory Usage: %1 %2\r\n")
+ .arg(OctreeElement::getOctreeMemoryUsage() / (double)memoryScale, 8, 'f', 2)
+ .arg(memoryScaleLabel);
+ statsString += QString("Octcode Memory Usage: %1 %2\r\n")
+ .arg(OctreeElement::getOctcodeMemoryUsage() / (double)memoryScale, 8, 'f', 2)
+ .arg(memoryScaleLabel);
+ statsString += QString("External Children Memory Usage: %1 %2\r\n")
+ .arg(OctreeElement::getExternalChildrenMemoryUsage() / (double)memoryScale, 8, 'f', 2)
+ .arg(memoryScaleLabel);
statsString += " -----------\r\n";
- statsString += QString().sprintf(" Total: %8.2f %s\r\n",
- OctreeElement::getTotalMemoryUsage() / (double)memoryScale, memoryScaleLabel);
+ statsString += QString(" Total: %1 %2\r\n")
+ .arg(OctreeElement::getTotalMemoryUsage() / (double)memoryScale, 8, 'f', 2)
+ .arg(memoryScaleLabel);
statsString += "\r\n";
statsString += "OctreeElement Children Population Statistics...\r\n";
checkSum = 0;
for (int i=0; i <= NUMBER_OF_CHILDREN; i++) {
checkSum += OctreeElement::getChildrenCount(i);
- statsString += QString().sprintf(" Nodes with %d children: %s nodes (%5.2f%%)\r\n", i,
- locale.toString((uint)OctreeElement::getChildrenCount(i)).rightJustified(16, ' ').toLocal8Bit().constData(),
- (double)(((float)OctreeElement::getChildrenCount(i) / (float)nodeCount) * AS_PERCENT));
+ statsString += QString(" Nodes with %1 children: %2 nodes (%3%)\r\n")
+ .arg(i)
+ .arg(locale.toString((uint)OctreeElement::getChildrenCount(i)).rightJustified(16, ' ').toLocal8Bit().constData())
+ .arg((double)(((float)OctreeElement::getChildrenCount(i) / (float)nodeCount) * AS_PERCENT), 5, 'f', 2);
}
statsString += " ----------------------\r\n";
statsString += QString(" Total: %1 nodes\r\n")
@@ -1346,7 +1372,7 @@ QString OctreeServer::getUptime() {
if (hours > 0 || minutes > 0) {
formattedUptime += QString(" ");
}
- formattedUptime += QString().sprintf("%.3f seconds", (double)seconds);
+ formattedUptime += QString("%1 seconds").arg((double)seconds, 0, 'f', 3);
}
return formattedUptime;
}
@@ -1389,7 +1415,7 @@ QString OctreeServer::getFileLoadTime() {
if (hours > 0 || minutes > 0) {
result += QString(" ");
}
- result += QString().sprintf("%.3f seconds", (double)seconds);
+ result += QString("%1 seconds").arg((double)seconds, 0, 'f', 3);
}
} else {
result = "Not yet loaded...";