/// <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); }
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); }
/// <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); }
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)); } }
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)); } }
public void UpdateRequestTime(long requestTimeInMilliseconds) { _ewma.Update(requestTimeInMilliseconds); _ewma.Tick(); }
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)); } } }