Esempio n. 1
0
        private NetworkMetrics GetNetworkMetrics()
        {
            var result = new NetworkMetrics();

            var properties = TcpExtensions.GetIPGlobalPropertiesSafely();
            var ipv4Stats  = properties.GetTcpIPv4StatisticsSafely();
            var ipv6Stats  = properties.GetTcpIPv6StatisticsSafely();

            var currentIpv4Connections = ipv4Stats.GetCurrentConnectionsSafely() ?? 0;
            var currentIpv6Connections = ipv6Stats.GetCurrentConnectionsSafely() ?? 0;

            result.TcpActiveConnections = currentIpv4Connections + currentIpv6Connections;

            result.ConcurrentRequestsCount = Server.Metrics.Requests.ConcurrentRequestsCount;
            result.TotalRequests           = Server.Metrics.Requests.RequestsPerSec.Count;
            result.RequestsPerSec          = Server.Metrics.Requests.RequestsPerSec.OneMinuteRate;

            result.LastRequestTimeInSec = Server.Statistics.LastRequestTime.HasValue
                ? (SystemTime.UtcNow - Server.Statistics.LastRequestTime.Value).TotalSeconds
                : (double?)null;

            result.LastAuthorizedNonClusterAdminRequestTimeInSec = Server.Statistics.LastAuthorizedNonClusterAdminRequestTime.HasValue
                ? (SystemTime.UtcNow - Server.Statistics.LastAuthorizedNonClusterAdminRequestTime.Value).TotalSeconds
                : (double?)null;

            return(result);
        }
 public void Create(NetworkMetrics item)
 {
     using (var connection = new SQLiteConnection(SQLConnected.ConnectionString))
     {
         connection.Execute(@"INSERT INTO networkmetrics(value, time) VALUES(@value, @time)",
                            new
         {
             value = item.Value,
             time  = item.Time.ToUnixTimeSeconds()
         });
     }
 }
 public void Create(int agentId, NetworkMetrics item)
 {
     using (var connection = new SQLiteConnection(SqlConnect.connectionString))
     {
         connection.Execute("INSERT INTO networkmetrics(agentid, value, time) VALUES(@agentid, @value, @time)",
                            new
         {
             agentid = agentId,
             value   = item.Value,
             time    = item.Time.ToUnixTimeSeconds()
         });
     }
 }