diff --git a/pom.xml b/pom.xml
index fcb6e8f5d..e8ff39a3f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,8 +28,8 @@
4.2.1
- 3.8.4
- 4.2.7
+ 3.9.0
+ 4.2.9
diff --git a/src/test/java/com/vaadin/starter/bakery/gatling/Barista.java b/src/test/java/com/vaadin/starter/bakery/gatling/Barista.java
index d150bfc0d..914df35b2 100644
--- a/src/test/java/com/vaadin/starter/bakery/gatling/Barista.java
+++ b/src/test/java/com/vaadin/starter/bakery/gatling/Barista.java
@@ -61,8 +61,7 @@ public class Barista extends Simulation {
);
private ScenarioBuilder scn = scenario("Barista").repeat(sessionRepeats).on(
- exec(flushSessionCookies())
- .exec(
+ exec(
http("request_0")
.get("/")
.headers(headers_0)
@@ -330,9 +329,10 @@ public class Barista extends Simulation {
.post("/?v-r=uidl&v-uiId=#{uiId}")
.headers(headers_3)
.body(ElFileBody("barista/0031_request.json"))
- .check(regex("syncId\":([0-9]*)").saveAs("syncId"))
- .check(regex("clientId\":([0-9]*)").saveAs("clientId"))
- ));
+ .check(regex("syncId\":([0-9]*)").saveAs("syncId")).check(regex("clientId\":([0-9]*)").saveAs("clientId"))
+ ))
+ .exec(flushHttpCache())
+ .exec(flushSessionCookies());
{
setUp(scn.injectOpen(rampUsers(sessionCount).during(sessionStartInterval))).protocols(httpProtocol);
}
diff --git a/src/test/resources/gatling.conf b/src/test/resources/gatling.conf
index c7b4fa7f8..698459e5c 100644
--- a/src/test/resources/gatling.conf
+++ b/src/test/resources/gatling.conf
@@ -10,8 +10,12 @@ gatling {
#runDescription = "" # The description for this simulation run, displayed in each report
#encoding = "utf-8" # Encoding to use throughout Gatling for file and string manipulation
#simulationClass = "" # The FQCN of the simulation to run (when used in conjunction with noReports, the simulation for which assertions will be validated)
- #mute = false # When set to true, don't ask for simulation name nor run description (currently only used by Gatling SBT plugin)
-
+ #elFileBodiesCacheMaxCapacity = 200 # Cache size for request body EL templates, set to 0 to disable
+ #rawFileBodiesCacheMaxCapacity = 200 # Cache size for request body raw files, set to 0 to disable
+ #rawFileBodiesInMemoryMaxSize = 1000 # Max bite size of raw files to be cached in memory
+ #pebbleFileBodiesCacheMaxCapacity = 200 # Cache size for request body Pebble templates, set to 0 to disable
+ #feederAdaptiveLoadModeThreshold = 100 # File size threshold (in MB). Below load eagerly in memory, above use batch mode with default buffer size
+ #shutdownTimeout = 10000 # Milliseconds to wait for the actor system to shutdown
extract {
regex {
#cacheMaxCapacity = 200 # Cache size for the compiled regexes, set to 0 to disable caching
@@ -21,137 +25,103 @@ gatling {
}
jsonPath {
#cacheMaxCapacity = 200 # Cache size for the compiled jsonPath queries, set to 0 to disable caching
- #preferJackson = false # When set to true, prefer Jackson over Boon for JSON-related operations
- jackson {
- #allowComments = false # Allow comments in JSON files
- #allowUnquotedFieldNames = false # Allow unquoted JSON fields names
- #allowSingleQuotes = false # Allow single quoted JSON field names
- }
-
}
css {
#cacheMaxCapacity = 200 # Cache size for the compiled CSS selectors queries, set to 0 to disable caching
}
}
-
- timeOut {
- #simulation = 8640000 # Absolute timeout, in seconds, of a simulation
- }
directory {
- #data = src/test/resource/data # Folder where user's data (e.g. files used by Feeders) is located
- #bodies = src/test/resource/bodies # Folder where bodies are located
- #simulations = user-src/test/java/simulations # Folder where the bundle's simulations are located<
+ #simulations = "" # If set, directory where simulation classes are located
+ #resources = "" # If set, directory where resources, such as feeder files and request bodies, are located
#reportsOnly = "" # If set, name of report folder to look for in order to generate its report
#binaries = "" # If set, name of the folder where compiles classes are located: Defaults to GATLING_HOME/target.
#results = results # Name of the folder where all reports folder are located
}
}
+ socket {
+ #connectTimeout = 10000 # Timeout in millis for establishing a TCP socket
+ #tcpNoDelay = true
+ #soKeepAlive = false # if TCP keepalive configured at OS level should be used
+ #soReuseAddress = false
+ }
+ netty {
+ #useNativeTransport = true # if Netty native transport should be used instead of Java NIO
+ #allocator = "pooled" # switch to unpooled for unpooled ByteBufAllocator
+ #maxThreadLocalCharBufferSize = 200000 # Netty's default is 16k
+ }
+ ssl {
+ #useOpenSsl = true # if OpenSSL should be used instead of JSSE (only the latter can be debugged with -Djava.net.debug=ssl)
+ #useOpenSslFinalizers = false # if OpenSSL contexts should be freed with Finalizer or if using RefCounted is fine
+ #handshakeTimeout = 10000 # TLS handshake timeout in millis
+ #useInsecureTrustManager = true # Use an insecure TrustManager that trusts all server certificates
+ #enabledProtocols = [] # Array of enabled protocols for HTTPS, if empty use Netty's defaults
+ #enabledCipherSuites = [] # Array of enabled cipher suites for HTTPS, if empty enable all available ciphers
+ #sessionCacheSize = 0 # SSLSession cache size, set to 0 to use JDK's default
+ #sessionTimeout = 0 # SSLSession timeout in seconds, set to 0 to use JDK's default (24h)
+ #enableSni = true # When set to true, enable Server Name indication (SNI)
+ keyStore {
+ #type = "" # Type of SSLContext's KeyManagers store
+ #file = "" # Location of SSLContext's KeyManagers store
+ #password = "" # Password for SSLContext's KeyManagers store
+ #algorithm = "" # Algorithm used SSLContext's KeyManagers store
+ }
+ trustStore {
+ #type = "" # Type of SSLContext's TrustManagers store
+ #file = "" # Location of SSLContext's TrustManagers store
+ #password = "" # Password for SSLContext's TrustManagers store
+ #algorithm = "" # Algorithm used by SSLContext's TrustManagers store
+ }
+ }
charting {
#noReports = false # When set to true, don't generate HTML reports
#maxPlotPerSeries = 1000 # Number of points per graph in Gatling reports
- #accuracy = 10 # Accuracy, in milliseconds, of the report's stats
+ #useGroupDurationMetric = false # Switch group timings from cumulated response time to group duration.
indicators {
#lowerBound = 800 # Lower bound for the requests' response time to track in the reports and the console summary
#higherBound = 1200 # Higher bound for the requests' response time to track in the reports and the console summary
- #percentile1 = 50 # Value for the 1st percentile to track in the reports, the console summary and GraphiteDataWriter
- #percentile2 = 75 # Value for the 2nd percentile to track in the reports, the console summary and GraphiteDataWriter
- #percentile3 = 95 # Value for the 3rd percentile to track in the reports, the console summary and GraphiteDataWriter
- #percentile4 = 99 # Value for the 4th percentile to track in the reports, the console summary and GraphiteDataWriter
+ #percentile1 = 50 # Value for the 1st percentile to track in the reports, the console summary and Graphite
+ #percentile2 = 75 # Value for the 2nd percentile to track in the reports, the console summary and Graphite
+ #percentile3 = 95 # Value for the 3rd percentile to track in the reports, the console summary and Graphite
+ #percentile4 = 99 # Value for the 4th percentile to track in the reports, the console summary and Graphite
}
}
http {
- #elFileBodiesCacheMaxCapacity = 200 # Cache size for request body EL templates, set to 0 to disable
- #rawFileBodiesCacheMaxCapacity = 200 # Cache size for request body Raw templates, set to 0 to disable
#fetchedCssCacheMaxCapacity = 200 # Cache size for CSS parsed content, set to 0 to disable
#fetchedHtmlCacheMaxCapacity = 200 # Cache size for HTML parsed content, set to 0 to disable
- #redirectPerUserCacheMaxCapacity = 200 # Per virtual user cache size for permanent redirects, set to 0 to disable
- #expirePerUserCacheMaxCapacity = 200 # Per virtual user cache size for permanent 'Expire' headers, set to 0 to disable
- #lastModifiedPerUserCacheMaxCapacity = 200 # Per virtual user cache size for permanent 'Last-Modified' headers, set to 0 to disable
- #etagPerUserCacheMaxCapacity = 200 # Per virtual user cache size for permanent ETag headers, set to 0 to disable
- #warmUpUrl = "http://gatling.io" # The URL to use to warm-up the HTTP stack (blank means disabled)
- #enableGA = true # Very light Google Analytics, please support
- ssl {
- trustStore {
- #type = "" # Type of SSLContext's TrustManagers store
- #file = "" # Location of SSLContext's TrustManagers store
- #password = "" # Password for SSLContext's TrustManagers store
- #algorithm = "" # Algorithm used by SSLContext's TrustManagers store
- }
- keyStore {
- #type = "" # Type of SSLContext's KeyManagers store
- #file = "" # Location of SSLContext's KeyManagers store
- #password = "" # Password for SSLContext's KeyManagers store
- #algorithm = "" # Algorithm used SSLContext's KeyManagers store
- }
- }
- ahc {
- #allowPoolingConnections = true # Allow pooling HTTP connections (keep-alive header automatically added)
- #allowPoolingSslConnections = true # Allow pooling HTTPS connections (keep-alive header automatically added)
- #compressionEnforced = false # Enforce gzip/deflate when Accept-Encoding header is not defined
- #connectTimeout = 60000 # Timeout when establishing a connection
- #pooledConnectionIdleTimeout = 60000 # Timeout when a connection stays unused in the pool
- #readTimeout = 60000 # Timeout when a used connection stays idle
- #connectionTTL = -1 # Max duration a connection can stay open (-1 means no limit)
- #ioThreadMultiplier = 2 # Number of Netty worker threads per core
- #maxConnectionsPerHost = -1 # Max number of connections per host (-1 means no limit)
- #maxConnections = -1 # Max number of connections (-1 means no limit)
- #maxRetry = 2 # Number of times that a request should be tried again
- #requestTimeout = 60000 # Timeout of the requests
- #useProxyProperties = false # When set to true, supports standard Proxy System properties
- #webSocketTimeout = 60000 # Timeout when a used websocket connection stays idle
- #useRelativeURIsWithConnectProxies = true # When set to true, use relative URIs when talking with an SSL proxy or a WebSocket proxy
- #acceptAnyCertificate = true # When set to true, doesn't validate SSL certificates
- #httpClientCodecMaxInitialLineLength = 4096 # Maximum length of the initial line of the response (e.g. "HTTP/1.0 200 OK")
- #httpClientCodecMaxHeaderSize = 8192 # Maximum size, in bytes, of each request's headers
- #httpClientCodecMaxChunkSize = 8192 # Maximum length of the content or each chunk
- #keepEncodingHeader = true # Don't drop Encoding response header after decoding
- #webSocketMaxFrameSize = 10240 # Maximum frame payload size
- #httpsEnabledProtocols = "" # Comma separated enabled protocols for HTTPS, if empty use the JDK defaults
- #httpsEnabledCipherSuites = "" # Comma separated enabled cipher suites for HTTPS, if empty use the JDK defaults
- #sslSessionCacheSize = 20000 # SSLSession cache size (set to 0 to disable)
- #sslSessionTimeout = 86400 # SSLSession timeout (default is 24, like Hotspot)
+ #perUserCacheMaxCapacity = 200 # Per virtual user cache size, set to 0 to disable
+ #warmUpUrl = "https://gatling.io" # The URL to use to warm-up the HTTP stack (blank means disabled)
+ #pooledConnectionIdleTimeout = 60000 # Timeout in millis for a connection to stay idle in the pool
+ #requestTimeout = 60000 # Timeout in millis for performing an HTTP request
+ #enableHostnameVerification = false # When set to true, enable hostname verification: SSLEngine.setHttpsEndpointIdentificationAlgorithm("HTTPS")
+ dns {
+ #queryTimeout = 5000 # Timeout in millis of each DNS query in millis
+ #maxQueriesPerResolve = 6 # Maximum allowed number of DNS queries for a given name resolution
}
}
+ jms {
+ #replyTimeoutScanPeriod = 1000 # scan period for timedout reply messages
+ }
data {
- #writers = "console, file" # The lists of DataWriters to which Gatling write simulation data (currently supported : "console", "file", "graphite", "jdbc")
- #reader = file # The DataReader used by the charting engine for reading simulation results
+ #writers = [console, file] # The list of DataWriters to which Gatling write simulation data (currently supported : console, file, graphite)
console {
- #light = false # When set to true, displays a light version without detailed request stats
+ #light = false # When set to true, displays a light version without detailed request stats
+ #writePeriod = 5 # Write interval, in seconds
}
file {
- #bufferSize = 8192 # FileDataWriter's internal data buffer size, in bytes
+ #bufferSize = 8192 # FileDataWriter's internal data buffer size, in bytes
}
leak {
#noActivityTimeout = 30 # Period, in seconds, for which Gatling may have no activity before considering a leak may be happening
}
- jdbc {
- db {
- #url = "jdbc:mysql://localhost:3306/temp" # The JDBC URL used by the JDBC DataWriter
- #username = "root" # The database user used by the JDBC DataWriter
- #password = "123123q" # The password for the specified user
- }
- #bufferSize = 20 # The size for each batch of SQL inserts to send to the database
- create {
- #createRunRecordTable = "CREATE TABLE IF NOT EXISTS `RunRecords` ( `id` INT NOT NULL AUTO_INCREMENT , `runDate` DATETIME NULL , `simulationId` VARCHAR(45) NULL , `runDescription` VARCHAR(45) NULL , PRIMARY KEY (`id`) )"
- #createRequestRecordTable = "CREATE TABLE IF NOT EXISTS `RequestRecords` (`id` int(11) NOT NULL AUTO_INCREMENT, `runId` int DEFAULT NULL, `scenario` varchar(45) DEFAULT NULL, `userId` VARCHAR(30) NULL, `name` varchar(50) DEFAULT NULL, `requestStartDate` bigint DEFAULT NULL, `requestEndDate` bigint DEFAULT NULL, `responseStartDate` bigint DEFAULT NULL, `responseEndDate` bigint DEFAULT NULL, `status` varchar(2) DEFAULT NULL, `message` varchar(4500) DEFAULT NULL, `responseTime` bigint DEFAULT NULL, PRIMARY KEY (`id`) )"
- #createScenarioRecordTable = "CREATE TABLE IF NOT EXISTS `ScenarioRecords` (`id` int(11) NOT NULL AUTO_INCREMENT, `runId` int DEFAULT NULL, `scenarioName` varchar(45) DEFAULT NULL, `userId` VARCHAR(30) NULL, `event` varchar(50) DEFAULT NULL, `startDate` bigint DEFAULT NULL, `endDate` bigint DEFAULT NULL, PRIMARY KEY (`id`) )"
- #createGroupRecordTable = "CREATE TABLE IF NOT EXISTS `GroupRecords` (`id` int(11) NOT NULL AUTO_INCREMENT, `runId` int DEFAULT NULL, `scenarioName` varchar(45) DEFAULT NULL, `userId` VARCHAR(30) NULL, `entryDate` bigint DEFAULT NULL, `exitDate` bigint DEFAULT NULL, `status` varchar(2) DEFAULT NULL, PRIMARY KEY (`id`) )"
- }
- insert {
- #insertRunRecord = "INSERT INTO RunRecords (runDate, simulationId, runDescription) VALUES (?,?,?)"
- #insertRequestRecord = "INSERT INTO RequestRecords (runId, scenario, userId, name, requestStartDate, requestEndDate, responseStartDate, responseEndDate, status, message, responseTime) VALUES (?,?,?,?,?,?,?,?,?,?,?)"
- #insertScenarioRecord = "INSERT INTO ScenarioRecords (runId, scenarioName, userId, event, startDate, endDate) VALUES (?,?,?,?,?,?)"
- #insertGroupRecord = "INSERT INTO GroupRecords (runId, scenarioName, userId, entryDate, exitDate, status) VALUES (?,?,?,?,?,?)"
- }
- }
graphite {
#light = false # only send the all* stats
#host = "localhost" # The host where the Carbon server is located
- #port = 2003 # The port to which the Carbon server listens to
+ #port = 2003 # The port to which the Carbon server listens to (2003 is default for plaintext, 2004 is default for pickle)
#protocol = "tcp" # The protocol used to send data to Carbon (currently supported : "tcp", "udp")
#rootPathPrefix = "gatling" # The common prefix of all metrics sent to Graphite
- #bufferSize = 8192 # GraphiteDataWriter's internal data buffer size, in bytes
- #writeInterval = 1 # GraphiteDataWriter's write interval, in seconds
+ #bufferSize = 8192 # Internal data buffer size, in bytes
+ #writePeriod = 1 # Write period, in seconds
}
+ #enableAnalytics = true # Anonymous Usage Analytics (no tracking), please support
}
}