Ejemplo n.º 1
0
        public async Task <IActionResult> GetDayStateBar(GetIndexDataRequest request)
        {
            var startTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 0, 0, DateTimeKind.Local).AddDays(-1);
            var endTime   = DateTime.Now;

            var nodes = request.Node.IsEmpty() ? null : request.Node.Split(',');

            // 每小时请求次数
            var requestTimesStatistics = await _storage.GetRequestTimesStatisticsAsync(new TimeSpanStatisticsFilterOption()
            {
                StartTime       = startTime,
                EndTime         = endTime,
                StartTimeFormat = "yyyy-MM-dd HH:mm:ss",
                EndTimeFormat   = "yyyy-MM-dd HH:mm:ss",
                Nodes           = nodes,
                Type            = TimeUnit.Hour,
            }).ConfigureAwait(false);

            //每小时平均处理时间
            var responseTimeStatistics = await _storage.GetResponseTimeStatisticsAsync(new TimeSpanStatisticsFilterOption()
            {
                StartTime       = startTime,
                EndTime         = endTime,
                StartTimeFormat = "yyyy-MM-dd HH:mm:ss",
                EndTimeFormat   = "yyyy-MM-dd HH:mm:ss",
                Nodes           = nodes,
                Type            = TimeUnit.Hour,
            }).ConfigureAwait(false);

            List <int> timesList = new List <int>();
            List <int> avgList   = new List <int>();

            List <int> hours = new List <int>();

            for (int i = 1; i <= 24; i++)
            {
                var start = startTime.AddHours(i).ToString("dd-HH");

                // 每小时请求次数
                var times = requestTimesStatistics.Items.TryGetValue(start, out var tTimes) ? tTimes : 0;
                timesList.Add(times);


                //每小时平均处理时间
                var avg = responseTimeStatistics.Items.TryGetValue(start, out var tAvg) ? tAvg : 0;
                avgList.Add(avg);


                hours.Add(startTime.AddHours(i).ToString("HH").ToInt());
            }

            return(Json(new HttpResultEntity(1, "ok", new { timesList, avgList, hours })));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> GetDayStateBar(GetIndexDataRequest request)
        {
            var startTime = request.Day.ToDateTimeOrNow().Date;
            var endTime   = startTime.AddDays(1);


            var nodes = request.Node.IsEmpty() ? null : request.Node.Split(',');

            // 每小时请求次数
            var requestTimesStatistics = await _storage.GetRequestTimesStatisticsAsync(new TimeSpanStatisticsFilterOption()
            {
                StartTime = startTime,
                EndTime   = endTime,
                Nodes     = nodes,
                Type      = TimeUnit.Hour,
            }).ConfigureAwait(false);

            //每小时平均处理时间
            var responseTimeStatistics = await _storage.GetResponseTimeStatisticsAsync(new TimeSpanStatisticsFilterOption()
            {
                StartTime = startTime,
                EndTime   = endTime,
                Nodes     = nodes,
                Type      = TimeUnit.Hour,
            }).ConfigureAwait(false);

            List <int> timesList = new List <int>();
            List <int> avgList   = new List <int>();

            foreach (var item in Hours)
            {
                // 每小时请求次数
                var times = requestTimesStatistics.Items.TryGetValue(item.ToString(), out var tTimes) ? tTimes : 0;
                //每小时平均处理时间
                var avg = responseTimeStatistics.Items.TryGetValue(item.ToString(), out var tAvg) ? tAvg : 0;

                timesList.Add(times);
                avgList.Add(avg);
            }

            return(Json(new HttpResultEntity(1, "ok", new { timesList, avgList, Hours })));
        }
Ejemplo n.º 3
0
        public async Task <string> GetDayStateBar(GetIndexDataRequest request)
        {
            var startTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 0, 0, DateTimeKind.Local).AddDays(-1);
            var endTime   = DateTime.Now;

            if (request.Service.IsEmpty() || request.Service == "ALL")
            {
                request.Service = "";
            }

            if (request.Instance.IsEmpty() || request.Instance == "ALL")
            {
                request.LocalIP   = "";
                request.LocalPort = 0;
            }
            else
            {
                request.LocalIP   = request.Instance.Substring(0, request.Instance.LastIndexOf(':'));
                request.LocalPort = request.Instance.Substring(request.Instance.LastIndexOf(':') + 1).ToInt();
            }

            // 每小时请求次数
            var requestTimesStatistics = await _storage.GetRequestTimesStatisticsAsync(new TimeSpanStatisticsFilterOption()
            {
                Service         = request.Service,
                LocalPort       = request.LocalPort,
                LocalIP         = request.LocalIP,
                StartTime       = startTime,
                EndTime         = endTime,
                StartTimeFormat = "yyyy-MM-dd HH:mm:ss",
                EndTimeFormat   = "yyyy-MM-dd HH:mm:ss",
                Type            = TimeUnit.Hour,
            });

            //每小时平均处理时间
            var responseTimeStatistics = await _storage.GetResponseTimeStatisticsAsync(new TimeSpanStatisticsFilterOption()
            {
                Service         = request.Service,
                LocalPort       = request.LocalPort,
                LocalIP         = request.LocalIP,
                StartTime       = startTime,
                EndTime         = endTime,
                StartTimeFormat = "yyyy-MM-dd HH:mm:ss",
                EndTimeFormat   = "yyyy-MM-dd HH:mm:ss",
                Type            = TimeUnit.Hour,
            });

            List <int> timesList = new List <int>();
            List <int> avgList   = new List <int>();

            List <int> hours = new List <int>();

            for (int i = 1; i <= 24; i++)
            {
                var start = startTime.AddHours(i).ToString("dd-HH");

                // 每小时请求次数
                var times = requestTimesStatistics.Items.TryGetValue(start, out var tTimes) ? tTimes : 0;
                timesList.Add(times);

                //每小时平均处理时间
                var avg = responseTimeStatistics.Items.TryGetValue(start, out var tAvg) ? tAvg : 0;
                avgList.Add(avg);

                hours.Add(startTime.AddHours(i).ToString("HH").ToInt());
            }

            return(Json(new HttpResultEntity(1, "ok", new { timesList, avgList, hours })));
        }