Added support for passing a tag with the test
diff --git a/test/cpp/qps/perf_db.proto b/test/cpp/qps/perf_db.proto
index 50070fd..7f4a460 100644
--- a/test/cpp/qps/perf_db.proto
+++ b/test/cpp/qps/perf_db.proto
@@ -62,9 +62,10 @@
string timestamp = 1;
string test_name = 2;
string sys_info = 3;
- Metrics metrics = 4;
- ClientConfig client_config = 5;
- ServerConfig server_config = 6;
+ string tag = 4;
+ Metrics metrics = 5;
+ ClientConfig client_config = 6;
+ ServerConfig server_config = 7;
}
//User details
@@ -93,9 +94,10 @@
string access_token = 1;
string test_name = 2;
string sys_info = 3;
- Metrics metrics = 4;
- ClientConfig client_config = 5;
- ServerConfig server_config = 6;
+ string tag = 4;
+ Metrics metrics = 5;
+ ClientConfig client_config = 6;
+ ServerConfig server_config = 7;
}
//Reply to request for storing single user's data
diff --git a/test/cpp/qps/perf_db_client.cc b/test/cpp/qps/perf_db_client.cc
index 0905cde..c3a170b 100644
--- a/test/cpp/qps/perf_db_client.cc
+++ b/test/cpp/qps/perf_db_client.cc
@@ -72,7 +72,7 @@
}
//sends the data to the performancew database server
-int PerfDbClient::sendData(std::string access_token, std::string test_name, std::string sys_info) {
+int PerfDbClient::sendData(std::string access_token, std::string test_name, std::string sys_info, std::string tag) {
//Data record request object
SingleUserRecordRequest singleUserRecordRequest;
@@ -80,6 +80,7 @@
singleUserRecordRequest.set_access_token(access_token);
singleUserRecordRequest.set_test_name(test_name);
singleUserRecordRequest.set_sys_info(sys_info);
+ singleUserRecordRequest.set_tag(tag);
//setting configs
*(singleUserRecordRequest.mutable_client_config()) = this->clientConfig_;
diff --git a/test/cpp/qps/perf_db_client.h b/test/cpp/qps/perf_db_client.h
index c19442f..be4766a 100644
--- a/test/cpp/qps/perf_db_client.h
+++ b/test/cpp/qps/perf_db_client.h
@@ -88,7 +88,7 @@
double clientSystemTime, double clientUserTime);
//sends the data to the performancew database server
- int sendData(std::string access_token, std::string test_name, std::string sys_info);
+ int sendData(std::string access_token, std::string test_name, std::string sys_info, std::string tag);
private:
std::unique_ptr<PerfDbTransfer::Stub> stub_;
diff --git a/test/cpp/qps/report.cc b/test/cpp/qps/report.cc
index 59c0da3..7167d4e 100644
--- a/test/cpp/qps/report.cc
+++ b/test/cpp/qps/report.cc
@@ -173,7 +173,7 @@
void PerfDbReporter::SendData() {
//send data to performance database
- int dataState = perfDbClient_.sendData(access_token_, test_name_, sys_info_);
+ int dataState = perfDbClient_.sendData(access_token_, test_name_, sys_info_, tag_);
//check state of data sending
switch(dataState) {
diff --git a/test/cpp/qps/report.h b/test/cpp/qps/report.h
index bba26b9..5655906 100644
--- a/test/cpp/qps/report.h
+++ b/test/cpp/qps/report.h
@@ -107,8 +107,9 @@
/** Reporter for performance database tool */
class PerfDbReporter : public Reporter {
public:
- PerfDbReporter(const string& name, const string& access_token, const string& test_name, const string& sys_info, const string& server_address)
- : Reporter(name), access_token_(access_token), test_name_(test_name), sys_info_(sys_info) {
+ PerfDbReporter(const string& name, const string& access_token, const string& test_name,
+ const string& sys_info, const string& server_address, const string& tag)
+ : Reporter(name), access_token_(access_token), test_name_(test_name), sys_info_(sys_info), tag_(tag) {
perfDbClient_.init(grpc::CreateChannel(server_address, grpc::InsecureCredentials(), ChannelArguments()));
}
~PerfDbReporter() { SendData(); };
@@ -118,6 +119,7 @@
std::string access_token_;
std::string test_name_;
std::string sys_info_;
+ std::string tag_;
void ReportQPS(const ScenarioResult& result) GRPC_OVERRIDE;
void ReportQPSPerCore(const ScenarioResult& result) GRPC_OVERRIDE;
void ReportLatency(const ScenarioResult& result) GRPC_OVERRIDE;
diff --git a/test/cpp/util/benchmark_config.cc b/test/cpp/util/benchmark_config.cc
index f8cfabd..030cb28 100644
--- a/test/cpp/util/benchmark_config.cc
+++ b/test/cpp/util/benchmark_config.cc
@@ -47,6 +47,8 @@
DEFINE_string(server_address, "localhost:50052", "Address of the performance database server");
+DEFINE_string(tag, "", "Optional tag for the test");
+
// In some distros, gflags is in the namespace google, and in some others,
// in gflags. This hack is enabling us to find both.
namespace google {}
@@ -69,7 +71,8 @@
}
if(FLAGS_report_metrics_db) {
composite_reporter->add(
- std::unique_ptr<Reporter>(new PerfDbReporter("PerfDbReporter", FLAGS_access_token, FLAGS_test_name, FLAGS_sys_info, FLAGS_server_address)));
+ std::unique_ptr<Reporter>(new PerfDbReporter("PerfDbReporter", FLAGS_access_token, FLAGS_test_name,
+ FLAGS_sys_info, FLAGS_server_address, FLAGS_tag)));
}
return std::shared_ptr<Reporter>(composite_reporter);