From 026df644b5e21e0a274c27d71a72607e3878f4e6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 6 Oct 2014 20:34:17 +0100 Subject: [PATCH] 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. --- .../ClientStack/Linden/UDP/LLUDPServer.cs | 5 +++++ .../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 664e23e55f..9dfe0e98b5 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 5b23080327..354a47da39 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServerCommands.cs @@ -47,6 +47,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] [ ]", @@ -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)