mirror of https://github.com/grpc/grpc-java.git
interop-testing: make soak test use logger rather than writing to stderr directly
This commit is contained in:
parent
6ffcbd927e
commit
d947c80f99
|
|
@ -39,6 +39,7 @@ import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
import java.util.logging.Logger;
|
||||||
import org.HdrHistogram.Histogram;
|
import org.HdrHistogram.Histogram;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -48,6 +49,8 @@ import org.HdrHistogram.Histogram;
|
||||||
* https://github.com/grpc/grpc/blob/master/doc/interop-test-descriptions.md#rpc_soak
|
* https://github.com/grpc/grpc/blob/master/doc/interop-test-descriptions.md#rpc_soak
|
||||||
*/
|
*/
|
||||||
final class SoakClient {
|
final class SoakClient {
|
||||||
|
private static final Logger logger = Logger.getLogger(SoakClient.class.getName());
|
||||||
|
|
||||||
private static class SoakIterationResult {
|
private static class SoakIterationResult {
|
||||||
public SoakIterationResult(long latencyMs, Status status) {
|
public SoakIterationResult(long latencyMs, Status status) {
|
||||||
this.latencyMs = latencyMs;
|
this.latencyMs = latencyMs;
|
||||||
|
|
@ -171,7 +174,7 @@ final class SoakClient {
|
||||||
iterationsDone += threadResult.getIterationsDone();
|
iterationsDone += threadResult.getIterationsDone();
|
||||||
latencies.add(threadResult.getLatencies());
|
latencies.add(threadResult.getLatencies());
|
||||||
}
|
}
|
||||||
System.err.println(
|
logger.info(
|
||||||
String.format(
|
String.format(
|
||||||
Locale.US,
|
Locale.US,
|
||||||
"(server_uri: %s) soak test ran: %d / %d iterations. total failures: %d. "
|
"(server_uri: %s) soak test ran: %d / %d iterations. total failures: %d. "
|
||||||
|
|
@ -244,14 +247,16 @@ final class SoakClient {
|
||||||
if (!result.getStatus().equals(Status.OK)) {
|
if (!result.getStatus().equals(Status.OK)) {
|
||||||
threadResults.threadFailures++;
|
threadResults.threadFailures++;
|
||||||
logStr.append(String.format(" failed: %s", result.getStatus()));
|
logStr.append(String.format(" failed: %s", result.getStatus()));
|
||||||
|
logger.warning(logStr.toString());
|
||||||
} else if (result.getLatencyMs() > maxAcceptablePerIterationLatencyMs) {
|
} else if (result.getLatencyMs() > maxAcceptablePerIterationLatencyMs) {
|
||||||
threadResults.threadFailures++;
|
threadResults.threadFailures++;
|
||||||
logStr.append(
|
logStr.append(
|
||||||
" exceeds max acceptable latency: " + maxAcceptablePerIterationLatencyMs);
|
" exceeds max acceptable latency: " + maxAcceptablePerIterationLatencyMs);
|
||||||
|
logger.warning(logStr.toString());
|
||||||
} else {
|
} else {
|
||||||
logStr.append(" succeeded");
|
logStr.append(" succeeded");
|
||||||
|
logger.info(logStr.toString());
|
||||||
}
|
}
|
||||||
System.err.println(logStr.toString());
|
|
||||||
threadResults.iterationsDone++;
|
threadResults.iterationsDone++;
|
||||||
threadResults.getLatencies().recordValue(result.getLatencyMs());
|
threadResults.getLatencies().recordValue(result.getLatencyMs());
|
||||||
long remainingNs = earliestNextStartNs - System.nanoTime();
|
long remainingNs = earliestNextStartNs - System.nanoTime();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue