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, | ||||
|                     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( | ||||
|                 new Stat( | ||||
|                     "OutgoingUDPSendsCount", | ||||
|  | @ -317,6 +330,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|         /// </summary> | ||||
|         internal int PacketsSentCount { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Record how many incoming packets are indicated as resends by clients. | ||||
|         /// </summary> | ||||
|         internal int IncomingPacketsResentCount { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Record how many inbound packets could not be recognized as LLUDP packets. | ||||
|         /// </summary> | ||||
|  | @ -1467,6 +1485,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
| 
 | ||||
|             #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 | ||||
|             if (packet.Header.Reliable && !udpClient.PacketArchive.TryEnqueue(packet.Header.Sequence)) | ||||
|             { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)