Number of requests is wrong in last chain? why?

Hi guys,

I’m running gatling 2.1.2 using gatling-sbt 1.0

The scenario I’m running is pretty straight forward, I login do stuff and logout.

I created a recorded scenario, then manually grouped the requests to make the report prettier.

I am running 1 user (see extract below)

All is fine except the “TeamActions” group. The chain of http requests is producing lots of requests for some of the execs.
For instance request_250 repeats 147 times (see images below) but it is a get that is only exec’ed once in my chain.

On a subsequent run the number of calls was different but still greater than 1 (see images below)

I can see repeated calls in the trace log and the simulation.log, so it really looks like it’s being called a number of times.

Why?

There are similar requests earlier in the scenario, but they are all labelled differently eg “request_55” as per the script that the recorder created Does Gatling somehow glob together similar URL’s in the report in the last chain that they appear?

Any Ideas? or if you need more detail just ask. This is really frustrating me, so any help is appreciated.

Cheers

Karl

Extracted from my Scenario

val httpProtocol = http
.baseURL(baseUrl)
// .baseURL(“http://localhost”)
.inferHtmlResources()
.acceptHeader("""/""")
.acceptEncodingHeader(""“gzip, deflate, sdch”"")
.acceptLanguageHeader(""“en-US,en;q=0.8"”")
.connection(""“keep-alive”"")
.contentTypeHeader(""“application/json; charset=UTF-8"”")
.userAgentHeader(""“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/39.0.2171.65 Chrome/39.0.2171.65 Safari/537.36"”")

val scn = scenario(“LoginDoStuffLogout”)
.exec(putMyConstantsInSession)
.exec(flushCookieJar)
.exec(flushHttpCache)
.exec(flushSessionCookies)
.group(“Login”) { uncachedlogin_chain }
.repeat(1) {
.group(“statics”) { staticResource_chain }
.group(“Swich HQ”){ switchLocation_chain }
.group(“CreateJob”) { createJob_chain }
.group(“TaskToTeam”) { taskTeam_chain }
.group(“TeamActions”) {teamFlow_chain }
}
.group(“Logout”){ exec(logout_chain) }

setUp(scn.inject(atOnceUsers(startUsers(1)))).protocols(httpProtocol)


What does teamFlow_chain look like?

I thought you’d ask :slight_smile: should have attached the chains to the first post,

val teamFlow_chain = {
exec(
gotoJobFlowPage
,teamEnroute
,teamOnsite
,teamOffsite
,teamComplete)
}

for the details of the inner chains see attached

PS if this still doesn’t help, I can zip up the whole sbt project and send it to you to try. I’d have to send it outside the forum because to run it needs temp authentication to my clients test website, and I’m not supposed to share ;-/
Cheers

Karl

teamFlowchains.zip (7.46 KB)