-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Graphical interface to see individual request level graph #144
Comments
Do I correctly interpret what you ask as: I want to see how the locust statistics change over time? If so at least one solution for this is to set up something like Graphite and send the metrics from locust to graphite. That's what we do. Actually as our server cluster already has a Graphite node, this makes it especially nice as one can compare locust metrics (i.e. 'perceived/measured performance' with internal metrics like cpu usage). Even if you didn't have this it would still be nice IMO :) And you could set up your own graphite server (on the locust node) pretty easily. A super-easy, ghetto way of doing this would just to have another process polling the stats API endpoint and logging those to a file. |
Personally, I think it's out of scope for Locust to include this kind of functionality by default (I'm guessing @heyman would agree). It could of course also be implemented as a plugin that would plot stuff in something like Rickshaw or some other js plotting lib but I think something like graphite is even nicer. As a note here's what you can get with Graphite (and a bit of tweaking). |
This is pretty awesome. is there any documentation on how to integrate locust with graphite. i am sorry i am new to graphite. |
There are docs for graphite (see here: http://graphite.readthedocs.org/en/latest/). I may have gotten slightly ahead of myself though. I'd forgotten that I have a slightly patched locust running locally that allows running plugins. And the plugin that we have for pushing metrics from locust to graphite is not public (yet - it shouldn't be a problem to release, but the plugin mechanism in locust isn't yet clear). I'll try to push this forward. In the meantime, if you just want to quickly make progress then I suggest just making a 5 line bash script that hits the locust stats url and logs that to disk. Then you could plot those results after your test. |
I've got a module for use with Locust that sends the response times and requests per second for each request type to a Graphite server, here: https://github.com/pglass/designate-locust/blob/master/graphite_client.py. The master uses the slave_report event to receive stats, which are formatted into messages and sent to Graphite. Since it relies on slave_report, it only actually sends any stats when Locust is running in distributed mode, and I used carbon-aggregator (a Graphite service) to consolidate data gathered from separate slaves. |
Not sure if this still of any interest but I have created a very basic working demo which integrates locustio with grafana. It heavily uses Docker to ease the integration/communication with required backends but there is also a docker-compose file which should get users started in no time. The source code can be found here: |
Just thinking from an architectural level, you'll want the same graphs on your production system from real use so it would be better to focus on the monitoring system versus relying on locust to do all the reporting that way when you compare production traffic profiles and traffic generated by locust your comparing the same thing. |
See #509 |
to understand this request/response pattern clearly we would like to know each request/resposne time points data.
if we have a graphical or data points exposed for each task request/response level . This would enable us to understand after how many request server request slows down and where server maintains steady volume.
The text was updated successfully, but these errors were encountered: