aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/core/fling/client.c2
-rw-r--r--test/cpp/qps/client.cc6
-rw-r--r--test/cpp/qps/server.cc26
3 files changed, 29 insertions, 5 deletions
diff --git a/test/core/fling/client.c b/test/core/fling/client.c
index 8f91098591..d6561e9961 100644
--- a/test/core/fling/client.c
+++ b/test/core/fling/client.c
@@ -113,7 +113,7 @@ int main(int argc, char **argv) {
char *target = "localhost:443";
gpr_cmdline *cl;
char *scenario_name = "ping-pong-request";
- scenario sc = {NULL};
+ scenario sc = {NULL, NULL, NULL};
GPR_ASSERT(argc >= 1);
fake_argv[0] = argv[0];
diff --git a/test/cpp/qps/client.cc b/test/cpp/qps/client.cc
index affc4926bf..d2c83aad3d 100644
--- a/test/cpp/qps/client.cc
+++ b/test/cpp/qps/client.cc
@@ -44,6 +44,7 @@
#include <google/gflags.h>
#include <grpc++/client_context.h>
#include <grpc++/status.h>
+#include "test/core/util/grpc_profiler.h"
#include "test/cpp/util/create_test_channel.h"
#include "test/cpp/qps/qpstest.pb.h"
@@ -129,6 +130,8 @@ void RunTest(const int client_threads, const int client_channels,
grpc::Status status_beg = stub_stats->CollectServerStats(
&context_stats_begin, stats_request, &server_stats_begin);
+ grpc_profiler_start("qps_client.prof");
+
for (int i = 0; i < client_threads; i++) {
gpr_histogram *hist = gpr_histogram_create(0.01, 60e9);
GPR_ASSERT(hist != NULL);
@@ -172,6 +175,9 @@ void RunTest(const int client_threads, const int client_channels,
for (auto &t : threads) {
t.join();
}
+
+ grpc_profiler_stop();
+
for (int i = 0; i < client_threads; i++) {
gpr_histogram *h = thread_stats[i];
gpr_log(GPR_INFO, "latency at thread %d (50/90/95/99/99.9): %f/%f/%f/%f/%f",
diff --git a/test/cpp/qps/server.cc b/test/cpp/qps/server.cc
index eb810b8d55..c35d9ebdd8 100644
--- a/test/cpp/qps/server.cc
+++ b/test/cpp/qps/server.cc
@@ -33,6 +33,7 @@
#include <sys/time.h>
#include <sys/resource.h>
+#include <sys/signal.h>
#include <thread>
#include <google/gflags.h>
@@ -43,6 +44,7 @@
#include <grpc++/server_builder.h>
#include <grpc++/server_context.h>
#include <grpc++/status.h>
+#include "test/core/util/grpc_profiler.h"
#include "test/cpp/qps/qpstest.pb.h"
#include <grpc/grpc.h>
@@ -63,11 +65,15 @@ using grpc::testing::StatsRequest;
using grpc::testing::TestService;
using grpc::Status;
+static bool got_sigint = false;
+
+static void sigint_handler(int x) { got_sigint = 1; }
+
static double time_double(struct timeval* tv) {
return tv->tv_sec + 1e-6 * tv->tv_usec;
}
-bool SetPayload(PayloadType type, int size, Payload* payload) {
+static bool SetPayload(PayloadType type, int size, Payload* payload) {
PayloadType response_type = type;
// TODO(yangg): Support UNCOMPRESSABLE payload.
if (type != PayloadType::COMPRESSABLE) {
@@ -79,7 +85,9 @@ bool SetPayload(PayloadType type, int size, Payload* payload) {
return true;
}
-class TestServiceImpl : public TestService::Service {
+namespace {
+
+class TestServiceImpl final : public TestService::Service {
public:
Status CollectServerStats(ServerContext* context, const StatsRequest*,
ServerStats* response) {
@@ -104,7 +112,9 @@ class TestServiceImpl : public TestService::Service {
}
};
-void RunServer() {
+} // namespace
+
+static void RunServer() {
char* server_address = NULL;
gpr_join_host_port(&server_address, "::", FLAGS_port);
@@ -118,10 +128,15 @@ void RunServer() {
builder.RegisterService(service.service());
std::unique_ptr<Server> server(builder.BuildAndStart());
gpr_log(GPR_INFO, "Server listening on %s\n", server_address);
- while (true) {
+
+ grpc_profiler_start("qps_server.prof");
+
+ while (!got_sigint) {
std::this_thread::sleep_for(std::chrono::seconds(5));
}
+ grpc_profiler_stop();
+
gpr_free(server_address);
}
@@ -129,6 +144,8 @@ int main(int argc, char** argv) {
grpc_init();
google::ParseCommandLineFlags(&argc, &argv, true);
+ signal(SIGINT, sigint_handler);
+
GPR_ASSERT(FLAGS_port != 0);
GPR_ASSERT(!FLAGS_enable_ssl);
RunServer();
@@ -136,3 +153,4 @@ int main(int argc, char** argv) {
grpc_shutdown();
return 0;
}
+