Active Sessions graph is incorrect in Gatling report

Hi all,

Last week I have noticed the active session data in Graphite does not match with the Gatling report. And then I spent some time to investigate and I think the report is not correct.

I’m using Gatling 2.1.7 and here is my scenario and set up:

val scn2 = scenario(“Wait 1 minute”).exec(http(“EASports”).get(“https://www.easports.com/fifa”)).exec(pause(1 minute))

setUp(scn2.inject(constantUsersPerSec(1) during(8 hours))).protocols(httpConf)

Here is a section of my gatling.conf:

data {
writers = “console, file, graphite”
graphite {
light = true
host =
port = 2003
}
}

This scenario makes a simple call to a public website and then wait for 1 minute. I inject 1 user per second for 8 hours. So after the ramp up, there should always be 60 active sessions given that the call is fast.

My test started at 14:37. While the test was running, I copied the simulation.log at 14:56, 15:37, and 16:05 to generate a Gatling report (using the -ro option). Here are the active section graphs in the report:

http://imgur.com/XgP5FzF

http://imgur.com/my5gMIi

http://imgur.com/6zJO6ES

You can see each of them has a constant active sessions (61, 64, 66) after the ramp up. Because they are from the same run, they should have the same number of active sessions (or the very least, the graph from 14:37 to 14:56 should be identical)

I was wondering if this has anything to do with an incomplete simulation log, so I run the same simulation again, this time inject for 1 hour. Here is the active session graph after the simulation finished:

http://imgur.com/seuoBwI

A constant 64 active users.

Also here is a section of the console output:

================================================================================
2015-11-20 17:06:17 3560s elapsed
---- Wait 1 minute -------------------------------------------------------------
[#######################################################################-- ] 97%
waiting: 40 / active: 60 / done:3500
---- Requests ------------------------------------------------------------------

Global (OK=3560 KO=0 )
EASports (OK=3560 KO=0 )
================================================================================

================================================================================
2015-11-20 17:06:22 3565s elapsed
---- Wait 1 minute -------------------------------------------------------------
[########################################################################–] 97%
waiting: 35 / active: 60 / done:3505
---- Requests ------------------------------------------------------------------

Global (OK=3565 KO=0 )
EASports (OK=3565 KO=0 )
================================================================================

And Graphite/Grafana graph of active sessions during all my tests (graphite path: ${simulation}.users.allUsers.active):

http://imgur.com/gdPfvLx

A constant 61 active users.

I also calculated the number of “USER START” line minus the number of “USER END” line in the simulation log during the test, and equals 60.

All the evident shows that graphite, console output and simulation.log all having the correct number (60 active users), however, the report is incorrect.

All graphs can be found here: http://imgur.com/a/US3nl

Can someone please help investigating? Is there a bug related to how data is aggregated in the report?

Any help is appreciated.

Thanks,
Brian

I have attached the simulation logs. The 4 logs correspond to the 4 graphs I posted: Gatling Active Sessions - Album on Imgur

Note that log 1,2,3 are from the same run, except that they are taken at a different time.

Thanks,
Brian

simulation_logs.zip (418 KB)