Permalink
Fetching contributors…
Cannot retrieve contributors at this time
41 lines (24 sloc) 1.14 KB

Extending Locust

Locust comes with a number of events that provides hooks for extending locust in different ways.

Event listeners can be registered at the module level in a locust file. Here's an example:

from locust import events

def my_success_handler(request_type, name, response_time, response_length, **kw):
    print "Successfully fetched: %s" % (name)

events.request_success += my_success_handler

Note

It's highly recommended that you add a wildcard keyword argument in your listeners (the **kw in the code above), to prevent your code from breaking if new arguments are added in a future version.

.. seealso::

    To see all available event, please see :ref:`events`.



Adding Web Routes

Locust uses Flask to serve the web UI and therefore it is easy to add web end-points to the web UI. Just import the Flask app in your locustfile and set up a new route:

from locust import web

@web.app.route("/added_page")
def my_added_page():
    return "Another page"

You should now be able to start locust and browse to http://127.0.0.1:8089/added_page