|  | @@ -2502,30 +2502,30 @@ $(GENDIR)/examples/pubsub/pubsub.grpc.pb.cc: examples/pubsub/pubsub.proto $(PROT
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ifeq ($(NO_PROTOC),true)
 | 
	
		
			
				|  |  | -$(GENDIR)/test/cpp/qps/qpstest.pb.cc: protoc_dep_error
 | 
	
		
			
				|  |  | -$(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc: protoc_dep_error
 | 
	
		
			
				|  |  | +$(GENDIR)/test/cpp/qps/perf_db.pb.cc: protoc_dep_error
 | 
	
		
			
				|  |  | +$(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc: protoc_dep_error
 | 
	
		
			
				|  |  |  else
 | 
	
		
			
				|  |  | -$(GENDIR)/test/cpp/qps/qpstest.pb.cc: test/cpp/qps/qpstest.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
 | 
	
		
			
				|  |  | +$(GENDIR)/test/cpp/qps/perf_db.pb.cc: test/cpp/qps/perf_db.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
 | 
	
		
			
				|  |  |  	$(E) "[PROTOC]  Generating protobuf CC file from $<"
 | 
	
		
			
				|  |  |  	$(Q) mkdir -p `dirname $@`
 | 
	
		
			
				|  |  |  	$(Q) $(PROTOC) --cpp_out=$(GENDIR) $<
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -$(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc: test/cpp/qps/qpstest.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
 | 
	
		
			
				|  |  | +$(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc: test/cpp/qps/perf_db.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
 | 
	
		
			
				|  |  |  	$(E) "[GRPC]    Generating gRPC's protobuf service CC file from $<"
 | 
	
		
			
				|  |  |  	$(Q) mkdir -p `dirname $@`
 | 
	
		
			
				|  |  |  	$(Q) $(PROTOC) --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(BINDIR)/$(CONFIG)/grpc_cpp_plugin $<
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ifeq ($(NO_PROTOC),true)
 | 
	
		
			
				|  |  | -$(GENDIR)/test/cpp/qps/user_data.pb.cc: protoc_dep_error
 | 
	
		
			
				|  |  | -$(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc: protoc_dep_error
 | 
	
		
			
				|  |  | +$(GENDIR)/test/cpp/qps/qpstest.pb.cc: protoc_dep_error
 | 
	
		
			
				|  |  | +$(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc: protoc_dep_error
 | 
	
		
			
				|  |  |  else
 | 
	
		
			
				|  |  | -$(GENDIR)/test/cpp/qps/user_data.pb.cc: test/cpp/qps/user_data.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
 | 
	
		
			
				|  |  | +$(GENDIR)/test/cpp/qps/qpstest.pb.cc: test/cpp/qps/qpstest.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
 | 
	
		
			
				|  |  |  	$(E) "[PROTOC]  Generating protobuf CC file from $<"
 | 
	
		
			
				|  |  |  	$(Q) mkdir -p `dirname $@`
 | 
	
		
			
				|  |  |  	$(Q) $(PROTOC) --cpp_out=$(GENDIR) $<
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -$(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc: test/cpp/qps/user_data.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
 | 
	
		
			
				|  |  | +$(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc: test/cpp/qps/qpstest.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
 | 
	
		
			
				|  |  |  	$(E) "[GRPC]    Generating gRPC's protobuf service CC file from $<"
 | 
	
		
			
				|  |  |  	$(Q) mkdir -p `dirname $@`
 | 
	
		
			
				|  |  |  	$(Q) $(PROTOC) --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(BINDIR)/$(CONFIG)/grpc_cpp_plugin $<
 | 
	
	
		
			
				|  | @@ -3532,9 +3532,9 @@ endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  LIBGRPC++_BENCHMARK_CONFIG_SRC = \
 | 
	
		
			
				|  |  |      $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc \
 | 
	
		
			
				|  |  | -    $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc \
 | 
	
		
			
				|  |  | +    $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc \
 | 
	
		
			
				|  |  | +    test/cpp/qps/perf_db_client.cc \
 | 
	
		
			
				|  |  |      test/cpp/qps/report.cc \
 | 
	
		
			
				|  |  | -    test/cpp/qps/user_data_client.cc \
 | 
	
		
			
				|  |  |      test/cpp/util/benchmark_config.cc \
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3579,9 +3579,9 @@ ifneq ($(NO_DEPS),true)
 | 
	
		
			
				|  |  |  -include $(LIBGRPC++_BENCHMARK_CONFIG_OBJS:.o=.dep)
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/report.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/user_data_client.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/util/benchmark_config.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/perf_db_client.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/report.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/util/benchmark_config.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  LIBGRPC++_TEST_CONFIG_SRC = \
 | 
	
	
		
			
				|  | @@ -4094,15 +4094,15 @@ $(OBJDIR)/$(CONFIG)/examples/pubsub/subscriber.o: $(GENDIR)/examples/pubsub/labe
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  LIBQPS_SRC = \
 | 
	
		
			
				|  |  |      $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc \
 | 
	
		
			
				|  |  | -    $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc \
 | 
	
		
			
				|  |  | +    $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc \
 | 
	
		
			
				|  |  |      test/cpp/qps/client_async.cc \
 | 
	
		
			
				|  |  |      test/cpp/qps/client_sync.cc \
 | 
	
		
			
				|  |  |      test/cpp/qps/driver.cc \
 | 
	
		
			
				|  |  | +    test/cpp/qps/perf_db_client.cc \
 | 
	
		
			
				|  |  |      test/cpp/qps/qps_worker.cc \
 | 
	
		
			
				|  |  |      test/cpp/qps/server_async.cc \
 | 
	
		
			
				|  |  |      test/cpp/qps/server_sync.cc \
 | 
	
		
			
				|  |  |      test/cpp/qps/timer.cc \
 | 
	
		
			
				|  |  | -    test/cpp/qps/user_data_client.cc \
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  LIBQPS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBQPS_SRC))))
 | 
	
	
		
			
				|  | @@ -4146,14 +4146,14 @@ ifneq ($(NO_DEPS),true)
 | 
	
		
			
				|  |  |  -include $(LIBQPS_OBJS:.o=.dep)
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_async.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_sync.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/driver.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_worker.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_async.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_sync.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/timer.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | -$(OBJDIR)/$(CONFIG)/test/cpp/qps/user_data_client.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/user_data.pb.cc $(GENDIR)/test/cpp/qps/user_data.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_async.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_sync.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/driver.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/perf_db_client.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_worker.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_async.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_sync.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/timer.o: $(GENDIR)/test/cpp/qps/qpstest.pb.cc $(GENDIR)/test/cpp/qps/qpstest.grpc.pb.cc $(GENDIR)/test/cpp/qps/perf_db.pb.cc $(GENDIR)/test/cpp/qps/perf_db.grpc.pb.cc
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  LIBGRPC_CSHARP_EXT_SRC = \
 |