aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-11-06 01:02:20 +0000
committerJustin Clark-Casey (justincc)2013-11-06 01:02:20 +0000
commit8e1bf55e7b85f8c92237ef2208a4a2c31ba6153c (patch)
tree8c8307da8a20b153c6829d26510c06fbfed94def
parentRecord individual region bot disconnects in pCampbot log (diff)
downloadopensim-SC_OLD-8e1bf55e7b85f8c92237ef2208a4a2c31ba6153c.zip
opensim-SC_OLD-8e1bf55e7b85f8c92237ef2208a4a2c31ba6153c.tar.gz
opensim-SC_OLD-8e1bf55e7b85f8c92237ef2208a4a2c31ba6153c.tar.bz2
opensim-SC_OLD-8e1bf55e7b85f8c92237ef2208a4a2c31ba6153c.tar.xz
Add IncomingPacketsResentCount clientstack statistics
This records how many packets were indicated to be resends by clients Not 100% reliable since clients can lie about resends, but usually would indicate if clients are not receiving UDP acks at all or in a manner they consider timely.
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 3bd1ef1..c0a4e56 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -134,6 +134,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
134 134
135 StatsManager.RegisterStat( 135 StatsManager.RegisterStat(
136 new Stat( 136 new Stat(
137 "IncomingPacketsResentCount",
138 "Number of inbound packets that clients indicate are resends.",
139 "",
140 "",
141 "clientstack",
142 scene.Name,
143 StatType.Pull,
144 MeasuresOfInterest.AverageChangeOverTime,
145 stat => stat.Value = m_udpServer.IncomingPacketsResentCount,
146 StatVerbosity.Debug));
147
148 StatsManager.RegisterStat(
149 new Stat(
137 "OutgoingUDPSendsCount", 150 "OutgoingUDPSendsCount",
138 "Number of UDP sends performed", 151 "Number of UDP sends performed",
139 "", 152 "",
@@ -318,6 +331,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
318 internal int PacketsSentCount { get; set; } 331 internal int PacketsSentCount { get; set; }
319 332
320 /// <summary> 333 /// <summary>
334 /// Record how many incoming packets are indicated as resends by clients.
335 /// </summary>
336 internal int IncomingPacketsResentCount { get; set; }
337
338 /// <summary>
321 /// Record how many inbound packets could not be recognized as LLUDP packets. 339 /// Record how many inbound packets could not be recognized as LLUDP packets.
322 /// </summary> 340 /// </summary>
323 public int IncomingMalformedPacketCount { get; private set; } 341 public int IncomingMalformedPacketCount { get; private set; }
@@ -1467,6 +1485,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1467 1485
1468 #region Incoming Packet Accounting 1486 #region Incoming Packet Accounting
1469 1487
1488 // We're not going to worry about interlock yet since its not currently critical that this total count
1489 // is 100% correct
1490 if (packet.Header.Resent)
1491 IncomingPacketsResentCount++;
1492
1470 // Check the archive of received reliable packet IDs to see whether we already received this packet 1493 // Check the archive of received reliable packet IDs to see whether we already received this packet
1471 if (packet.Header.Reliable && !udpClient.PacketArchive.TryEnqueue(packet.Header.Sequence)) 1494 if (packet.Header.Reliable && !udpClient.PacketArchive.TryEnqueue(packet.Header.Sequence))
1472 { 1495 {