diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 15 |
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 | } |