diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 31 |
2 files changed, 40 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index d2fa837..00fa5db 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -3773,7 +3773,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3773 | m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber); | 3773 | m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber); |
3774 | 3774 | ||
3775 | // Count this as a resent packet since we are going to requeue all of the updates contained in it | 3775 | // Count this as a resent packet since we are going to requeue all of the updates contained in it |
3776 | Interlocked.Increment(ref m_udpClient.PacketsResent); | 3776 | Interlocked.Increment(ref m_udpClient.PacketsResent); |
3777 | |||
3778 | // We're not going to worry about interlock yet since its not currently critical that this total count | ||
3779 | // is 100% correct | ||
3780 | m_udpServer.PacketsResentCount++; | ||
3777 | 3781 | ||
3778 | foreach (EntityUpdate update in updates) | 3782 | foreach (EntityUpdate update in updates) |
3779 | ResendPrimUpdate(update); | 3783 | ResendPrimUpdate(update); |
@@ -4335,6 +4339,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4335 | // Count this as a resent packet since we are going to requeue all of the updates contained in it | 4339 | // Count this as a resent packet since we are going to requeue all of the updates contained in it |
4336 | Interlocked.Increment(ref m_udpClient.PacketsResent); | 4340 | Interlocked.Increment(ref m_udpClient.PacketsResent); |
4337 | 4341 | ||
4342 | // We're not going to worry about interlock yet since its not currently critical that this total count | ||
4343 | // is 100% correct | ||
4344 | m_udpServer.PacketsResentCount++; | ||
4345 | |||
4338 | foreach (ObjectPropertyUpdate update in updates) | 4346 | foreach (ObjectPropertyUpdate update in updates) |
4339 | ResendPropertyUpdate(update); | 4347 | ResendPropertyUpdate(update); |
4340 | } | 4348 | } |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 218c2b2..3bd1ef1 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -147,6 +147,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
147 | 147 | ||
148 | StatsManager.RegisterStat( | 148 | StatsManager.RegisterStat( |
149 | new Stat( | 149 | new Stat( |
150 | "OutgoingPacketsResentCount", | ||
151 | "Number of packets resent because a client did not acknowledge receipt", | ||
152 | "", | ||
153 | "", | ||
154 | "clientstack", | ||
155 | scene.Name, | ||
156 | StatType.Pull, | ||
157 | MeasuresOfInterest.AverageChangeOverTime, | ||
158 | stat => stat.Value = m_udpServer.PacketsResentCount, | ||
159 | StatVerbosity.Debug)); | ||
160 | |||
161 | StatsManager.RegisterStat( | ||
162 | new Stat( | ||
150 | "AverageUDPProcessTime", | 163 | "AverageUDPProcessTime", |
151 | "Average number of milliseconds taken to process each incoming UDP packet in a sample.", | 164 | "Average number of milliseconds taken to process each incoming UDP packet in a sample.", |
152 | "This is for initial receive processing which is separate from the later client LL packet processing stage.", | 165 | "This is for initial receive processing which is separate from the later client LL packet processing stage.", |
@@ -295,6 +308,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
295 | public Socket Server { get { return null; } } | 308 | public Socket Server { get { return null; } } |
296 | 309 | ||
297 | /// <summary> | 310 | /// <summary> |
311 | /// Record how many packets have been resent | ||
312 | /// </summary> | ||
313 | internal int PacketsResentCount { get; set; } | ||
314 | |||
315 | /// <summary> | ||
316 | /// Record how many packets have been sent | ||
317 | /// </summary> | ||
318 | internal int PacketsSentCount { get; set; } | ||
319 | |||
320 | /// <summary> | ||
298 | /// Record how many inbound packets could not be recognized as LLUDP packets. | 321 | /// Record how many inbound packets could not be recognized as LLUDP packets. |
299 | /// </summary> | 322 | /// </summary> |
300 | public int IncomingMalformedPacketCount { get; private set; } | 323 | public int IncomingMalformedPacketCount { get; private set; } |
@@ -1214,6 +1237,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1214 | else | 1237 | else |
1215 | { | 1238 | { |
1216 | Interlocked.Increment(ref udpClient.PacketsResent); | 1239 | Interlocked.Increment(ref udpClient.PacketsResent); |
1240 | |||
1241 | // We're not going to worry about interlock yet since its not currently critical that this total count | ||
1242 | // is 100% correct | ||
1243 | PacketsResentCount++; | ||
1217 | } | 1244 | } |
1218 | 1245 | ||
1219 | #endregion Sequence Number Assignment | 1246 | #endregion Sequence Number Assignment |
@@ -1221,6 +1248,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1221 | // Stats tracking | 1248 | // Stats tracking |
1222 | Interlocked.Increment(ref udpClient.PacketsSent); | 1249 | Interlocked.Increment(ref udpClient.PacketsSent); |
1223 | 1250 | ||
1251 | // We're not going to worry about interlock yet since its not currently critical that this total count | ||
1252 | // is 100% correct | ||
1253 | PacketsSentCount++; | ||
1254 | |||
1224 | // Put the UDP payload on the wire | 1255 | // Put the UDP payload on the wire |
1225 | AsyncBeginSend(buffer); | 1256 | AsyncBeginSend(buffer); |
1226 | 1257 | ||