Classes | Functions
xds_interop_client.cc File Reference
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <deque>
#include <map>
#include <mutex>
#include <set>
#include <sstream>
#include <string>
#include <thread>
#include <vector>
#include "absl/algorithm/container.h"
#include "absl/flags/flag.h"
#include "absl/strings/str_split.h"
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/server.h>
#include <grpcpp/server_builder.h>
#include <grpcpp/server_context.h>
#include "src/core/lib/channel/status_util.h"
#include "src/core/lib/gpr/env.h"
#include "src/proto/grpc/testing/empty.pb.h"
#include "src/proto/grpc/testing/messages.pb.h"
#include "src/proto/grpc/testing/test.grpc.pb.h"
#include "test/core/util/test_config.h"
#include "test/cpp/util/test_config.h"
Include dependency graph for xds_interop_client.cc:

Go to the source code of this file.

Classes

struct  AsyncClientCall
 
class  LoadBalancerStatsServiceImpl
 
struct  RpcConfig
 
struct  RpcConfigurationsQueue
 
struct  StatsWatchers
 
class  TestClient
 
class  XdsStatsWatcher
 
class  XdsUpdateClientConfigureServiceImpl
 

Functions

 ABSL_FLAG (bool, fail_on_failed_rpc, false, "Fail client if any RPCs fail after first successful RPC.")
 
 ABSL_FLAG (bool, print_response, false, "Write RPC response to stdout.")
 
 ABSL_FLAG (bool, secure_mode, false, "If true, XdsCredentials are used, InsecureChannelCredentials otherwise")
 
 ABSL_FLAG (int32_t, num_channels, 1, "Number of channels.")
 
 ABSL_FLAG (int32_t, qps, 1, "Qps per channel.")
 
 ABSL_FLAG (int32_t, rpc_timeout_sec, 30, "Per RPC timeout seconds.")
 
 ABSL_FLAG (int32_t, stats_port, 50052, "Port to expose peer distribution stats service.")
 
 ABSL_FLAG (std::string, expect_status, "OK", "RPC status for the test RPC to be considered successful")
 
 ABSL_FLAG (std::string, metadata, "", "metadata to send with the RPC.")
 
 ABSL_FLAG (std::string, rpc, "UnaryCall", "a comma separated list of rpc methods.")
 
 ABSL_FLAG (std::string, server, "localhost:50051", "Address of server.")
 
void BuildRpcConfigsFromFlags (RpcConfigurationsQueue *rpc_configs_queue)
 
int main (int argc, char **argv)
 
std::atomic< boolone_rpc_succeeded (false)
 
void RunServer (const int port, StatsWatchers *stats_watchers, RpcConfigurationsQueue *rpc_configs_queue)
 
void RunTestLoop (std::chrono::duration< double > duration_per_query, StatsWatchers *stats_watchers, RpcConfigurationsQueue *rpc_configs_queue)
 

Function Documentation

◆ ABSL_FLAG() [1/11]

ABSL_FLAG ( bool  ,
fail_on_failed_rpc  ,
false  ,
"Fail client if any RPCs fail after first successful RPC."   
)

◆ ABSL_FLAG() [2/11]

ABSL_FLAG ( bool  ,
print_response  ,
false  ,
"Write RPC response to stdout."   
)

◆ ABSL_FLAG() [3/11]

ABSL_FLAG ( bool  ,
secure_mode  ,
false  ,
"If  true,
XdsCredentials are  used,
InsecureChannelCredentials otherwise"   
)

◆ ABSL_FLAG() [4/11]

ABSL_FLAG ( int32_t  ,
num_channels  ,
,
"Number of channels."   
)

◆ ABSL_FLAG() [5/11]

ABSL_FLAG ( int32_t  ,
qps  ,
,
"Qps per channel."   
)

◆ ABSL_FLAG() [6/11]

ABSL_FLAG ( int32_t  ,
rpc_timeout_sec  ,
30  ,
"Per RPC timeout seconds."   
)

◆ ABSL_FLAG() [7/11]

ABSL_FLAG ( int32_t  ,
stats_port  ,
50052  ,
"Port to expose peer distribution stats service."   
)

◆ ABSL_FLAG() [8/11]

ABSL_FLAG ( std::string  ,
expect_status  ,
"OK"  ,
"RPC status for the test RPC to be considered successful"   
)

◆ ABSL_FLAG() [9/11]

ABSL_FLAG ( std::string  ,
metadata  ,
""  ,
"metadata to send with the RPC."   
)

◆ ABSL_FLAG() [10/11]

ABSL_FLAG ( std::string  ,
rpc  ,
"UnaryCall"  ,
"a comma separated list of rpc methods."   
)

◆ ABSL_FLAG() [11/11]

ABSL_FLAG ( std::string  ,
server  ,
"localhost:50051"  ,
"Address of server."   
)

◆ BuildRpcConfigsFromFlags()

void BuildRpcConfigsFromFlags ( RpcConfigurationsQueue rpc_configs_queue)

Definition at line 535 of file xds_interop_client.cc.

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 582 of file xds_interop_client.cc.

◆ one_rpc_succeeded()

std::atomic<bool> one_rpc_succeeded ( false  )

◆ RunServer()

void RunServer ( const int  port,
StatsWatchers stats_watchers,
RpcConfigurationsQueue rpc_configs_queue 
)

Definition at line 513 of file xds_interop_client.cc.

◆ RunTestLoop()

void RunTestLoop ( std::chrono::duration< double >  duration_per_query,
StatsWatchers stats_watchers,
RpcConfigurationsQueue rpc_configs_queue 
)

Definition at line 466 of file xds_interop_client.cc.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:38