Move information about "server agent rate" throttles into "show server throttles" command rather than "show throttles"

THis allows us to see the rates when no client is connected to the region.
ghosts
Justin Clark-Casey (justincc) 2014-10-06 22:18:54 +01:00
parent 026df644b5
commit 97e25a0f45
2 changed files with 57 additions and 39 deletions

View File

@ -27,6 +27,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using NDesk.Options; using NDesk.Options;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Framework.Console; 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_udpServer.MaxTotalDripRate != 0 ? string.Format("{0} kbit", m_udpServer.MaxTotalDripRate / 8 / 1000) : "unset");
m_console.Output(cdl.ToString()); 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) private void HandleDataCommand(string module, string[] args)

View File

@ -513,8 +513,6 @@ namespace OpenSim.Region.OptionalModules.UDP.Linden
report.AppendLine(); report.AppendLine();
bool firstClient = true;
lock (m_scenes) lock (m_scenes)
{ {
foreach (Scene scene in m_scenes.Values) foreach (Scene scene in m_scenes.Values)
@ -526,12 +524,6 @@ namespace OpenSim.Region.OptionalModules.UDP.Linden
{ {
LLClientView llClient = client as LLClientView; LLClientView llClient = client as LLClientView;
if (firstClient)
{
report.AppendLine(GetServerThrottlesReport(llClient.UDPServer));
firstClient = false;
}
bool isChild = client.SceneAgent.IsChildAgent; bool isChild = client.SceneAgent.IsChildAgent;
if (isChild && !showChildren) if (isChild && !showChildren)
return; return;
@ -570,37 +562,6 @@ namespace OpenSim.Region.OptionalModules.UDP.Linden
return report.ToString(); 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();
}
/// <summary> /// <summary>
/// Show client stats data /// Show client stats data
/// </summary> /// </summary>