|
39 | 39 | import java.util.Locale;
|
40 | 40 | import java.util.concurrent.TimeUnit;
|
41 | 41 | import java.util.concurrent.atomic.AtomicReference;
|
| 42 | +import java.util.logging.Logger; |
42 | 43 | import org.HdrHistogram.Histogram;
|
43 | 44 |
|
44 | 45 | /**
|
|
48 | 49 | * https://github.com/grpc/grpc/blob/master/doc/interop-test-descriptions.md#rpc_soak
|
49 | 50 | */
|
50 | 51 | final class SoakClient {
|
| 52 | + private static final Logger logger = Logger.getLogger(SoakClient.class.getName()); |
| 53 | + |
51 | 54 | private static class SoakIterationResult {
|
52 | 55 | public SoakIterationResult(long latencyMs, Status status) {
|
53 | 56 | this.latencyMs = latencyMs;
|
@@ -171,7 +174,7 @@ public static void performSoakTest(
|
171 | 174 | iterationsDone += threadResult.getIterationsDone();
|
172 | 175 | latencies.add(threadResult.getLatencies());
|
173 | 176 | }
|
174 |
| - System.err.println( |
| 177 | + logger.info( |
175 | 178 | String.format(
|
176 | 179 | Locale.US,
|
177 | 180 | "(server_uri: %s) soak test ran: %d / %d iterations. total failures: %d. "
|
@@ -244,14 +247,16 @@ private static void executeSoakTestInThread(
|
244 | 247 | if (!result.getStatus().equals(Status.OK)) {
|
245 | 248 | threadResults.threadFailures++;
|
246 | 249 | logStr.append(String.format(" failed: %s", result.getStatus()));
|
| 250 | + logger.warning(logStr.toString()); |
247 | 251 | } else if (result.getLatencyMs() > maxAcceptablePerIterationLatencyMs) {
|
248 | 252 | threadResults.threadFailures++;
|
249 | 253 | logStr.append(
|
250 | 254 | " exceeds max acceptable latency: " + maxAcceptablePerIterationLatencyMs);
|
| 255 | + logger.warning(logStr.toString()); |
251 | 256 | } else {
|
252 | 257 | logStr.append(" succeeded");
|
| 258 | + logger.info(logStr.toString()); |
253 | 259 | }
|
254 |
| - System.err.println(logStr.toString()); |
255 | 260 | threadResults.iterationsDone++;
|
256 | 261 | threadResults.getLatencies().recordValue(result.getLatencyMs());
|
257 | 262 | long remainingNs = earliestNextStartNs - System.nanoTime();
|
|
0 commit comments