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.link-sitting
							parent
							
								
									caf2abe311
								
							
						
					
					
						commit
						8e1bf55e7b
					
				|  | @ -132,6 +132,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP | ||||||
|                     stat => stat.Value = m_udpServer.IncomingOrphanedPacketCount, |                     stat => stat.Value = m_udpServer.IncomingOrphanedPacketCount, | ||||||
|                     StatVerbosity.Info)); |                     StatVerbosity.Info)); | ||||||
| 
 | 
 | ||||||
|  |             StatsManager.RegisterStat( | ||||||
|  |                 new Stat( | ||||||
|  |                     "IncomingPacketsResentCount", | ||||||
|  |                     "Number of inbound packets that clients indicate are resends.", | ||||||
|  |                     "", | ||||||
|  |                     "", | ||||||
|  |                     "clientstack", | ||||||
|  |                     scene.Name, | ||||||
|  |                     StatType.Pull, | ||||||
|  |                     MeasuresOfInterest.AverageChangeOverTime, | ||||||
|  |                     stat => stat.Value = m_udpServer.IncomingPacketsResentCount, | ||||||
|  |                     StatVerbosity.Debug)); | ||||||
|  | 
 | ||||||
|             StatsManager.RegisterStat( |             StatsManager.RegisterStat( | ||||||
|                 new Stat( |                 new Stat( | ||||||
|                     "OutgoingUDPSendsCount", |                     "OutgoingUDPSendsCount", | ||||||
|  | @ -317,6 +330,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         internal int PacketsSentCount { get; set; } |         internal int PacketsSentCount { get; set; } | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Record how many incoming packets are indicated as resends by clients. | ||||||
|  |         /// </summary> | ||||||
|  |         internal int IncomingPacketsResentCount { get; set; } | ||||||
|  | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Record how many inbound packets could not be recognized as LLUDP packets. |         /// Record how many inbound packets could not be recognized as LLUDP packets. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|  | @ -1467,6 +1485,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | ||||||
| 
 | 
 | ||||||
|             #region Incoming Packet Accounting |             #region Incoming Packet Accounting | ||||||
| 
 | 
 | ||||||
|  |             // We're not going to worry about interlock yet since its not currently critical that this total count | ||||||
|  |             // is 100% correct | ||||||
|  |             if (packet.Header.Resent) | ||||||
|  |                 IncomingPacketsResentCount++; | ||||||
|  | 
 | ||||||
|             // Check the archive of received reliable packet IDs to see whether we already received this packet |             // Check the archive of received reliable packet IDs to see whether we already received this packet | ||||||
|             if (packet.Header.Reliable && !udpClient.PacketArchive.TryEnqueue(packet.Header.Sequence)) |             if (packet.Header.Reliable && !udpClient.PacketArchive.TryEnqueue(packet.Header.Sequence)) | ||||||
|             { |             { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)