public RouterTile( DrawingElement drawing, RoutingNode router, DashboardConfiguration.NodeConfiguration nodeConfiguration, TrafficIndicatorConfiguration trafficIndicatorConfiguration) : base( drawing, nodeConfiguration?.Title ?? "Router", "router", router.Offline, 2, router.Name) { _drawing = drawing; _router = router; _trafficIndicatorThresholds = trafficIndicatorConfiguration.Thresholds; LinkUrl = "/ui/node?name=" + router.Name; var details = new List <string>(); if (router.Outputs != null) { _outputDrawings = router.Outputs .Select(o => new RouterOutputDrawing(drawing, o, o.RouteTo, null, router.Offline || o.Disabled)) .ToArray(); foreach (var outputDrawing in _outputDrawings) { AddChild(outputDrawing); } } AddDetails(details, null, router.Offline ? "disabled" : string.Empty); }
public LoadBalancerTile( DrawingElement drawing, LoadBalancerNode loadBalancer, TrafficIndicatorConfiguration trafficIndicatorConfiguration, string title, string cssClass, List <string> details, bool showConnections, bool showSessions, bool showTraffic) : base(drawing, title, cssClass, loadBalancer.Offline, 2, loadBalancer.Name) { _drawing = drawing; _loadBalancer = loadBalancer; _trafficIndicatorThresholds = trafficIndicatorConfiguration.Thresholds; LinkUrl = "/ui/node?name=" + loadBalancer.Name; if (details != null) { AddDetails(details, null, loadBalancer.Offline ? "disabled" : string.Empty); } if (loadBalancer.Offline) { Title.CssClass += " disabled"; } if (loadBalancer.Outputs != null) { _outputDrawings = new OutputDrawing[loadBalancer.Outputs.Length]; for (var i = 0; i < loadBalancer.Outputs.Length; i++) { var outputNodeName = loadBalancer.Outputs[i]; var output = loadBalancer.OutputNodes[i]; _outputDrawings[i] = new OutputDrawing( drawing, outputNodeName, "Server", output, cssClass + "_output", showConnections, showSessions, showTraffic); } foreach (var outputDrawing in _outputDrawings) { AddChild(outputDrawing); } } }
public RoundRobinTile( DrawingElement drawing, RoundRobinNode roundRobin, DashboardConfiguration.NodeConfiguration nodeConfiguration, TrafficIndicatorConfiguration trafficIndicatorConfiguration) : base( drawing, roundRobin, trafficIndicatorConfiguration, nodeConfiguration?.Title ?? "Round robin", "round_robin", null, false, false, true) { }
public LeastConnectionsTile( DrawingElement drawing, LeastConnectionsNode leastConnections, DashboardConfiguration.NodeConfiguration nodeConfiguration, TrafficIndicatorConfiguration trafficIndicatorConfiguration) : base( drawing, leastConnections, trafficIndicatorConfiguration, nodeConfiguration?.Title ?? "Least connections", "least_connections", null, true, false, true) { }
public ListenerTile( DrawingElement drawing, ListenerEndpointConfiguration listener, TrafficIndicatorConfiguration trafficIndicatorConfiguration) : base( drawing, listener?.Title ?? listener?.Name + " Listener", "listener", listener.Disabled) { _drawing = drawing; _listener = listener; _trafficIndicatorThresholds = trafficIndicatorConfiguration.Thresholds; var details = new List <string>(); if (listener.IpAddress == "*") { details.Add("Listen on all IP addresses"); } else if (!string.IsNullOrEmpty(listener.IpAddress)) { details.Add("Listen on " + listener.IpAddress); } if (listener.PortNumber == 0) { details.Add("Bind to all ports"); } else { details.Add("Bind to port " + listener.PortNumber); } details.Add("Send to node " + listener.NodeName); if (listener.ProcessingNode != null) { details.Add(listener.ProcessingNode.TrafficAnalytics.LifetimeRequestCount + " requests"); details.Add(listener.ProcessingNode.TrafficAnalytics.RequestTime.TotalMilliseconds.ToString("n2") + " ms"); details.Add(listener.ProcessingNode.TrafficAnalytics.RequestsPerMinute.ToString("n2") + " /min"); } AddDetails(details, null, listener.Disabled ? "disabled" : string.Empty); }
public StickySessionTile( DrawingElement drawing, StickySessionNode stickySession, DashboardConfiguration.NodeConfiguration nodeConfiguration, TrafficIndicatorConfiguration trafficIndicatorConfiguration) : base( drawing, stickySession, trafficIndicatorConfiguration, nodeConfiguration?.Title ?? "Sticky session", "sticky_session", new List <string> { "Cookie: " + stickySession.SessionCookie, "Lifetime: " + stickySession.SessionDuration }, true, true, true) { }