diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 31 |
1 files changed, 31 insertions, 0 deletions
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 | ||