From c8f5add2fc2c33437a0b3162daaea8816696cd74 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 6 Oct 2014 20:34:17 +0100
Subject: Add "show server throttles" command for showing server specific
information about throttles
This is separate from the user-oriented "show throttles" command since one will often only want to know about varying client throttle settings.
Currently displays max scene throttle and adaptive throttles config if set.
---
.../Region/ClientStack/Linden/UDP/LLUDPServer.cs | 5 +++++
.../ClientStack/Linden/UDP/LLUDPServerCommands.cs | 21 +++++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 664e23e..9dfe0e9 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -247,6 +247,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
//private UDPClientCollection m_clients = new UDPClientCollection();
/// Bandwidth throttle for this UDP server
protected TokenBucket m_throttle;
+
+ ///
+ /// Gets the maximum total drip rate allowed to all clients.
+ ///
+ public long MaxTotalDripRate { get { return m_throttle.RequestedDripRate; } }
/// Bandwidth throttle rates for this UDP server
public ThrottleRates ThrottleRates { get; private set; }
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs
index 5b23080..354a47d 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs
@@ -48,6 +48,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public void Register()
{
m_console.Commands.AddCommand(
+ "Comms", false, "show server throttles",
+ "show server throttles",
+ "Show information about server throttles",
+ HandleShowServerThrottlesCommand);
+
+ m_console.Commands.AddCommand(
"Debug", false, "debug lludp packet",
"debug lludp packet [--default | --all] [ ]",
"Turn on packet debugging. This logs information when the client stack hands a processed packet off to downstream code or when upstream code first requests that a certain packet be sent.",
@@ -155,6 +161,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP
HandleAgentUpdateCommand);
}
+ private void HandleShowServerThrottlesCommand(string module, string[] args)
+ {
+ if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene)
+ return;
+
+ m_console.OutputFormat("Throttles for {0}", m_udpServer.Scene.Name);
+ ConsoleDisplayList cdl = new ConsoleDisplayList();
+ cdl.AddRow("Adaptive throttles", m_udpServer.ThrottleRates.AdaptiveThrottlesEnabled);
+ cdl.AddRow(
+ "Max scene throttle",
+ m_udpServer.MaxTotalDripRate != 0 ? string.Format("{0} kbit", m_udpServer.MaxTotalDripRate / 8 / 1000) : "unset");
+
+ m_console.Output(cdl.ToString());
+ }
+
private void HandleDataCommand(string module, string[] args)
{
if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != m_udpServer.Scene)
--
cgit v1.1