diff options
author | Justin Clark-Casey (justincc) | 2013-11-06 01:02:20 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-11-06 01:02:20 +0000 |
commit | 8e1bf55e7b85f8c92237ef2208a4a2c31ba6153c (patch) | |
tree | 8c8307da8a20b153c6829d26510c06fbfed94def /OpenSim/Region/ClientStack/Linden/UDP | |
parent | Record individual region bot disconnects in pCampbot log (diff) | |
download | opensim-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.
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 23 |
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 | { |