diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs index 354a47da39..438331a8a7 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs @@ -27,6 +27,7 @@ using System; using System.Collections.Generic; +using System.Text; using NDesk.Options; using OpenSim.Framework; using OpenSim.Framework.Console; @@ -174,6 +175,62 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_udpServer.MaxTotalDripRate != 0 ? string.Format("{0} kbit", m_udpServer.MaxTotalDripRate / 8 / 1000) : "unset"); m_console.Output(cdl.ToString()); + + m_console.OutputFormat("{0}\n", GetServerThrottlesReport(m_udpServer)); + } + + private string GetServerThrottlesReport(LLUDPServer udpServer) + { + StringBuilder report = new StringBuilder(); + + report.AppendFormat( + "{0,8} {1,7} {2,8} {3,7} {4,7} {5,7} {6,7} {7,9} {8,7}\n", + "Max", + "Total", + "Resend", + "Land", + "Wind", + "Cloud", + "Task", + "Texture", + "Asset"); + + report.AppendFormat( + "{0,8} {1,7} {2,8} {3,7} {4,7} {5,7} {6,7} {7,9} {8,7}\n", + "kb/s", + "kb/s", + "kb/s", + "kb/s", + "kb/s", + "kb/s", + "kb/s", + "kb/s", + "kb/s"); + + report.AppendLine(); + + ThrottleRates throttleRates = udpServer.ThrottleRates; + report.AppendFormat( + "{0,8} {1,7} {2,8} {3,7} {4,7} {5,7} {6,7} {7,9} {8,7}", + "-", + (throttleRates.Total * 8) / 1000, + (throttleRates.Resend * 8) / 1000, + (throttleRates.Land * 8) / 1000, + (throttleRates.Wind * 8) / 1000, + (throttleRates.Cloud * 8) / 1000, + (throttleRates.Task * 8) / 1000, + (throttleRates.Texture * 8) / 1000, + (throttleRates.Asset * 8) / 1000); + + return report.ToString(); + } + + protected string GetColumnEntry(string entry, int maxLength, int columnPadding) + { + return string.Format( + "{0,-" + maxLength + "}{1,-" + columnPadding + "}", + entry.Length > maxLength ? entry.Substring(0, maxLength) : entry, + ""); } private void HandleDataCommand(string module, string[] args) diff --git a/OpenSim/Region/OptionalModules/Agent/UDP/Linden/LindenUDPInfoModule.cs b/OpenSim/Region/OptionalModules/Agent/UDP/Linden/LindenUDPInfoModule.cs index 2ef3c4c882..d471062f92 100644 --- a/OpenSim/Region/OptionalModules/Agent/UDP/Linden/LindenUDPInfoModule.cs +++ b/OpenSim/Region/OptionalModules/Agent/UDP/Linden/LindenUDPInfoModule.cs @@ -513,8 +513,6 @@ namespace OpenSim.Region.OptionalModules.UDP.Linden report.AppendLine(); - bool firstClient = true; - lock (m_scenes) { foreach (Scene scene in m_scenes.Values) @@ -526,12 +524,6 @@ namespace OpenSim.Region.OptionalModules.UDP.Linden { LLClientView llClient = client as LLClientView; - if (firstClient) - { - report.AppendLine(GetServerThrottlesReport(llClient.UDPServer)); - firstClient = false; - } - bool isChild = client.SceneAgent.IsChildAgent; if (isChild && !showChildren) return; @@ -569,37 +561,6 @@ namespace OpenSim.Region.OptionalModules.UDP.Linden return report.ToString(); } - - protected string GetServerThrottlesReport(LLUDPServer udpServer) - { - StringBuilder report = new StringBuilder(); - - int columnPadding = 2; - int maxNameLength = 18; - int maxRegionNameLength = 14; - int maxTypeLength = 4; - - string name = "SERVER AGENT RATES"; - - report.Append(GetColumnEntry(name, maxNameLength, columnPadding)); - report.Append(GetColumnEntry("-", maxRegionNameLength, columnPadding)); - report.Append(GetColumnEntry("-", maxTypeLength, columnPadding)); - - ThrottleRates throttleRates = udpServer.ThrottleRates; - report.AppendFormat( - "{0,8} {1,7} {2,8} {3,7} {4,7} {5,7} {6,7} {7,9} {8,7}", - "-", - (throttleRates.Total * 8) / 1000, - (throttleRates.Resend * 8) / 1000, - (throttleRates.Land * 8) / 1000, - (throttleRates.Wind * 8) / 1000, - (throttleRates.Cloud * 8) / 1000, - (throttleRates.Task * 8) / 1000, - (throttleRates.Texture * 8) / 1000, - (throttleRates.Asset * 8) / 1000); - - return report.ToString(); - } /// /// Show client stats data