diff --git a/.gitignore b/.gitignore
index a705e76..02df3c0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,26 @@
+# Ignore Maven target folder
target/
-*.log
+
+# Intellij
*.iml
-*log.txt
+*.ipr
+*.iws
+.idea
+
+# Eclipse
+.settings/
+.classpath
+.project
+.factorypath
+
+# ignore NetBeans files
+nbactions.xml
+nb-configuration.xml
+catalog.xml
+nbproject
+
+# VS Code
+**/.vscode/
+
+# macOS Files
+.DS_Store
diff --git a/pom.xml b/pom.xml
index 35973b0..178b0fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,88 +16,145 @@
UTF-8
-
- 1.0.2.Final
- 7.7.Final
-
- 1.0.3.Final
+ 3.11.5
+ 10.0.0
+ 5.0.0.Final
- 2.1.1
+ 4.9.6
+ 3.1.0
+ 4.9.2
+ 3.4.0
-
- 1.7
- 1.7
- 2.2.0
- 2.5
- 3.2.2
+
+ 17
+
+
true
+
+
+ ${project.build.directory}${file.separator}wildfly
- org.jboss.spec
- jboss-javaee-7.0
- ${version.jboss.spec.javaee.7.0}
- pom
+ jakarta.platform
+ jakarta.jakartaee-bom
+ ${version.jakarta.ee}
import
+ pom
-
- commons-codec
- commons-codec
- 1.10
+ jakarta.annotation
+ jakarta.annotation-api
+ provided
-
-
-
- javax.enterprise
- cdi-api
+ jakarta.enterprise
+ jakarta.enterprise.cdi-api
provided
-
-
- org.jboss.spec.javax.annotation
- jboss-annotations-api_1.2_spec
+ jakarta.inject
+ jakarta.inject-api
provided
-
-
- org.jboss.spec.javax.ws.rs
- jboss-jaxrs-api_2.0_spec
+ jakarta.json
+ jakarta.json-api
provided
-
- javax.servlet
- servlet-api
- ${http-servlet.version}
+ jakarta.json.bind
+ jakarta.json.bind-api
+ provided
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ provided
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ provided
+
+
+ jakarta.xml.bind
+ jakarta.xml.bind-api
provided
io.gatling.highcharts
gatling-charts-highcharts
- ${gatling.version}
+ ${version.io.gatling}
test
+
+ org.eclipse.parsson
+ parsson
+ 1.1.6
+ test
+
+
org.json
json
- 20151123
+ 20240303
test
+
+
+
+
+ maven-war-plugin
+ ${version.war.plugin}
+
+
+ false
+
+
+
+ org.wildfly.plugins
+ wildfly-maven-plugin
+ ${version.wildfly.maven.plugin}
+
+ ${jboss.home}
+ ${jboss.home}
+
+
+ org.wildfly
+ wildfly-ee-galleon-pack
+
+
+
+
+
+ org.wildfly.channels
+ wildfly-ee
+
+
+
+
+ ee-core-profile-server
+
+
+ true
+
+
+
+
+
+
single
@@ -123,43 +180,24 @@
org.wildfly.plugins
wildfly-maven-plugin
- ${version.wildfly.maven.plugin}
-
- ${wildfly-hostname}
- ${wildfly-port}
- ${wildfly-username}
- ${wildfly-password}
-
+
- deploy
+ provision
pre-integration-test
- deploy
+ provision
-
-
-
-
-
-
-
-
- server_as7
-
-
- !server
-
-
-
- ${project.artifactId}
-
-
- org.jboss.as.plugins
- jboss-as-maven-plugin
- ${version.jboss.as.maven.plugin}
-
+
+
+ start
+ pre-integration-test
+
+ start
+
+
+
deploy
pre-integration-test
@@ -167,29 +205,7 @@
deploy
-
-
-
-
-
-
-
- server-undeploy
-
-
- !server
-
-
-
-
-
- org.wildfly.plugins
- wildfly-maven-plugin
- ${version.wildfly.maven.plugin}
-
- true
-
-
+
undeploy
post-integration-test
@@ -197,6 +213,13 @@
undeploy
+
+ shutdown
+ post-integration-test
+
+ shutdown
+
+
@@ -214,12 +237,24 @@
net.alchim31.maven
scala-maven-plugin
- ${scala-maven-plugin.version}
+ ${version.scala-maven-plugin}
+
+ -deprecation
+
+
+
+ test-scala-compile
+
+ testCompile
+
+ test-compile
+
+
io.gatling
gatling-maven-plugin
- ${gatling.version}
+ ${version.gatling-maven-plugin}
${gatling.runMultipleSimulations}
@@ -227,7 +262,8 @@
integration-test
- execute
+ test
+ verify
@@ -235,7 +271,7 @@
org.apache.maven.plugins
maven-antrun-plugin
- 1.8
+ ${version.maven-ant-plugin}
clean-pld-results
@@ -257,8 +293,9 @@
-
-
+
+
+
@@ -269,17 +306,4 @@
-
-
-
-
- maven-war-plugin
- ${version.war.plugin}
-
-
- false
-
-
-
-
diff --git a/runStats.sh b/runStats.sh
index 29a361e..a0785e9 100755
--- a/runStats.sh
+++ b/runStats.sh
@@ -11,13 +11,13 @@ SIMULATION_CLASS="org.jboss.perf.HashingServletSimulations\$Get"
REQUESTS_PER_SECOND=$MIN_RPS
NO_REPORTS=TRUE
-HOST=_HOSTNAME_
+HOST="${HOSTNAME}"
echo "Starting runs"
while [ $REQUESTS_PER_SECOND -lt $MAX_RPS ]
do
echo "Running @: $REQUESTS_PER_SECOND"
- mvn -P client gatling:execute -Dtest.host=$HOST -Dtest.rps=$REQUESTS_PER_SECOND -Dtest.rampUp=$RAMP_UP -Dtest.duration=$DURATION -Dtest.pauseTime=$THINK_TIME -Dgatling.simulationClass=$SIMULATION_CLASS -Dgatling.noReports=$NO_REPORTS -Dgatling.outputName=$REQUESTS_PER_SECOND
+ mvn -P client verify -Dtest.host=$HOST -Dtest.rps=$REQUESTS_PER_SECOND -Dtest.rampUp=$RAMP_UP -Dtest.duration=$DURATION -Dtest.pauseTime=$THINK_TIME -Dgatling.simulationClass=$SIMULATION_CLASS -Dgatling.noReports=$NO_REPORTS -Dgatling.outputName=$REQUESTS_PER_SECOND
REQUESTS_PER_SECOND=$[$REQUESTS_PER_SECOND+$RPS_INCREMENT]
done
echo "done"
diff --git a/src/main/java/org/jboss/perf/Activator.java b/src/main/java/org/jboss/perf/Activator.java
index fbadcea..80eb597 100644
--- a/src/main/java/org/jboss/perf/Activator.java
+++ b/src/main/java/org/jboss/perf/Activator.java
@@ -1,11 +1,11 @@
package org.jboss.perf;
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
/**
* @author Radim Vansa <rvansa@redhat.com>
diff --git a/src/main/java/org/jboss/perf/BytesHandler.java b/src/main/java/org/jboss/perf/BytesHandler.java
index 64c154b..33e67b3 100644
--- a/src/main/java/org/jboss/perf/BytesHandler.java
+++ b/src/main/java/org/jboss/perf/BytesHandler.java
@@ -1,12 +1,12 @@
package org.jboss.perf;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.util.Random;
diff --git a/src/main/java/org/jboss/perf/HashingServlet.java b/src/main/java/org/jboss/perf/HashingServlet.java
index dd5d275..1a430f5 100644
--- a/src/main/java/org/jboss/perf/HashingServlet.java
+++ b/src/main/java/org/jboss/perf/HashingServlet.java
@@ -1,21 +1,27 @@
package org.jboss.perf;
-import org.apache.commons.codec.binary.Hex;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
/**
* Created by johara on 22/04/16.
*/
+@WebServlet("/test/HashingTest/")
public class HashingServlet extends HttpServlet {
- private ThreadLocal mdg = new ThreadLocal<>();
+
+ private static final char[] table = {
+ '0', '1', '2', '3', '4', '5', '6', '7',
+ '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
+ };
+ private final ThreadLocal mdg = new ThreadLocal<>();
public HashingServlet() {
initialiseMessageDigest();
@@ -48,7 +54,7 @@ public void doGet(HttpServletRequest request,
updateMdg(hash);
for (int i = 0; i < max; i++) {
- responseBuild.append(Hex.encodeHexString(getDigest()));
+ responseBuild.append(bytesToHexString(getDigest()));
updateMdg(hash);
}
@@ -72,4 +78,12 @@ private void checkMdg() {
initialiseMessageDigest();
}
}
+
+ private static String bytesToHexString(final byte[] bytes) {
+ final StringBuilder builder = new StringBuilder(bytes.length * 2);
+ for (byte b : bytes) {
+ builder.append(table[b >> 4 & 0x0f]).append(table[b & 0x0f]);
+ }
+ return builder.toString();
+ }
}
diff --git a/src/main/java/org/jboss/perf/JaxbHandler.java b/src/main/java/org/jboss/perf/JaxbHandler.java
index bca8a6f..e811eff 100644
--- a/src/main/java/org/jboss/perf/JaxbHandler.java
+++ b/src/main/java/org/jboss/perf/JaxbHandler.java
@@ -3,13 +3,13 @@
import org.jboss.perf.model.JaxbPerson;
import org.jboss.perf.model.PojoPerson;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
/**
* @author Radim Vansa <rvansa@redhat.com>
diff --git a/src/main/java/org/jboss/perf/ParamHandler.java b/src/main/java/org/jboss/perf/ParamHandler.java
index 76e8797..7af84ea 100644
--- a/src/main/java/org/jboss/perf/ParamHandler.java
+++ b/src/main/java/org/jboss/perf/ParamHandler.java
@@ -2,17 +2,17 @@
import org.jboss.perf.model.TwoStrings;
-import javax.ws.rs.CookieParam;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.MatrixParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.CookieParam;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.MatrixParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.Response;
/**
* @author Radim Vansa <rvansa@redhat.com>
diff --git a/src/main/java/org/jboss/perf/PojoHandler.java b/src/main/java/org/jboss/perf/PojoHandler.java
index b207809..0f6feba 100644
--- a/src/main/java/org/jboss/perf/PojoHandler.java
+++ b/src/main/java/org/jboss/perf/PojoHandler.java
@@ -2,13 +2,13 @@
import org.jboss.perf.model.PojoPerson;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
/**
* @author Radim Vansa <rvansa@redhat.com>
diff --git a/src/main/java/org/jboss/perf/TextHandler.java b/src/main/java/org/jboss/perf/TextHandler.java
index 2bb5910..29bc784 100644
--- a/src/main/java/org/jboss/perf/TextHandler.java
+++ b/src/main/java/org/jboss/perf/TextHandler.java
@@ -1,13 +1,13 @@
package org.jboss.perf;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
/**
* @author Radim Vansa <rvansa@redhat.com>
diff --git a/src/main/java/org/jboss/perf/model/JaxbPerson.java b/src/main/java/org/jboss/perf/model/JaxbPerson.java
index b4606bf..fd0df3b 100644
--- a/src/main/java/org/jboss/perf/model/JaxbPerson.java
+++ b/src/main/java/org/jboss/perf/model/JaxbPerson.java
@@ -1,10 +1,10 @@
package org.jboss.perf.model;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
/**
* @author Radim Vansa <rvansa@redhat.com>
diff --git a/src/main/webapp/WEB-INF/beans.xml b/src/main/webapp/WEB-INF/beans.xml
index 460d1cf..e69de29 100644
--- a/src/main/webapp/WEB-INF/beans.xml
+++ b/src/main/webapp/WEB-INF/beans.xml
@@ -1,24 +0,0 @@
-
-
-
-
-
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index ef244ad..0000000
--- a/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
- JavaServerFaces
-
-
-
- Test Servlet
- org.jboss.perf.HashingServlet
- 1
-
-
-
- Test Servlet
- /test/HashingTest/*
-
-
-
diff --git a/src/test/java/org/jboss/perf/PrintStats.java b/src/test/java/org/jboss/perf/PrintStats.java
index 60296b1..76d291e 100644
--- a/src/test/java/org/jboss/perf/PrintStats.java
+++ b/src/test/java/org/jboss/perf/PrintStats.java
@@ -2,13 +2,13 @@
import org.json.JSONObject;
-import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.nio.file.Path;
import java.util.Arrays;
import java.util.Map;
import java.util.TreeMap;
+import java.util.stream.Stream;
/**
* This is here also as an example how to retrieve data in order to persist them, e.g. in PerfRepo
@@ -16,116 +16,109 @@
* @author Radim Vansa <rvansa@redhat.com>
*/
public class PrintStats {
- public static void main(String[] args) {
- if (args.length != 1) {
- throw new IllegalArgumentException("Expected single argument, got: " + Arrays.toString(args));
- }
- File dir = new File(args[0]);
- if (!dir.isDirectory()) {
- throw new IllegalArgumentException(dir + " is not a directory");
- }
- Map statsMap = new TreeMap<>();
- for (File subDir : dir.listFiles()) {
- File statsFile = Paths.get(subDir.toString(), "js", "stats.js").toFile();
- if (!statsFile.exists()) {
- System.err.printf("Cannot find file %s%n", statsFile.toString());
- }
- try {
- String allFile = new String(Files.readAllBytes(statsFile.toPath()));
- int start = allFile.indexOf('{');
- int end = start + 1, brackets = 1;
- for ( ;end < allFile.length() && brackets > 0; ++end) {
- switch (allFile.charAt(end)) {
- case '{':
- ++brackets;
- break;
- case '}':
- --brackets;
- break;
- }
- }
- JSONObject object = new JSONObject(allFile.substring(start, end));
- JSONObject contents = object.getJSONObject("contents");
- for (String req : contents.keySet()) {
- JSONObject stats = contents.getJSONObject(req).getJSONObject("stats");
- String name = stats.getString("name");
- Stats data = new Stats(stats);
- statsMap.put(name, data);
- }
- } catch (IOException e) {
- System.err.printf("Cannot read file %s%n", statsFile.toString());
- }
-
- }
+ public static void main(String[] args) throws Exception {
+ if (args.length != 1) {
+ throw new IllegalArgumentException("Expected single argument, got: " + Arrays.toString(args));
+ }
+ final Path dir = Path.of(args[0]);
+ if (!Files.isDirectory(dir)) {
+ throw new IllegalArgumentException(dir + " is not a directory");
+ }
+ final Map statsMap = new TreeMap<>();
+ try (Stream paths = Files.walk(dir)) {
+ paths.filter(f -> f.getFileName().toString().equals("stats.js"))
+ .forEach(statsFile -> {
+ try {
+ String allFile = new String(Files.readAllBytes(statsFile));
+ final JSONObject contents = getJsonObject(allFile);
+ for (String req : contents.keySet()) {
+ JSONObject stats = contents.getJSONObject(req).getJSONObject("stats");
+ String name = stats.getString("name");
+ Stats data = new Stats(stats);
+ statsMap.put(name, data);
+ }
+ } catch (IOException e) {
+ System.err.printf("Cannot read file %s%n", statsFile.toString());
+ }
+ });
+ }
- //remove stream and lambda to run on java 7 - need this to run on jboss web, jboss AS7 will not boot on java 8
-// int maxLenght = statsMap.keySet().stream().map( s -> s.length()).max(Integer::compare).get();
- int maxLenght = 0;
+ final int maxLength = statsMap.keySet().stream().map(String::length).max(Integer::compare).orElse(50);
+ String indent = indent(maxLength - 4);
+ System.out.println();
+ System.out.printf("Test%s Requests Errors Mean Std.dev. Min Max 50th pct 75th pct 95th pct 99th pct%n", indent);
+ System.out.printf(" %s -------- -------- -------- -------- -------- -------- -------- -------- -------- --------%n", indent);
+ for (Map.Entry entry : statsMap.entrySet()) {
+ Stats s = entry.getValue();
+ System.out.printf("%s%s %8d %8d %8d %8d %8d %8d %8d %8d %8d %8d%n", entry.getKey(), indent(maxLength - entry.getKey()
+ .length()),
+ s.requests.total, s.requests.ko, s.meanRT.ok, s.stdDev.ok, s.minRT.ok, s.maxRT.ok, s.pct50th.ok, s.pct75th.ok, s.pct95th.ok, s.pct99th.ok);
+ }
+ System.out.println();
+ }
- for(String key: statsMap.keySet()){
- if(key.length() > maxLenght){
- maxLenght = key.length();
- }
- }
- String indent = indent(maxLenght - 4);
- System.out.println();
- System.out.printf("Test%s Requests Errors Mean Std.dev. Min Max 50th pct 75th pct 95th pct 99th pct%n", indent);
- System.out.printf(" %s -------- -------- -------- -------- -------- -------- -------- -------- -------- --------%n", indent);
- for (Map.Entry entry : statsMap.entrySet()) {
- Stats s = entry.getValue();
- System.out.printf("%s%s %8d %8d %8d %8d %8d %8d %8d %8d %8d %8d%n", entry.getKey(), indent(maxLenght - entry.getKey().length()),
- s.requests.total, s.requests.ko, s.meanRT.ok, s.stdDev.ok, s.minRT.ok, s.maxRT.ok, s.pct50th.ok, s.pct75th.ok, s.pct95th.ok, s.pct99th.ok);
- }
- System.out.println();
- }
+ private static JSONObject getJsonObject(final String allFile) {
+ int start = allFile.indexOf('{');
+ int end = start + 1, brackets = 1;
+ for (; end < allFile.length() && brackets > 0; ++end) {
+ switch (allFile.charAt(end)) {
+ case '{':
+ ++brackets;
+ break;
+ case '}':
+ --brackets;
+ break;
+ }
+ }
+ JSONObject object = new JSONObject(allFile.substring(start, end));
+ return object.getJSONObject("contents");
+ }
- private static String indent(int chars) {
- StringBuilder sb = new StringBuilder(chars);
- for (int i = 0; i < chars; ++i) sb.append(' ');
- return sb.toString();
- }
+ private static String indent(int chars) {
+ return " ".repeat(Math.max(0, chars));
+ }
- private static class Metrics {
- final int total;
- final int ok;
- final int ko;
+ private static class Metrics {
+ final int total;
+ final int ok;
+ final int ko;
- public Metrics(JSONObject object) {
- total = parseOrZero(object.getString("total"));
- ok = parseOrZero(object.getString("ok"));
- ko = parseOrZero(object.getString("ko"));
- }
+ public Metrics(JSONObject object) {
+ total = parseOrZero(object.getString("total"));
+ ok = parseOrZero(object.getString("ok"));
+ ko = parseOrZero(object.getString("ko"));
+ }
- private int parseOrZero(String str) {
- try {
- return Integer.parseInt(str);
- } catch (NumberFormatException e) {
- return 0;
- }
- }
- }
+ private int parseOrZero(String str) {
+ try {
+ return Integer.parseInt(str);
+ } catch (NumberFormatException e) {
+ return 0;
+ }
+ }
+ }
- private static class Stats {
- final Metrics requests;
- final Metrics minRT;
- final Metrics maxRT;
- final Metrics meanRT;
- final Metrics stdDev;
- final Metrics pct50th;
- final Metrics pct75th;
- final Metrics pct95th;
- final Metrics pct99th;
+ private static class Stats {
+ final Metrics requests;
+ final Metrics minRT;
+ final Metrics maxRT;
+ final Metrics meanRT;
+ final Metrics stdDev;
+ final Metrics pct50th;
+ final Metrics pct75th;
+ final Metrics pct95th;
+ final Metrics pct99th;
- public Stats(JSONObject object) {
- requests = new Metrics(object.getJSONObject("numberOfRequests"));
- minRT = new Metrics(object.getJSONObject("minResponseTime"));
- maxRT = new Metrics(object.getJSONObject("maxResponseTime"));
- meanRT = new Metrics(object.getJSONObject("meanResponseTime"));
- stdDev = new Metrics(object.getJSONObject("standardDeviation"));
- pct50th = new Metrics(object.getJSONObject("percentiles1"));
- pct75th = new Metrics(object.getJSONObject("percentiles2"));
- pct95th = new Metrics(object.getJSONObject("percentiles3"));
- pct99th = new Metrics(object.getJSONObject("percentiles4"));
- }
- }
+ public Stats(JSONObject object) {
+ requests = new Metrics(object.getJSONObject("numberOfRequests"));
+ minRT = new Metrics(object.getJSONObject("minResponseTime"));
+ maxRT = new Metrics(object.getJSONObject("maxResponseTime"));
+ meanRT = new Metrics(object.getJSONObject("meanResponseTime"));
+ stdDev = new Metrics(object.getJSONObject("standardDeviation"));
+ pct50th = new Metrics(object.getJSONObject("percentiles1"));
+ pct75th = new Metrics(object.getJSONObject("percentiles2"));
+ pct95th = new Metrics(object.getJSONObject("percentiles3"));
+ pct99th = new Metrics(object.getJSONObject("percentiles4"));
+ }
+ }
}
diff --git a/src/test/scala/org/jboss/perf/AppBinary.scala b/src/test/scala/org/jboss/perf/AppBinary.scala
index 27541f2..96d4f15 100644
--- a/src/test/scala/org/jboss/perf/AppBinary.scala
+++ b/src/test/scala/org/jboss/perf/AppBinary.scala
@@ -1,6 +1,6 @@
package org.jboss.perf
-import javax.ws.rs.core.MediaType
+import jakarta.ws.rs.core.MediaType
import io.gatling.core.Predef._
diff --git a/src/test/scala/org/jboss/perf/AppHtml.scala b/src/test/scala/org/jboss/perf/AppHtml.scala
index fd22788..fe3cbf7 100644
--- a/src/test/scala/org/jboss/perf/AppHtml.scala
+++ b/src/test/scala/org/jboss/perf/AppHtml.scala
@@ -1,6 +1,6 @@
package org.jboss.perf
-import javax.ws.rs.core.MediaType
+import jakarta.ws.rs.core.MediaType
import io.gatling.core.Predef._
diff --git a/src/test/scala/org/jboss/perf/AppJson.scala b/src/test/scala/org/jboss/perf/AppJson.scala
index 89048a9..1c237f0 100644
--- a/src/test/scala/org/jboss/perf/AppJson.scala
+++ b/src/test/scala/org/jboss/perf/AppJson.scala
@@ -1,6 +1,6 @@
package org.jboss.perf
-import javax.ws.rs.core.MediaType
+import jakarta.ws.rs.core.MediaType
import io.gatling.core.Predef._
/**
diff --git a/src/test/scala/org/jboss/perf/AppXml.scala b/src/test/scala/org/jboss/perf/AppXml.scala
index 2c7affd..6b2b1e0 100644
--- a/src/test/scala/org/jboss/perf/AppXml.scala
+++ b/src/test/scala/org/jboss/perf/AppXml.scala
@@ -1,7 +1,7 @@
package org.jboss.perf
-import javax.ws.rs.core.MediaType
+import jakarta.ws.rs.core.MediaType
import io.gatling.core.Predef._
diff --git a/src/test/scala/org/jboss/perf/BaseSimulation.scala b/src/test/scala/org/jboss/perf/BaseSimulation.scala
index 8cfb8dc..6b4d8ef 100644
--- a/src/test/scala/org/jboss/perf/BaseSimulation.scala
+++ b/src/test/scala/org/jboss/perf/BaseSimulation.scala
@@ -5,7 +5,8 @@ import io.gatling.core.structure.ScenarioBuilder
import io.gatling.http.Predef._
import io.gatling.http.request.builder.{HttpRequestBuilder, Http}
-import scala.concurrent.duration._;
+import scala.concurrent.duration._
+import scala.language.postfixOps
/**
* @author Radim Vansa <rvansa@redhat.com>
@@ -19,7 +20,7 @@ abstract class BaseSimulation extends Simulation {
val pauseTime = Integer.getInteger("test.pauseTime", 4);
def protocolConf() = {
- http.baseURL("http://" + host + ":" + port + Activator.ROOT_PATH).doNotTrackHeader("1").shareConnections
+ http.baseUrl("http://" + host + ":" + port + Activator.ROOT_PATH).doNotTrackHeader("1").shareConnections
}
def pre(scenarioBuilder: ScenarioBuilder) = scenarioBuilder
@@ -27,7 +28,7 @@ abstract class BaseSimulation extends Simulation {
def run(http: Http): HttpRequestBuilder;
var name = getClass().getName();
- name = name.substring(name.lastIndexOf('.') + 1).replaceAllLiterally("$", ".");
+ name = name.substring(name.lastIndexOf('.') + 1).replace("$", ".");
// setUp(pre(scenario(name).pause(pauseTime)).exec(run(http(name)))
setUp(pre(scenario(name)).exec(run(http(name)))
.inject(
diff --git a/src/test/scala/org/jboss/perf/JaxbJsonSimulations.scala b/src/test/scala/org/jboss/perf/JaxbJsonSimulations.scala
index 24e6b7f..ec51962 100644
--- a/src/test/scala/org/jboss/perf/JaxbJsonSimulations.scala
+++ b/src/test/scala/org/jboss/perf/JaxbJsonSimulations.scala
@@ -4,7 +4,9 @@ import io.gatling.core.Predef._
import io.gatling.core.body.StringBody
import io.gatling.http.Predef._
import io.gatling.http.request.builder.Http
-import org.jboss.perf.model.JaxbPerson;
+import org.jboss.perf.model.JaxbPerson
+
+import java.nio.charset.StandardCharsets;
/**
* @author Radim Vansa <rvansa@redhat.com>
@@ -18,13 +20,13 @@ object JaxbJsonSimulations {
class Post extends BaseSimulation with AppJson {
def run(http: Http) = {
- http.post("/jaxb").body(new StringBody(JaxbPerson.JOHNNY_JSON)).check(status.is(204));
+ http.post("/jaxb").body(new StringBody(JaxbPerson.JOHNNY_JSON, StandardCharsets.UTF_8)).check(status.is(204));
}
}
class Put extends BaseSimulation with AppJson {
def run(http: Http) = {
- http.put("/jaxb").body(new StringBody(JaxbPerson.JOHNNY_JSON)).check(status.is(200), bodyString.is(JaxbPerson.JOHNNY_JSON));
+ http.put("/jaxb").body(new StringBody(JaxbPerson.JOHNNY_JSON, StandardCharsets.UTF_8)).check(status.is(200), bodyString.is(JaxbPerson.JOHNNY_JSON));
}
}
}
diff --git a/src/test/scala/org/jboss/perf/JaxbXmlSimulations.scala b/src/test/scala/org/jboss/perf/JaxbXmlSimulations.scala
index 16ea53d..2016185 100644
--- a/src/test/scala/org/jboss/perf/JaxbXmlSimulations.scala
+++ b/src/test/scala/org/jboss/perf/JaxbXmlSimulations.scala
@@ -4,7 +4,9 @@ import io.gatling.core.Predef._
import io.gatling.core.body.StringBody
import io.gatling.http.Predef._
import io.gatling.http.request.builder.Http
-import org.jboss.perf.model.JaxbPerson;
+import org.jboss.perf.model.JaxbPerson
+
+import java.nio.charset.StandardCharsets;
/**
* @author Radim Vansa <rvansa@redhat.com>
@@ -18,13 +20,13 @@ object JaxbXmlSimulations {
class Post extends BaseSimulation with AppXml {
def run(http: Http) = {
- http.post("/jaxb").body(new StringBody(JaxbPerson.JOHNNY_XML)).check(status.is(204));
+ http.post("/jaxb").body(new StringBody(JaxbPerson.JOHNNY_XML, StandardCharsets.UTF_8)).check(status.is(204));
}
}
class Put extends BaseSimulation with AppXml {
def run(http: Http) = {
- http.put("/jaxb").body(new StringBody(JaxbPerson.JOHNNY_XML)).check(status.is(200), bodyString.is(JaxbPerson.JOHNNY_XML));
+ http.put("/jaxb").body(new StringBody(JaxbPerson.JOHNNY_XML, StandardCharsets.UTF_8)).check(status.is(200), bodyString.is(JaxbPerson.JOHNNY_XML));
}
}
}
diff --git a/src/test/scala/org/jboss/perf/PojoJsonSimulations.scala b/src/test/scala/org/jboss/perf/PojoJsonSimulations.scala
index 1711a09..ce56bfa 100644
--- a/src/test/scala/org/jboss/perf/PojoJsonSimulations.scala
+++ b/src/test/scala/org/jboss/perf/PojoJsonSimulations.scala
@@ -6,6 +6,8 @@ import io.gatling.http.Predef._
import io.gatling.http.request.builder.Http
import org.jboss.perf.model.PojoPerson
+import java.nio.charset.StandardCharsets
+
/**
* @author Radim Vansa <rvansa@redhat.com>
*/
@@ -25,13 +27,13 @@ object PojoJsonSimulations {
class Post extends BaseSimulation with AppJson {
def run(http: Http) = {
- http.post("/pojo").body(new StringBody(PojoPerson.JOHNNY_JSON)).check(status.is(204));
+ http.post("/pojo").body(new StringBody(PojoPerson.JOHNNY_JSON, StandardCharsets.UTF_8)).check(status.is(204));
}
}
class Put extends BaseSimulation with AppJson {
def run(http: Http) = {
- http.put("/pojo").body(new StringBody(PojoPerson.JOHNNY_JSON)).check(status.is(200), bodyString.is(PojoPerson.JOHNNY_JSON));
+ http.put("/pojo").body(new StringBody(PojoPerson.JOHNNY_JSON, StandardCharsets.UTF_8)).check(status.is(200), bodyString.is(PojoPerson.JOHNNY_JSON));
}
}
}
diff --git a/src/test/scala/org/jboss/perf/TextSimulations.scala b/src/test/scala/org/jboss/perf/TextSimulations.scala
index d8cd5f3..ad6ba75 100644
--- a/src/test/scala/org/jboss/perf/TextSimulations.scala
+++ b/src/test/scala/org/jboss/perf/TextSimulations.scala
@@ -1,6 +1,6 @@
package org.jboss.perf
-import javax.ws.rs.core.MediaType
+import jakarta.ws.rs.core.MediaType
import io.gatling.core.Predef._
import io.gatling.http.Predef._