aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-07-29 23:18:29 +0100
committerJustin Clark-Casey (justincc)2013-07-29 23:18:29 +0100
commit8efe4bfc2ed7086e9fdf4812297e6525f955f6ac (patch)
tree4899da4147d32f79654aab32f33e7f0754b6144f /OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
parentGroups: Better warning messages to the user. (diff)
downloadopensim-SC-8efe4bfc2ed7086e9fdf4812297e6525f955f6ac.zip
opensim-SC-8efe4bfc2ed7086e9fdf4812297e6525f955f6ac.tar.gz
opensim-SC-8efe4bfc2ed7086e9fdf4812297e6525f955f6ac.tar.bz2
opensim-SC-8efe4bfc2ed7086e9fdf4812297e6525f955f6ac.tar.xz
Make "abnormal thread terminations" into "ClientLogoutsDueToNoReceives" and add this to the StatsManager
This reflects the actual use of this stat - it hasn't recorded general exceptions for some time. Make the sim extra stats collector draw the data from the stats manager rather than maintaing this data itself.
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs26
1 files changed, 21 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 25e10be..9e6a401 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -69,9 +69,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
69 69
70 StatsManager.RegisterStat( 70 StatsManager.RegisterStat(
71 new Stat( 71 new Stat(
72 "ClientLogoutsDueToNoReceives",
73 "Number of times a client has been logged out because no packets were received before the timeout.",
74 "",
75 "",
76 "clientstack",
77 scene.Name,
78 StatType.Pull,
79 MeasuresOfInterest.None,
80 stat => stat.Value = m_udpServer.ClientLogoutsDueToNoReceives,
81 StatVerbosity.Debug));
82
83 StatsManager.RegisterStat(
84 new Stat(
72 "IncomingUDPReceivesCount", 85 "IncomingUDPReceivesCount",
73 "Number of UDP receives performed", 86 "Number of UDP receives performed",
74 "Number of UDP receives performed", 87 "",
75 "", 88 "",
76 "clientstack", 89 "clientstack",
77 scene.Name, 90 scene.Name,
@@ -84,7 +97,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
84 new Stat( 97 new Stat(
85 "IncomingPacketsProcessedCount", 98 "IncomingPacketsProcessedCount",
86 "Number of inbound LL protocol packets processed", 99 "Number of inbound LL protocol packets processed",
87 "Number of inbound LL protocol packets processed", 100 "",
88 "", 101 "",
89 "clientstack", 102 "clientstack",
90 scene.Name, 103 scene.Name,
@@ -97,7 +110,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
97 new Stat( 110 new Stat(
98 "OutgoingUDPSendsCount", 111 "OutgoingUDPSendsCount",
99 "Number of UDP sends performed", 112 "Number of UDP sends performed",
100 "Number of UDP sends performed", 113 "",
101 "", 114 "",
102 "clientstack", 115 "clientstack",
103 scene.Name, 116 scene.Name,
@@ -149,6 +162,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
149 /// <summary>Maximum transmission unit, or UDP packet size, for the LLUDP protocol</summary> 162 /// <summary>Maximum transmission unit, or UDP packet size, for the LLUDP protocol</summary>
150 public const int MTU = 1400; 163 public const int MTU = 1400;
151 164
165 /// <summary>Number of forced client logouts due to no receipt of packets before timeout.</summary>
166 public int ClientLogoutsDueToNoReceives { get; private set; }
167
152 /// <summary> 168 /// <summary>
153 /// Default packet debug level given to new clients 169 /// Default packet debug level given to new clients
154 /// </summary> 170 /// </summary>
@@ -1037,7 +1053,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1037 timeoutTicks = m_pausedAckTimeout; 1053 timeoutTicks = m_pausedAckTimeout;
1038 1054
1039 if (client.IsActive && 1055 if (client.IsActive &&
1040 (Environment.TickCount & Int32.MaxValue) - udpClient.TickLastPacketReceived > timeoutTicks) 1056 (Environment.TickCount & Int32.MaxValue) - udpClient.TickLastPacketReceived > -1)
1041 { 1057 {
1042 // We must set IsActive synchronously so that we can stop the packet loop reinvoking this method, even 1058 // We must set IsActive synchronously so that we can stop the packet loop reinvoking this method, even
1043 // though it's set later on by LLClientView.Close() 1059 // though it's set later on by LLClientView.Close()
@@ -1778,7 +1794,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1778 "[LLUDPSERVER]: Ack timeout, disconnecting {0} agent for {1} in {2}", 1794 "[LLUDPSERVER]: Ack timeout, disconnecting {0} agent for {1} in {2}",
1779 client.SceneAgent.IsChildAgent ? "child" : "root", client.Name, m_scene.RegionInfo.RegionName); 1795 client.SceneAgent.IsChildAgent ? "child" : "root", client.Name, m_scene.RegionInfo.RegionName);
1780 1796
1781 StatsManager.SimExtraStats.AddAbnormalClientThreadTermination(); 1797 ClientLogoutsDueToNoReceives++;
1782 1798
1783 if (!client.SceneAgent.IsChildAgent) 1799 if (!client.SceneAgent.IsChildAgent)
1784 client.Kick("Simulator logged you out due to connection timeout"); 1800 client.Kick("Simulator logged you out due to connection timeout");