public object GetMetricsReport() //TODO: typed report { if (!lifeCycleToken.IsStarted) { throw new InvalidOperationException("Not started"); } var now = DateTime.UtcNow; return(new { Time = now.ToString(Time.StringFormat), TimeHours = now.ToTimeHours(), Backend = new { Port = port, Sessions = new { CurrentRate = sessionRate.GetCurrentRate(), sessionRate.MaxRate, Current = sessionTable.Count, Max = maxConnectedSessions, Total = acceptedSessions, Errors = sessionExceptionCounters.ToDictionary(kvp => kvp.Key.FullName, kvp => kvp.Value.Count) }, WebSocketSessions = new { Current = webSocketSessionTable.Count, Max = maxConnectedWebSocketSessions, Total = acceptedWebSocketSessions } }, HostReports = HostReport.Generate(router, router.Metrics) }); }
public object GetMetricsReport() //TODO: typed report { if (!lifeCycleToken.IsStarted) { throw new InvalidOperationException("Not started"); } return(HostReport.Generate(router, router.Metrics)); }