summaryrefslogtreecommitdiff
path: root/benchmarks/py-locust/files/extra-EXAMPLES-events.py
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/py-locust/files/extra-EXAMPLES-events.py')
-rw-r--r--benchmarks/py-locust/files/extra-EXAMPLES-events.py69
1 files changed, 0 insertions, 69 deletions
diff --git a/benchmarks/py-locust/files/extra-EXAMPLES-events.py b/benchmarks/py-locust/files/extra-EXAMPLES-events.py
deleted file mode 100644
index 7b1de7fafee2..000000000000
--- a/benchmarks/py-locust/files/extra-EXAMPLES-events.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-This is an example of a locustfile that uses Locust's built in event hooks to
-track the sum of the content-length header in all successful HTTP responses
-"""
-
-from locust import HttpLocust, TaskSet, events, task, web
-
-
-class MyTaskSet(TaskSet):
- @task(2)
- def index(l):
- l.client.get("/")
-
- @task(1)
- def stats(l):
- l.client.get("/stats/requests")
-
-class WebsiteUser(HttpLocust):
- host = "http://127.0.0.1:8089"
- min_wait = 2000
- max_wait = 5000
- task_set = MyTaskSet
-
-
-"""
-We need somewhere to store the stats.
-
-On the master node stats will contain the aggregated sum of all content-lengths,
-while on the slave nodes this will be the sum of the content-lengths since the
-last stats report was sent to the master
-"""
-stats = {"content-length":0}
-
-def on_request_success(request_type, name, response_time, response_length):
- """
- Event handler that get triggered on every successful request
- """
- stats["content-length"] += response_length
-
-def on_report_to_master(client_id, data):
- """
- This event is triggered on the slave instances every time a stats report is
- to be sent to the locust master. It will allow us to add our extra content-length
- data to the dict that is being sent, and then we clear the local stats in the slave.
- """
- data["content-length"] = stats["content-length"]
- stats["content-length"] = 0
-
-def on_slave_report(client_id, data):
- """
- This event is triggered on the master instance when a new stats report arrives
- from a slave. Here we just add the content-length to the master's aggregated
- stats dict.
- """
- stats["content-length"] += data["content-length"]
-
-# Hook up the event listeners
-events.request_success += on_request_success
-events.report_to_master += on_report_to_master
-events.slave_report += on_slave_report
-
-@web.app.route("/content-length")
-def total_content_length():
- """
- Add a route to the Locust web app, where we can see the total content-length
- """
- return "Total content-length recieved: %i" % stats["content-length"]