From d616f75d9a5f86da911a7da367b1a911d3d290f0 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Sun, 29 Jun 2014 18:49:27 +0300 Subject: In "show throttles", show the maximum drip rate. This shows whether a client is being throttled due to past poor performance. --- OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs | 3 ++- OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) (limited to 'OpenSim/Region/ClientStack') diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs index 51433cb..39c9cb1 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs @@ -202,7 +202,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Create a token bucket throttle for this client that has the scene token bucket as a parent m_throttleClient = new AdaptiveTokenBucket(parentThrottle, rates.Total, rates.AdaptiveThrottlesEnabled); - // Create a token bucket throttle for the total categary with the client bucket as a throttle + // Create a token bucket throttle for the total category with the client bucket as a throttle m_throttleCategory = new TokenBucket(m_throttleClient, 0); // Create an array of token buckets for this clients different throttle categories m_throttleCategories = new TokenBucket[THROTTLE_CATEGORY_COUNT]; @@ -262,6 +262,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_info.assetThrottle = (int)m_throttleCategories[(int)ThrottleOutPacketType.Asset].DripRate; m_info.textureThrottle = (int)m_throttleCategories[(int)ThrottleOutPacketType.Texture].DripRate; m_info.totalThrottle = (int)m_throttleCategory.DripRate; + m_info.maxThrottle = (int)m_throttleClient.MaxDripRate; return m_info; } diff --git a/OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs b/OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs index 4c33db5..0d4f549 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) Contributors, http://opensimulator.org/ * See CONTRIBUTORS.TXT for a full list of copyright holders. * @@ -335,13 +335,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP // greater than this. // protected Int64 m_maxDripRate = 0; - protected Int64 MaxDripRate + public Int64 MaxDripRate { get { return (m_maxDripRate == 0 ? m_totalDripRequest : m_maxDripRate); } - set { m_maxDripRate = (value == 0 ? 0 : Math.Max(value,m_minimumFlow)); } + protected set { m_maxDripRate = (value == 0 ? 0 : Math.Max(value,m_minimumFlow)); } } - - private bool m_enabled = false; + + public bool Enabled { get; private set; } // // @@ -362,9 +362,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP // public AdaptiveTokenBucket(TokenBucket parent, Int64 maxDripRate, bool enabled) : base(parent,maxDripRate) { - m_enabled = enabled; + Enabled = enabled; - if (m_enabled) + if (Enabled) { // m_log.DebugFormat("[TOKENBUCKET] Adaptive throttle enabled"); MaxDripRate = maxDripRate; @@ -378,7 +378,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP public void ExpirePackets(Int32 count) { // m_log.WarnFormat("[ADAPTIVEBUCKET] drop {0} by {1} expired packets",AdjustedDripRate,count); - if (m_enabled) + if (Enabled) AdjustedDripRate = (Int64) (AdjustedDripRate / Math.Pow(2,count)); } @@ -387,7 +387,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // public void AcknowledgePackets(Int32 count) { - if (m_enabled) + if (Enabled) AdjustedDripRate = AdjustedDripRate + count; } } -- cgit v1.1