Skip to content

Commit b536571

Browse files
committed
fixed issue where secondary benchmarks were not found
1 parent 99e697e commit b536571

File tree

5 files changed

+46
-2
lines changed

5 files changed

+46
-2
lines changed

test/http-client-benchmarks/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,31 @@ There are three ways to run benchmarks.
1717
# Run specific benchmark
1818
```
1919
java -jar target/http-client-benchmarks.jar Apache5Benchmark
20+
21+
# Run with different maxConnections values
22+
java -jar target/http-client-benchmarks.jar Apache4Benchmark -p maxConnections=100
23+
24+
# Run with different threadCount values
25+
java -jar target/http-client-benchmarks.jar Apache4Benchmark -p threadCount=50
26+
27+
# Run with both parameters changed
28+
java -jar target/http-client-benchmarks.jar Apache4Benchmark -p maxConnections=100 -p threadCount=50
29+
2030
```
2131

2232
# Run all benchmarks: 3 warm up iterations, 3 benchmark iterations, 1 fork.
2333
```
2434
java -jar target/http-client-benchmarks.jar -wi 3 -i 3 -f 1
35+
36+
# Test multiple connection pool sizes
37+
java -jar target/http-client-benchmarks.jar Apache4Benchmark -p maxConnections=25,50,100,200
38+
39+
# Test multiple thread counts
40+
java -jar target/http-client-benchmarks.jar Apache4Benchmark -p threadCount=10,20,40,80
41+
42+
# Test combinations (Cartesian product)
43+
java -jar target/http-client-benchmarks.jar Apache4Benchmark -p maxConnections=50,100 -p threadCount=20,40
44+
2545
```
2646

2747
- Using `mvn exec:exec` commands to invoke `UnifiedBenchmarkRunner` main method

test/http-client-benchmarks/src/main/java/software/amazon/awssdk/benchmark/UnifiedBenchmarkRunner.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,24 @@ private static List<BenchmarkResult> runBenchmark(String clientType,
118118
benchmarkName = benchmarkName + " (" + paramInfo + ")";
119119
}
120120

121+
double avgLatency = 0.0;
122+
double p99Latency = 0.0;
123+
124+
// Safely get secondary metrics if they exist
125+
if (result.getSecondaryResults().containsKey("avgLatency")) {
126+
avgLatency = result.getSecondaryResults().get("avgLatency").getScore();
127+
}
128+
129+
if (result.getSecondaryResults().containsKey("p99Latency")) {
130+
p99Latency = result.getSecondaryResults().get("p99Latency").getScore();
131+
}
132+
121133
return new BenchmarkResult(
122134
clientType,
123135
benchmarkName,
124136
result.getPrimaryResult().getScore(),
125-
result.getSecondaryResults().get("avgLatency").getScore(),
126-
result.getSecondaryResults().get("p99Latency").getScore(),
137+
avgLatency,
138+
p99Latency,
127139
result.getParams().getThreads()
128140
);
129141
})

test/http-client-benchmarks/src/main/java/software/amazon/awssdk/benchmark/apache4/Apache4Benchmark.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,18 +102,21 @@ public void teardown() {
102102
}
103103

104104
@Benchmark
105+
@OutputTimeUnit(TimeUnit.SECONDS)
105106
@Override
106107
public void simpleGet(Blackhole blackhole) throws Exception {
107108
s3Benchmark.executeGet("5MB", blackhole);
108109
}
109110

110111
@Benchmark
112+
@OutputTimeUnit(TimeUnit.SECONDS)
111113
@Override
112114
public void simplePut(Blackhole blackhole) {
113115
s3Benchmark.executePut("5MB", blackhole);
114116
}
115117

116118
@Benchmark
119+
@OutputTimeUnit(TimeUnit.SECONDS)
117120
@Override
118121
public void multiThreadedGet(Blackhole blackhole) throws Exception {
119122
List<Future<?>> futures = new ArrayList<>();
@@ -133,6 +136,7 @@ public void multiThreadedGet(Blackhole blackhole) throws Exception {
133136
}
134137

135138
@Benchmark
139+
@OutputTimeUnit(TimeUnit.SECONDS)
136140
@Override
137141
public void multiThreadedPut(Blackhole blackhole) throws Exception {
138142
List<Future<?>> futures = new ArrayList<>();

test/http-client-benchmarks/src/main/java/software/amazon/awssdk/benchmark/apache5/Apache5Benchmark.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,18 +104,21 @@ public void teardown() {
104104
}
105105

106106
@Benchmark
107+
@OutputTimeUnit(TimeUnit.SECONDS)
107108
@Override
108109
public void simpleGet(Blackhole blackhole) throws Exception {
109110
s3Benchmark.executeGet("5MB", blackhole);
110111
}
111112

112113
@Benchmark
114+
@OutputTimeUnit(TimeUnit.SECONDS)
113115
@Override
114116
public void simplePut(Blackhole blackhole) {
115117
s3Benchmark.executePut("5MB", blackhole);
116118
}
117119

118120
@Benchmark
121+
@OutputTimeUnit(TimeUnit.SECONDS)
119122
@Override
120123
public void multiThreadedGet(Blackhole blackhole) throws Exception {
121124
List<Future<?>> futures = new ArrayList<>();
@@ -135,6 +138,7 @@ public void multiThreadedGet(Blackhole blackhole) throws Exception {
135138
}
136139

137140
@Benchmark
141+
@OutputTimeUnit(TimeUnit.SECONDS)
138142
@Override
139143
public void multiThreadedPut(Blackhole blackhole) throws Exception {
140144
List<Future<?>> futures = new ArrayList<>();

test/http-client-benchmarks/src/main/java/software/amazon/awssdk/benchmark/apache5/Apache5VirtualBenchmark.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,18 +149,21 @@ private ExecutorService createVirtualThreadExecutor() {
149149
}
150150

151151
@Benchmark
152+
@OutputTimeUnit(TimeUnit.SECONDS)
152153
@Override
153154
public void simpleGet(Blackhole blackhole) throws Exception {
154155
s3Benchmark.executeGet("5MB", blackhole);
155156
}
156157

157158
@Benchmark
159+
@OutputTimeUnit(TimeUnit.SECONDS)
158160
@Override
159161
public void simplePut(Blackhole blackhole) {
160162
s3Benchmark.executePut("5MB", blackhole);
161163
}
162164

163165
@Benchmark
166+
@OutputTimeUnit(TimeUnit.SECONDS)
164167
@Override
165168
public void multiThreadedGet(Blackhole blackhole) throws Exception {
166169
List<Future<?>> futures = new ArrayList<>();
@@ -180,6 +183,7 @@ public void multiThreadedGet(Blackhole blackhole) throws Exception {
180183
}
181184

182185
@Benchmark
186+
@OutputTimeUnit(TimeUnit.SECONDS)
183187
@Override
184188
public void multiThreadedPut(Blackhole blackhole) throws Exception {
185189
List<Future<?>> futures = new ArrayList<>();

0 commit comments

Comments
 (0)