public void UpdateServiceStatus(ConsulServiceStatus m) { var host = GetExistingOrNew(m.Host); var service = host.GetOrCreateService(m.Service, m.Tag); service.SetStatus(m); CalculateHeight(); }
private string FormatStatusText(ConsulServiceStatus st) { var sb = new StringBuilder(); sb.AppendLine($"{st.Statuses.Length} checks"); sb.AppendLine($"{st.Statuses.Count(a => Equals(a, HealthStatus.Passing))} passing"); foreach ( var entry in st.Details.Response.SelectMany(a => a.Checks).Where(c => !Equals(c.Status, HealthStatus.Passing))) { sb.AppendLine($"{entry.CheckID} status = {entry.Status.Status}"); } return(sb.ToString()); }
public void SetStatus(ConsulServiceStatus st) { if (st.Statuses.Length > 0 && st.Statuses.All(a => Equals(a, HealthStatus.Passing))) { Background = Colors.Chartreuse; Foreground = Color.FromRgb(33, 33, 33); } else if (st.Statuses.Length == 0 || st.Statuses.Any(a => Equals(a, HealthStatus.Critical))) { Background = Colors.Red; Foreground = Colors.White; } else { Background = Colors.Orange; Foreground = Color.FromRgb(33, 33, 33); } StatusText = FormatStatusText(st); }
private void ReceiveCompleted(ConsulServiceStatus jr) { _bridge.Forward(jr); }