From 61ad2dab9f6626e59ea3b2bbd2a6a96d0554fcd7 Mon Sep 17 00:00:00 2001 From: mohanli-ml Date: Tue, 8 Aug 2023 20:35:56 +0000 Subject: [PATCH] [test] Allow set request/response size in interop soak test --- test/cpp/interop/client.cc | 11 ++++++++--- test/cpp/interop/interop_client.h | 6 ++---- test/cpp/interop/xds_federation_client.cc | 15 ++++++++++----- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/test/cpp/interop/client.cc b/test/cpp/interop/client.cc index 12ffa8a03bb47..b9edd471ad9fd 100644 --- a/test/cpp/interop/client.cc +++ b/test/cpp/interop/client.cc @@ -120,9 +120,14 @@ ABSL_FLAG(int32_t, soak_min_time_ms_between_rpcs, 0, ABSL_FLAG(int32_t, iteration_interval, 10, "The interval in seconds between rpcs. This is used by " "long_connection test"); -ABSL_FLAG(int32_t, soak_request_size, 271828, "The request size in a soak RPC"); -ABSL_FLAG(int32_t, soak_response_size, 314159, - "The response size in a soak RPC"); +ABSL_FLAG( + int32_t, soak_request_size, 271828, + "The request size in a soak RPC. " + "The default value is set based on the interop large unary test case."); +ABSL_FLAG( + int32_t, soak_response_size, 314159, + "The response size in a soak RPC. " + "The default value is set based on the interop large unary test case."); ABSL_FLAG(std::string, additional_metadata, "", "Additional metadata to send in each request, as a " "semicolon-separated list of key:value pairs."); diff --git a/test/cpp/interop/interop_client.h b/test/cpp/interop/interop_client.h index d59f173207100..cfebf466678a8 100644 --- a/test/cpp/interop/interop_client.h +++ b/test/cpp/interop/interop_client.h @@ -87,15 +87,13 @@ class InteropClient { int32_t max_failures, int64_t max_acceptable_per_iteration_latency_ms, int32_t soak_min_time_ms_between_rpcs, - int32_t overall_timeout_seconds, - int32_t request_size, + int32_t overall_timeout_seconds, int32_t request_size, int32_t response_size); bool DoRpcSoakTest(const std::string& server_uri, int32_t soak_iterations, int32_t max_failures, int64_t max_acceptable_per_iteration_latency_ms, int32_t soak_min_time_ms_between_rpcs, - int32_t overall_timeout_seconds, - int32_t request_size, + int32_t overall_timeout_seconds, int32_t request_size, int32_t response_size); bool DoLongLivedChannelTest(int32_t soak_iterations, int32_t iteration_interval); diff --git a/test/cpp/interop/xds_federation_client.cc b/test/cpp/interop/xds_federation_client.cc index af69afe5c68d9..d66d76648c59e 100644 --- a/test/cpp/interop/xds_federation_client.cc +++ b/test/cpp/interop/xds_federation_client.cc @@ -56,9 +56,14 @@ ABSL_FLAG( ABSL_FLAG(int32_t, soak_min_time_ms_between_rpcs, 0, "The minimum time in milliseconds between consecutive RPCs in a soak " "test (rpc_soak or channel_soak), useful for limiting QPS"); -ABSL_FLAG(int32_t, soak_request_size, 271828, "The request size in a soak RPC"); -ABSL_FLAG(int32_t, soak_response_size, 314159, - "The response size in a soak RPC"); +ABSL_FLAG( + int32_t, soak_request_size, 271828, + "The request size in a soak RPC. " + "The default value is set based on the interop large unary test case."); +ABSL_FLAG( + int32_t, soak_response_size, 314159, + "The response size in a soak RPCi. " + "The default value is set based on the interop large unary test case."); ABSL_FLAG(std::string, test_case, "rpc_soak", "Configure different test cases. Valid options are: " "rpc_soak: sends --soak_iterations large_unary RPCs; " @@ -104,7 +109,7 @@ int main(int argc, char** argv) { absl::GetFlag(FLAGS_soak_min_time_ms_between_rpcs), absl::GetFlag(FLAGS_soak_overall_timeout_seconds), absl::GetFlag(FLAGS_soak_request_size), - absl::GetFlag(FLAGS_soak_response_size)); + absl::GetFlag(FLAGS_soak_response_size)); } else if (test_case == "channel_soak") { client.DoChannelSoakTest( uris[i], absl::GetFlag(FLAGS_soak_iterations), @@ -113,7 +118,7 @@ int main(int argc, char** argv) { absl::GetFlag(FLAGS_soak_min_time_ms_between_rpcs), absl::GetFlag(FLAGS_soak_overall_timeout_seconds), absl::GetFlag(FLAGS_soak_request_size), - absl::GetFlag(FLAGS_soak_response_size)); + absl::GetFlag(FLAGS_soak_response_size)); } else { gpr_log(GPR_ERROR, "Invalid test case, must be either rpc_soak or channel_soak");