Exemple #1
0
 /// <summary>
 /// Mark the occurrence of a given number of events
 /// </summary>
 public void Mark(long n)
 {
     _count.AddAndGet(n);
     _m1Rate.Update(n);
     _m5Rate.Update(n);
     _m15Rate.Update(n);
 }
Exemple #2
0
        public override void Draw()
        {
            var scaleBy  = 100.0f;
            var provided = GetProvided();
            var used     = GetUsed();
            var max      = Math.Max(provided, used);

            while (max >= scaleBy)
            {
                scaleBy *= 2;
            }

            var providedFrac = providedLerp.Update(provided / scaleBy);
            var usedFrac     = usedLerp.Update(used / scaleBy);

            var color = GetBarColor();

            var b    = RenderBounds;
            var rect = new RectangleF(b.X, float2.Lerp(b.Bottom, b.Top, providedFrac),
                                      b.Width, providedFrac * b.Height);

            Game.Renderer.LineRenderer.FillRect(rect, color);

            var indicator = ChromeProvider.GetImage("sidebar-bits",
                                                    RightIndicator ? "right-indicator" : "left-indicator");

            var indicatorX = RightIndicator ? (b.Right - indicator.size.X) : b.Left;

            var pos = new float2(indicatorX, float2.Lerp(b.Bottom, b.Top, usedFrac) - indicator.size.Y / 2);

            Game.Renderer.RgbaSpriteRenderer.DrawSprite(indicator, pos);
        }
Exemple #3
0
 /// <summary>
 ///     Mark the occurrence of a given number of events.
 /// </summary>
 /// <param name="n">the number of events</param>
 public void Mark(long n)
 {
     count.IncrementAndGet(n);
     m1Rate.Update(n);
     m5Rate.Update(n);
     m15Rate.Update(n);
 }
Exemple #4
0
        public override void Draw()
        {
            var scaleBy  = 100.0f;
            var provided = GetProvided();
            var used     = GetUsed();
            var max      = Math.Max(provided, used);

            while (max >= scaleBy)
            {
                scaleBy *= 2;
            }

            var providedFrac = providedLerp.Update(provided / scaleBy);
            var usedFrac     = usedLerp.Update(used / scaleBy);

            var b         = RenderBounds;
            var indicator = ChromeProvider.GetImage(IndicatorCollection, IndicatorImage);

            var color = GetBarColor();

            if (Orientation == ResourceBarOrientation.Vertical)
            {
                var tl = new float2(b.X, (int)float2.Lerp(b.Bottom, b.Top, providedFrac));
                var br = tl + new float2(b.Width, (int)(providedFrac * b.Height));
                Game.Renderer.RgbaColorRenderer.FillRect(tl, br, color);

                var x = (b.Left + b.Right - indicator.Size.X) / 2;
                var y = float2.Lerp(b.Bottom, b.Top, usedFrac) - indicator.Size.Y / 2;
                Game.Renderer.RgbaSpriteRenderer.DrawSprite(indicator, new float2(x, y));
            }
            else
            {
                var tl = new float2(b.X, b.Y);
                var br = tl + new float2((int)(providedFrac * b.Width), b.Height);
                Game.Renderer.RgbaColorRenderer.FillRect(tl, br, color);

                var x = float2.Lerp(b.Left, b.Right, usedFrac) - indicator.Size.X / 2;
                var y = (b.Bottom + b.Top - indicator.Size.Y) / 2;
                Game.Renderer.RgbaSpriteRenderer.DrawSprite(indicator, new float2(x, y));
            }
        }
Exemple #5
0
        public override void Draw()
        {
            var scaleBy  = 100.0f;
            var provided = GetProvided();
            var used     = GetUsed();
            var max      = Math.Max(provided, used);

            while (max >= scaleBy)
            {
                scaleBy *= 2;
            }

            var providedFrac = providedLerp.Update(provided / scaleBy);
            var usedFrac     = usedLerp.Update(used / scaleBy);

            var b         = RenderBounds;
            var indicator = ChromeProvider.GetImage(IndicatorCollection, IndicatorImage);

            var color = GetBarColor();

            if (Orientation == ResourceBarOrientation.Vertical)
            {
                if (Style == ResourceBarStyle.Bevelled)
                {
                    var colorDark = Exts.ColorLerp(0.25f, color, Color.Black);
                    for (var i = 0; i < b.Height; i++)
                    {
                        color = (i - 1 < b.Height / 2) ? color : colorDark;
                        var bottom = new float2(b.Left + i, b.Bottom);
                        var top    = new float2(b.Left + i, b.Bottom + providedFrac * b.Height);

                        // Indent corners
                        if ((i == 0 || i == b.Width - 1) && providedFrac * b.Height > 1)
                        {
                            bottom.Y += 1;
                            top.Y    -= 1;
                        }

                        Game.Renderer.LineRenderer.DrawLine(bottom, top, color, color);
                    }
                }
                else
                {
                    Game.Renderer.LineRenderer.FillRect(new Rectangle(b.X, (int)float2.Lerp(b.Bottom, b.Top, providedFrac),
                                                                      b.Width, (int)(providedFrac * b.Height)), color);
                }

                var x = (b.Left + b.Right - indicator.size.X) / 2;
                var y = float2.Lerp(b.Bottom, b.Top, usedFrac) - indicator.size.Y / 2;
                Game.Renderer.RgbaSpriteRenderer.DrawSprite(indicator, new float2(x, y));
            }
            else
            {
                if (Style == ResourceBarStyle.Bevelled)
                {
                    var colorDark = Exts.ColorLerp(0.25f, color, Color.Black);
                    for (var i = 0; i < b.Height; i++)
                    {
                        color = (i - 1 < b.Height / 2) ? color : colorDark;
                        var left  = new float2(b.Left, b.Top + i);
                        var right = new float2(b.Left + providedFrac * b.Width, b.Top + i);

                        // Indent corners
                        if ((i == 0 || i == b.Height - 1) && providedFrac * b.Width > 1)
                        {
                            left.X  += 1;
                            right.X -= 1;
                        }

                        Game.Renderer.LineRenderer.DrawLine(left, right, color, color);
                    }
                }
                else
                {
                    Game.Renderer.LineRenderer.FillRect(new Rectangle(b.X, b.Y, (int)(providedFrac * b.Width), b.Height), color);
                }

                var x = float2.Lerp(b.Left, b.Right, usedFrac) - indicator.size.X / 2;
                var y = (b.Bottom + b.Top - indicator.size.Y) / 2;
                Game.Renderer.RgbaSpriteRenderer.DrawSprite(indicator, new float2(x, y));
            }
        }
Exemple #6
0
 public void UpdateRequestTime(long requestTimeInMilliseconds)
 {
     _ewma.Update(requestTimeInMilliseconds);
     _ewma.Tick();
 }
Exemple #7
0
 public void Mark(long n)
 {
     _ewma.Update(n);
 }
        public override void Draw()
        {
            /*TODO: Calculate the heigh, middle and low percent and show*/
            var scaleBy  = 100.0f;
            var provided = GetProvided();
            var used     = GetUsed();
            var max      = Math.Max(provided, used);

            while (max >= scaleBy)
            {
                scaleBy *= 2;
            }

            var providedFrac = providedLerp.Update(provided / scaleBy);
            var usedFrac     = usedLerp.Update(used / scaleBy);

            var    b           = RenderBounds;
            var    powerHeigh  = ChromeProvider.GetImage(PowerImageCollection, PowerHeighImage);
            var    powerMiddle = ChromeProvider.GetImage(PowerImageCollection, PowerMiddleImage);
            var    powerLow    = ChromeProvider.GetImage(PowerImageCollection, PowerLowImage);
            Sprite s           = null;
            var    powerState  = GetPowerState();

            if (Orientation == ResourceBarOrientation.Vertical)
            {
                var tl = new float2(b.X, (int)float2.Lerp(b.Bottom, b.Top, providedFrac));
                switch (powerState)
                {
                case "low":
                    s = powerLow;
                    break;

                case "middle":
                    s = powerMiddle;
                    break;

                case "heigh":
                    s = powerHeigh;
                    break;
                }
                var x        = (b.Left + b.Right - s.Size.X) / 2;
                var y        = float2.Lerp(b.Bottom, b.Top, usedFrac) - s.Size.Y / 2;
                var totalY   = b.Bottom;
                var totalNum = (totalY - y) / s.Size.Y;
                for (int i = 0; i < totalNum; i++)
                {
                    float lastY = y + i * s.Size.Y;
                    Game.Renderer.RgbaSpriteRenderer.DrawSprite(s, new float2(x, lastY));
                }
            }
            else
            {
                var tl = new float2(b.X, b.Y);
                switch (powerState)
                {
                case "low":
                    s = powerLow;
                    break;

                case "middle":
                    s = powerMiddle;
                    break;

                case "heigh":
                    s = powerHeigh;
                    break;
                }
                var x        = float2.Lerp(b.Left, b.Right, usedFrac) - s.Size.X / 2;
                var totalX   = b.Left;
                var totalNum = (totalX - x) / s.Size.X;
                for (int i = 0; i < totalNum; i++)
                {
                    float lastX = x + i * s.Size.X;
                    Game.Renderer.RgbaSpriteRenderer.DrawSprite(s, new float2(x, lastX));
                }
            }
        }