tsenart / vegeta

HTTP load testing tool and library. It's over 9000!
http://godoc.org/github.com/tsenart/vegeta/lib
MIT License
23.51k stars 1.36k forks source link

Plot throughput #354

Closed zommerfelds closed 5 years ago

zommerfelds commented 5 years ago

Proposal

It would be nice if Vegeta would support plotting of the throughput by HTTP code instead of just latencies. Maybe vegeta plot -throughput. Or even two plots in the same HTML file, like the screenshot below.

Background

This would be interesting to show how a system behaves under overload. A low latency is not necessarily good if no successes are going through. It's nice to see what errors codes are returned at what time.

Workarounds

You can use the report tool to get an average success metric. Or you can use https://github.com/tsenart/vegeta#usage-real-time-analysis to get some kind of real time usage.


As an example, here is how Artillery plots a report: image. Vegeta performs so much better though, so I would love to use it instead. :) Thanks for the great tool.

tsenart commented 5 years ago

Vegeta maintains a fairly constant request rate, and hence, throughput, so I'm not sure what this would show you.

zommerfelds commented 5 years ago

Hi, thanks for the answer. What I meant is that it would be nice to show how many responses were 200 vs 504 or 503 at each point in time, for example. I found that to be very helpful for analysis of what is happening in a system.

tsenart commented 5 years ago

You can graph Vegeta results easily with any third party tool via the vegeta encode command. I don't have the bandwidth to extend vegeta to cover this use case now.