public IActionResult GetTOPART(GetTopRequest request)
        {
            request.Start = request.Start.IsEmpty() ? DateTime.Now.ToString("yyyy-MM-dd") : request.Start;
            request.End   = request.End.IsEmpty() ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : request.End;

            var fast = _dataService.GetTOPART(new Models.GetTopRequest
            {
                Node   = request.Node,
                Start  = request.Start,
                End    = request.End,
                IsDesc = false,
                TOP    = 15
            });

            var slow = _dataService.GetTOPART(new Models.GetTopRequest
            {
                Node   = request.Node,
                Start  = request.Start,
                End    = request.End,
                IsDesc = true,
                TOP    = 15
            });


            return(Json(new Result(1, "ok", new { fast, slow })));
        }
Beispiel #2
0
        public ActionResult GetTopRequest(GetTopRequest request)
        {
            request.Start = request.Start.IsEmpty() ? DateTime.Now.ToString("yyyy-MM-dd") : request.Start;
            request.End   = request.End.IsEmpty() ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : request.End;


            var most = _dataService.GetTopRequest(new Models.GetTopRequest
            {
                Node   = request.Node,
                Start  = request.Start,
                End    = request.End,
                IsDesc = true,
                TOP    = request.TOP
            });

            var least = _dataService.GetTopRequest(new Models.GetTopRequest
            {
                Node   = request.Node,
                Start  = request.Start,
                End    = request.End,
                IsDesc = false,
                TOP    = request.TOP
            });

            return(new CustomsJsonResult(new Result(1, "ok", new { most, least })));
        }
        /// <summary>
        /// 获取接口平均处理时间
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public List <EchartPineDataModel> GetTOPART(GetTopRequest request)
        {
            string where = BuildTopWhere(request);

            string sql = $" Select TOP {request.TOP}   Url Name ,Avg(Milliseconds) Value From RequestInfo {where} Group By Url order by Value {(request.IsDesc ? "Desc" : "Asc")} ";

            return(conn.Query <EchartPineDataModel>(sql).ToList());
        }
        public List <GetTopResponse> GetCode500Response(GetTopRequest request)
        {
            string where = BuildTopWhere(request);

            string sql = $" Select TOP {request.TOP}  Url,COUNT(1) as Total From RequestInfo {where} AND StatusCode = 500 Group By Url order by Total {(request.IsDesc ? "Desc" : "Asc")} ";

            return(conn.Query <GetTopResponse>(sql).ToList());
        }
Beispiel #5
0
        public List <GetTopResponse> GetTopRequest(GetTopRequest request)
        {
            string where = BuildTopWhere(request);

            string sql = $"select * from(Select  Url,COUNT(1) as Total From RequestInfo {where}  Group By Url order by Total {(request.IsDesc ? "Desc" : "Asc")}) where rownum <={request.TOP}";

            return(conn.Query <GetTopResponse>(sql).ToList());
        }
        public IActionResult GetTopCode500(GetTopRequest request)
        {
            request.Start = request.Start.IsEmpty() ? DateTime.Now.ToString("yyyy-MM-dd") : request.Start;
            request.End   = request.End.IsEmpty() ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : request.End;

            var data = _dataService.GetCode500Response(new Models.GetTopRequest
            {
                Node   = request.Node,
                Start  = request.Start,
                End    = request.End,
                IsDesc = true,
                TOP    = 15
            });

            return(Json(new Result(1, "ok", data)));
        }
        public string BuildTopWhere(GetTopRequest request)
        {
            string where = " where 1=1 ";

            if (!request.Node.IsEmpty())
            {
                string nodes = string.Join(",", request.Node.Split(",").ToList().Select(x => "'" + x + "'"));

                where = where + $" AND Node IN ({nodes})";
            }

            if (!request.Start.IsEmpty())
            {
                where = where + $" AND CreateTime >= '{request.Start}' ";
            }

            if (!request.End.IsEmpty())
            {
                where = where + $" AND CreateTime < '{request.End}' ";
            }

            return(where);
        }
Beispiel #8
0
 public List <EchartPineDataModel> GetTOPART(GetTopRequest request) => _accessor.GetTOPART(request);
Beispiel #9
0
 public List <GetTopResponse> GetCode500Response(GetTopRequest request) => _accessor.GetCode500Response(request);
Beispiel #10
0
 public List <GetTopResponse> GetTopRequest(GetTopRequest request) => _accessor.GetTopRequest(request);