wip
This commit is contained in:
parent
4476cbdc42
commit
6b6882d44b
@ -1,4 +1,4 @@
|
||||
from locust import HttpUser, TaskSet, task, between
|
||||
from locust import HttpUser, TaskSet, task, between, events
|
||||
import csv
|
||||
import random
|
||||
from collections import defaultdict
|
||||
@ -66,3 +66,41 @@ class OSRMUser(HttpUser):
|
||||
tasks = [OSRMTasks]
|
||||
wait_time = between(0.01, 0.1)
|
||||
|
||||
@events.quitting.add_listener
|
||||
def _(environment, **kwargs):
|
||||
def calculate_percentiles(stats, percentiles):
|
||||
response_times = sorted(stats.get_response_times())
|
||||
percentile_values = {}
|
||||
for percentile in percentiles:
|
||||
rank = int(len(response_times) * (percentile / 100))
|
||||
percentile_values[percentile] = response_times[rank-1] if rank > 0 else 0
|
||||
return percentile_values
|
||||
|
||||
nearest_stats = environment.stats.get("/nearest/v1/driving", "GET")
|
||||
route_stats = environment.stats.get("/route/v1/driving", "GET")
|
||||
|
||||
nearest_percentiles = calculate_percentiles(nearest_stats, [95, 99])
|
||||
route_percentiles = calculate_percentiles(route_stats, [95, 99])
|
||||
|
||||
print("\nAggregated Statistics for /nearest/v1/driving:")
|
||||
print(f"Request Count: {nearest_stats.num_requests}")
|
||||
print(f"Failure Count: {nearest_stats.num_failures}")
|
||||
print(f"Median Response Time: {nearest_stats.median_response_time}")
|
||||
print(f"Average Response Time: {nearest_stats.avg_response_time}")
|
||||
print(f"Min Response Time: {nearest_stats.min_response_time}")
|
||||
print(f"Max Response Time: {nearest_stats.max_response_time}")
|
||||
print(f"Average Content Size: {nearest_stats.avg_content_length}")
|
||||
print(f"p95 Response Time: {nearest_percentiles[95]}")
|
||||
print(f"p99 Response Time: {nearest_percentiles[99]}")
|
||||
|
||||
print("\nAggregated Statistics for /route/v1/driving:")
|
||||
print(f"Request Count: {route_stats.num_requests}")
|
||||
print(f"Failure Count: {route_stats.num_failures}")
|
||||
print(f"Median Response Time: {route_stats.median_response_time}")
|
||||
print(f"Average Response Time: {route_stats.avg_response_time}")
|
||||
print(f"Min Response Time: {route_stats.min_response_time}")
|
||||
print(f"Max Response Time: {route_stats.max_response_time}")
|
||||
print(f"Average Content Size: {route_stats.avg_content_length}")
|
||||
print(f"p95 Response Time: {route_percentiles[95]}")
|
||||
print(f"p99 Response Time: {route_percentiles[99]}")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user