diff --git a/beeswithmachineguns/bees.py b/beeswithmachineguns/bees.py index 443e8df..8cc6e46 100644 --- a/beeswithmachineguns/bees.py +++ b/beeswithmachineguns/bees.py @@ -277,9 +277,14 @@ def _attack(params): response['failed_requests_length'] = float(re.search('Length:\s+([0-9.]+)', failed_requests_detail.group(0)).group(1)) response['failed_requests_exceptions'] = float(re.search('Exceptions:\s+([0-9.]+)', failed_requests_detail.group(0)).group(1)) - + complete_requests_search = re.search('Complete\ requests:\s+([0-9]+)', ab_results) + response['number_of_200s'] = len(re.findall('HTTP/1.1\ 2[0-9][0-9]', ab_results)) + response['number_of_300s'] = len(re.findall('HTTP/1.1\ 3[0-9][0-9]', ab_results)) + response['number_of_400s'] = len(re.findall('HTTP/1.1\ 4[0-9][0-9]', ab_results)) + response['number_of_500s'] = len(re.findall('HTTP/1.1\ 5[0-9][0-9]', ab_results)) + response['ms_per_request'] = float(ms_per_request_search.group(1)) response['requests_per_second'] = float(requests_per_second_search.group(1)) response['failed_requests'] = float(failed_requests.group(1)) @@ -333,6 +338,18 @@ def _summarize_results(results, params, csv_filename): complete_results = [r['failed_requests_exceptions'] for r in summarized_results['complete_bees']] summarized_results['total_failed_requests_exceptions'] = sum(complete_results) + complete_results = [r['number_of_200s'] for r in summarized_results['complete_bees']] + summarized_results['total_number_of_200s'] = sum(complete_results) + + complete_results = [r['number_of_300s'] for r in summarized_results['complete_bees']] + summarized_results['total_number_of_300s'] = sum(complete_results) + + complete_results = [r['number_of_400s'] for r in summarized_results['complete_bees']] + summarized_results['total_number_of_400s'] = sum(complete_results) + + complete_results = [r['number_of_500s'] for r in summarized_results['complete_bees']] + summarized_results['total_number_of_500s'] = sum(complete_results) + complete_results = [r['requests_per_second'] for r in summarized_results['complete_bees']] summarized_results['mean_requests'] = sum(complete_results) @@ -421,6 +438,11 @@ def _print_results(summarized_results): print ' receive:\t\t%i' % summarized_results['total_failed_requests_receive'] print ' length:\t\t%i' % summarized_results['total_failed_requests_length'] print ' exceptions:\t\t%i' % summarized_results['total_failed_requests_exceptions'] + print ' Response Codes:' + print ' 2xx:\t\t%i' % summarized_results['total_number_of_200s'] + print ' 3xx:\t\t%i' % summarized_results['total_number_of_300s'] + print ' 4xx:\t\t%i' % summarized_results['total_number_of_400s'] + print ' 5xx:\t\t%i' % summarized_results['total_number_of_500s'] print ' Requests per second:\t%f [#/sec] (mean of bees)' % summarized_results['mean_requests'] if 'rps_bounds' in summarized_results and summarized_results['rps_bounds'] is not None: print ' Requests per second:\t%f [#/sec] (upper bounds)' % summarized_results['rps_bounds']