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));
        }
Beispiel #3
0
        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));
        }