aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index 703ef6a..bfbe959 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -1125,6 +1125,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1125 private long nticksUnack = 0; 1125 private long nticksUnack = 0;
1126 private long nticksAck = 0; 1126 private long nticksAck = 0;
1127 private long nticksPing = 0; 1127 private long nticksPing = 0;
1128 private int npacksSent = 0;
1129 private int npackNotSent = 0;
1128 1130
1129 private void MonitoredClientOutgoingPacketHandler(IClientAPI client) 1131 private void MonitoredClientOutgoingPacketHandler(IClientAPI client)
1130 { 1132 {
@@ -1177,7 +1179,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1177 watch2.Start(); 1179 watch2.Start();
1178 // Dequeue any outgoing packets that are within the throttle limits 1180 // Dequeue any outgoing packets that are within the throttle limits
1179 if (udpClient.DequeueOutgoing()) 1181 if (udpClient.DequeueOutgoing())
1182 {
1180 m_packetSent = true; 1183 m_packetSent = true;
1184 npacksSent++;
1185 }
1186 else
1187 npackNotSent++;
1188
1181 watch2.Stop(); 1189 watch2.Stop();
1182 avgDequeueTicks = (nticks - 1) / (float)nticks * avgDequeueTicks + (watch2.ElapsedTicks / (float)nticks); 1190 avgDequeueTicks = (nticks - 1) / (float)nticks * avgDequeueTicks + (watch2.ElapsedTicks / (float)nticks);
1183 watch2.Reset(); 1191 watch2.Reset();
@@ -1196,11 +1204,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1196 avgProcessingTicks = (nticks - 1) / (float)nticks * avgProcessingTicks + (watch1.ElapsedTicks / (float)nticks); 1204 avgProcessingTicks = (nticks - 1) / (float)nticks * avgProcessingTicks + (watch1.ElapsedTicks / (float)nticks);
1197 watch1.Reset(); 1205 watch1.Reset();
1198 1206
1199 // reuse this -- it's every 100ms 1207 // reuse this -- it's every ~100ms
1200 if (m_scene.EmergencyMonitoring && nticks % 100 == 0) 1208 if (m_scene.EmergencyMonitoring && nticks % 100 == 0)
1201 { 1209 {
1202 m_log.InfoFormat("[LLUDPSERVER]: avg processing ticks: {0} avg unacked: {1} avg acks: {2} avg ping: {3} avg dequeue: {4} (TickCountRes: {5})", 1210 m_log.InfoFormat("[LLUDPSERVER]: avg processing ticks: {0} avg unacked: {1} avg acks: {2} avg ping: {3} avg dequeue: {4} (TickCountRes: {5} sent: {6} notsent: {7})",
1203 avgProcessingTicks, avgResendUnackedTicks, avgSendAcksTicks, avgSendPingTicks, avgDequeueTicks, TickCountResolution); 1211 avgProcessingTicks, avgResendUnackedTicks, avgSendAcksTicks, avgSendPingTicks, avgDequeueTicks, TickCountResolution, npacksSent, npackNotSent);
1212 npackNotSent = npacksSent = 0;
1204 } 1213 }
1205 1214
1206 } 1215 }