Why Gatling always make/show one more request compare to what was actually requested in code?

val searchscenario = scenario("Search Request")
  .exec(http("Select criteria")
    .get("/"))
     .pause(2)
  .exec(http("Search")
    .get("/computers?f=macbook"))
     .pause(2)
  .exec(http("Select")
    .get("/computers/6"))
     .pause(3)



As you can see in the above example, I am just making three request but when I see this in report it comes out like :

> request count                                          4 (OK=4      KO=0     )
> min response time                                    111 (OK=111    KO=-     )
> max response time                                    217 (OK=217    KO=-     )
> mean response time                                   138 (OK=138    KO=-     )
> std deviation                                         45 (OK=45     KO=-     )
> response time 50th percentile                        113 (OK=113    KO=-     )
> response time 75th percentile                        139 (OK=139    KO=-     )
> response time 95th percentile                        201 (OK=201    KO=-     )
> response time 99th percentile                        214 (OK=214    KO=-     )
> mean requests/sec                                    0.5 (OK=0.5    KO=-     )



Shows 4 requests. Why so?


Have you checked the list of request types? Answer is pretty obvious.

It is showing

  1. Select criteria
  2. Select criteria redirect
  3. Search
  4. Select

You answered your own question here. The “Select criteria” page is issuing a 302 redirect, and that is being followed by Gatling and logged as a transaction.

Got it thanks and also found on http://gatling.io/docs/current/http/http_protocol/#http-protocol