Debugging guide

Debug Gatling scripts by printing session values or with logback.

Printing Session Values

Print a session value.

       
.exec(session -> {
  System.out.println(session.getString("addComputer"));
  return session;
})
.exec((session) => {
  console.log(session.get("addComputer"));
  return session;
})
.exec { session ->
  println(session.getString("addComputer"))
  session
}
.exec { session =>
  println(session("addComputer").as[String])
  session
}

Logback

There’s a logback.xml file in the Gatling conf directory. You can either set the log-level to TRACE to log all HTTP requests and responses or DEBUG to log failed HTTP request and responses.

<!-- uncomment and set to DEBUG to log all failing HTTP requests -->
<!-- uncomment and set to TRACE to log all HTTP requests -->
<!--<logger name="io.gatling.http.engine.response" level="TRACE" />-->

It will by default print debugging information to the console, but you can add a file appender:

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
  <file>PATH_TO_LOG_FILE</file>
  <append>true</append>
  <encoder>
    <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
  </encoder>
</appender>

And reference that appender:

<root level="WARN">
  <appender-ref ref="FILE" />
</root>

This can be useful if you run at one user and remove all logging apart from the HTML, and open the file in your browser.

Using a Java debugger

When launching Gatling from Maven or Gradle, you can attach a debugger so you can execute step-by-step.

Maven with IntelliJ IDEA

Please check the official IntelliJ documentation.

Here are the mandatory steps:

  1. Click on Add Configuration or Edit Configurations to the left of the Run and Debug buttons on the right side of the top bar.
  2. Click on the + sign and add a new Maven configuration
  3. Enter gatling:test -Dgatling.sameProcess=true in the Command line field
  4. Click on Modify Java Options, select Add JVM options and enter --add-opens=java.base/java.lang=ALL-UNNAMED
  5. Click on the Debug button to launch
InjelliJ Maven Debug Configuration

Gradle with IntelliJ IDEA

Please check the official IntelliJ documentation.

Here are the mandatory steps:

  1. Click on Add Configuration or Edit Configurations to the left of the Run and Debug buttons on the right side of the top bar.
  2. Click on the + sign and add a new Gradle configuration
  3. Enter gatlingRun --same-process in the Task and arguments field
  4. Click on Modify options, select Add VM options and enter --add-opens=java.base/java.lang=ALL-UNNAMED
  5. Click on the Debug button to launch
InjelliJ Gradle Debug Configuration

Edit this page on GitHub