public async Task <HttpStatusResultStatistics> GetStatistics(Filters filters) { Task <IEnumerable <HttpStatusResultDto> > results; Task <IEnumerable <HttpStatusResultDto> > slowestRequests; Task <IEnumerable <HttpStatusResultDto> > fastestRequests; switch (filters.CollationType) { case CollationType.Requests: results = _requestResultRepository.GetRequests(filters); slowestRequests = _requestResultRepository.GetSlowestRequests(filters); fastestRequests = _requestResultRepository.GetFastestRequests(filters); break; case CollationType.Tests: results = _testResultRepository.GetTests(filters); slowestRequests = _testResultRepository.GetSlowestTests(filters); fastestRequests = _testResultRepository.GetFastestTests(filters); break; default: throw new ArgumentOutOfRangeException(); } await Task.WhenAll(results, slowestRequests, fastestRequests); return(_statisticsFactory.Create(filters, results.Result.ToList(), slowestRequests.Result, fastestRequests.Result)); }
public async Task <HttpStatusResultStatistics> GetStatistics(Filters filters) { var requests = GetRequests(filters); var slowestRequests = GetSlowestRequests(filters); var fastestRequests = GetFastestRequests(filters); await Task.WhenAll(requests, slowestRequests, fastestRequests); return(_statisticsFactory.Create(filters, requests.Result, slowestRequests.Result, fastestRequests.Result)); }
public async Task <HttpStatusResultStatistics> GetStatistics(string method, string requestUrl, int?deviations) { var requests = await GetRequests(method, requestUrl); const int count = 50; var slowestRequests = await GetSlowestRequests(method, requestUrl, count); var fastestRequests = await GetFastestRequests(method, requestUrl, count); return(_statisticsFactory.Create(method, requestUrl, requests, deviations, slowestRequests, fastestRequests)); }