Esempio n. 1
0
        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)
            });
        }
Esempio n. 2
0
        public object GetMetricsReport() //TODO: typed report
        {
            if (!lifeCycleToken.IsStarted)
            {
                throw new InvalidOperationException("Not started");
            }

            return(HostReport.Generate(router, router.Metrics));
        }