public async Task <string> GetIndexData(GetIndexDataRequest request)
        {
            var start = request.Start.ToDateTime();
            var end   = request.End.ToDateTime();

            #region BuildService
            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();
            }

            #endregion

            var result = await _storage.GetIndexPageDataAsync(new IndexPageDataFilterOption()
            {
                Service         = request.Service,
                LocalIP         = request.LocalIP,
                LocalPort       = request.LocalPort,
                StartTime       = start,
                EndTime         = end,
                StartTimeFormat = "yyyy-MM-dd HH:mm:ss",
                EndTimeFormat   = "yyyy-MM-dd HH:mm:ss"
            });

            return(Json(new HttpResultEntity(1, "ok", new
            {
                ART = result.AvgResponseTime.ToInt(),
                Total = result.Total,
                Code404 = result.NotFound,
                Code500 = result.ServerError,
                APICount = result.APICount,
                ErrorPercent = result.ErrorPercent.ToString("0.00%"),
            })));
        }
Exemple #2
0
        public async Task <IActionResult> GetIndexData(GetIndexDataRequest request)
        {
            var start = (request.Start.IsEmpty() ? DateTime.Now.ToString("yyyy-MM-dd") : request.Start).ToDateTime();
            var end   = (request.End.IsEmpty() ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : request.End).ToDateTime();

            var result = await _storage.GetIndexPageDataAsync(new IndexPageDataFilterOption()
            {
                Nodes     = request.Node.IsEmpty() ? null :request.Node.Split(','),
                StartTime = start,
                EndTime   = end,
            }).ConfigureAwait(false);

            return(Json(new HttpResultEntity(1, "ok", new
            {
                ART = result.AvgResponseTime.ToInt(),
                Total = result.Total,
                Code404 = result.NotFound,
                Code500 = result.ServerError,
                APICount = result.APICount,
                ErrorPercent = result.ErrorPercent.ToString("0.00%"),
            })));
        }
        public async Task <IActionResult> GetIndexData([FromBody] GetIndexDataRequest request)
        {
            var start = request.Start.ToDateTime();
            var end   = request.End.ToDateTime();

            var result = await _storage.GetIndexPageDataAsync(new IndexPageDataFilterOption()
            {
                StartTime       = start,
                EndTime         = end,
                StartTimeFormat = "yyyy-MM-dd HH:mm:ss",
                EndTimeFormat   = "yyyy-MM-dd HH:mm:ss"
            });

            return(Json(new HttpResultEntity(1, "ok", new
            {
                ART = result.AvgResponseTime.ToInt(),
                Total = result.Total,
                Code404 = result.NotFound,
                Code500 = result.ServerError,
                APICount = result.APICount,
                ErrorPercent = result.ErrorPercent.ToString("0.00%"),
            })));
        }