We use gatling extensively, and normally part of our check block includes specifying a maximum allowable response time for a request, for example
http("GET /foo") .get("/foo") .check( status.is(200), responseTimeInMillis.lessThan(10000) )
However, when using this the generated reports include a unique row for every failure if the response time is even a ms different to another failure rate, something like
responseTime.find.lessThan(10000), but actually 10532 is not less than 10000
For example, in a recent test we ran, the errors page looks like this
This goes on for pages, with a quick grep there are over 30,000 lines displaying these errors. Since they come above the graphs it makes navigating the reports particularly difficult, and the output isn’t all that useful since I’d like to see a summary in the style of
Error: responseTime.find.lessThan(10000) but actually is not less than 10000, Count: 1234, Percentage: 42%
I’m currently doing this in a quickly hacked up post-processor for the simulation log but I can’t help but feel there should be an easier way.