Hello all,
I have a simulation using a csv file for feeding the requests which was working (from Idea).
I modified it to only have 10 urls in the csv feeder and then used the .circular.
The simulation ran ok, but the report generation failed:
Simulation simulations.OpenLogReplayTest started…
Simulation simulations.OpenLogReplayTest completed in 180 seconds
Parsing log file(s)…
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: Index 179 out of bounds for length 179
at io.gatling.charts.stats.buffers.SessionDeltaBuffer.addStart(SessionDeltaPerSecBuffers.scala:37)
at io.gatling.charts.stats.buffers.SessionDeltaPerSecBuffers.addSessionBuffers(SessionDeltaPerSecBuffers.scala:95)
at io.gatling.charts.stats.buffers.SessionDeltaPerSecBuffers.addSessionBuffers$(SessionDeltaPerSecBuffers.scala:91)
at io.gatling.charts.stats.ResultsHolder.addSessionBuffers(ResultsHolder.scala:26)
at io.gatling.charts.stats.ResultsHolder.addUserRecord(ResultsHolder.scala:40)
at io.gatling.charts.stats.LogFileReader.$anonfun$secondPass$1(LogFileReader.scala:173)
at io.gatling.charts.stats.LogFileReader.$anonfun$secondPass$1$adapted(LogFileReader.scala:166)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1288)
at io.gatling.charts.stats.LogFileReader.secondPass(LogFileReader.scala:166)
at io.gatling.charts.stats.LogFileReader.$anonfun$resultsHolder$1(LogFileReader.scala:186)
at io.gatling.charts.stats.LogFileReader.parseInputFiles(LogFileReader.scala:65)
at io.gatling.charts.stats.LogFileReader.(LogFileReader.scala:186)
at io.gatling.app.RunResultProcessor.initLogFileReader(RunResultProcessor.scala:52)
at io.gatling.app.RunResultProcessor.processRunResult(RunResultProcessor.scala:34)
at io.gatling.app.Gatling$.start(Gatling.scala:93)
at io.gatling.app.Gatling$.fromMap(Gatling.scala:40)
at Engine$.delayedEndpoint$Engine$1(Engine.scala:11)
at Engine$delayedInit$body.apply(Engine.scala:4)
at scala.Function0.apply$mcV$sp(Function0.scala:39)
at scala.Function0.apply$mcV$sp$(Function0.scala:39)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
at scala.App.$anonfun$main$1(App.scala:76)
at scala.App.$anonfun$main$1$adapted(App.scala:76)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
at scala.App.main(App.scala:76)
at scala.App.main$(App.scala:74)
at Engine$.main(Engine.scala:4)
at Engine.main(Engine.scala)
I also try to generate the report from the simulation log with the gatling bundle and I have the same error.
/gatling-charts-highcharts-bundle-3.6.1/bin/gatling.sh -ro
Should I open a github issue ?
I have attached the simulation.log if someone wants to have a look.
and the Simulation looks like this:
package simulations
import baseConfig.BaseSimulation
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration.DurationInt
class OpenLogReplayTest extends BaseSimulation {
//val csvFeeder = csv(“data/direct_request.csv”)
val csvFeeder = csv(“data/overviews.csv”).circular
val scn = scenario(“Log Replay”)
.feed(csvFeeder)
.exec(http("${url}")
.get( baseURL + “${url}”))
// .pause(1.seconds)
setUp(
// generate an open workload injection profile
// with levels of 10, 15, 20, 25 and 30 arriving users per second
// each level lasting 10 seconds
// separated by linear ramps lasting 10 seconds
scn.inject(
incrementUsersPerSec(5)
.times(12)
.eachLevelLasting(10.seconds)
.separatedByRampsLasting(10.seconds)
.startingFrom(10)
).protocols(httpConf)
).throttle(reachRps(35) in (30.seconds),holdFor(150.seconds))
.assertions(global.responseTime.percentile(90).lt(2000 ))
}
Regards.
simulation.log (683 KB)