Page MenuHomePhabricator
Paste P61254

(An Untitled Masterwork)
ActivePublic

Authored by EBernhardson on Apr 26 2024, 4:01 PM.
Tags
None
Referenced Files
F48808957: raw-paste-data.txt
Apr 26 2024, 4:18 PM
F48807033: raw-paste-data.txt
Apr 26 2024, 4:01 PM
Subscribers
None
from argparse import ArgumentParser
import requests
import time
parser = ArgumentParser()
parser.add_argument('url')
parser.add_argument('--duration-sec', default=60, type=int)
args = parser.parse_args()
total_requests = 0
error_count = 0
script_start_time = time.time()
try:
req_start_time = script_start_time
times = []
while time.time() - script_start_time < args.duration_sec:
# time.sleep(1)
with requests.Session() as s:
total_requests += 1
req_start_time = time.time()
try:
res = s.get(args.url)
req_took = time.time() - req_start_time
times.append(req_took)
res.raise_for_status() # defer definition of failure
# print(f"OK : {1000 * req_took:.0f}ms")
except requests.exceptions.RequestException as e:
print(f"ERR: {1000 * req_took:.0f}ms : {e}")
error_count += 1
except KeyboardInterrupt:
pass
test_duration = time.time() - script_start_time
print(f"test duration: {test_duration}s")
print(f"total requests: {total_requests}")
print(f"errors: {error_count}")
print(f"sum: {sum(times)}")
print(f"avg: {sum(times)/len(times)}")
print("")
# print(times)