pull/2151/head
Siddharth Rakesh 10 years ago
parent 893ccac421
commit e2902dee31
  1. 1
      test/cpp/qps/report.cc
  2. 47
      test/cpp/qps/run_auth_test.py
  3. 5
      test/cpp/util/benchmark_config.cc

@ -139,6 +139,7 @@ void UserDatabaseReporter::ReportQPSPerCore(const ScenarioResult& result) const
auto qpsPerCore = qps / result.server_config.threads();
userDataClient.setQPS(qps);
userDataClient.setQPSPerCore(qpsPerCore);
userDataClient.setConfigs(result.client_config, result.server_config);
}

@ -59,7 +59,7 @@ def fetchJSON(url, paramDict):
try:
response = urllib2.urlopen(req)
result = response.read()
except urllib2.HTTPError, error:
result = error.read()
@ -71,7 +71,7 @@ def getUserInfo(accessToken):
paramDict = {}
JSONBody = fetchJSON(url, paramDict)
data = json.loads(JSONBody)
return data
# Returns true if stored access token is valid
@ -197,11 +197,44 @@ def findTestPath(test):
# Search for test
for root, dirnames, filenames in os.walk('../../../'):
for fileName in fnmatch.filter(filenames, '*'+testName):
testPath = os.path.join(root, fileName)
for fileName in fnmatch.filter(filenames, testName):
testPath = os.path.join(root, fileName)
return testPath
def getSysInfo():
# Fetch system information
sysInfo = os.popen('lscpu').readlines()
NICs = os.popen('ifconfig | cut -c1-8 | sed \'/^\s*$/d\' | sort -u').readlines()
nicAddrs = os.popen('ifconfig | grep -oE "inet addr:([0-9]{1,3}\.){3}[0-9]{1,3}"').readlines()
nicInfo = []
for i in range(0, len(NICs)):
NIC = NICs[i]
NIC = re.sub(r'[^\w]', '', NIC)
ethtoolProcess = subprocess.Popen(["ethtool",NIC], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
ethtoolResult = ethtoolProcess.communicate()[0]
ethtoolResultList = ethtoolResult.split('\n\t')
for ethtoolString in ethtoolResultList:
if ethtoolString.startswith('Speed'):
ethtoolString = ethtoolString.split(':')[1]
ethtoolString = ethtoolString.replace('Mb/s',' Mbps')
nicInfo.append(NIC + ' speed: ' + ethtoolString + '\n')
nicInfo.append(NIC + ' inet address: ' + nicAddrs[i].split(':')[1])
print 'Obtaining network info....'
tcp_rr_rate = str(os.popen('netperf -t TCP_RR -v 0').readlines()[1])
print 'Network info obtained'
nicInfo.append('TCP RR Transmission Rate per sec: ' + tcp_rr_rate + '\n')
sysInfo = sysInfo + nicInfo
return sysInfo
def main():
# If tokens directory does not exist, creates it
if not os.path.exists(ACCESS_TOKENS_DIR):
@ -227,11 +260,11 @@ def main():
testPath = findTestPath(test) # Get path to test
testName = testPath.split('/')[-1] # Get test name
# Fetch system information
sysInfo = os.popen('lscpu').readlines()
sysInfo = getSysInfo()
print '\nBeginning test:\n'
# Run the test
subprocess.call([testPath, '--access_token='+accessToken, '--test_name='+testName, '--sys_info='+str(sysInfo).strip('[]')])
subprocess.call([testPath, '--report_metrics_db=true', '--access_token='+accessToken, '--test_name='+testName, '--sys_info='+str(sysInfo).strip('[]')])
except OSError:
print 'Could not execute the test, please check test name'

@ -37,6 +37,8 @@
DEFINE_bool(enable_log_reporter, true,
"Enable reporting of benchmark results through GprLog");
DEFINE_bool(report_metrics_db, false, "True if metrics to be reported to performance database");
DEFINE_string(access_token, "", "Authorizing JSON string for leaderboard");
DEFINE_string(test_name, "", "Name of the test being executed");
@ -63,9 +65,10 @@ static std::shared_ptr<Reporter> InitBenchmarkReporters() {
composite_reporter->add(
std::unique_ptr<Reporter>(new GprLogReporter("LogReporter")));
}
if(!FLAGS_access_token.empty())
if(FLAGS_report_metrics_db) {
composite_reporter->add(
std::unique_ptr<Reporter>(new UserDatabaseReporter("UserDataReporter", FLAGS_access_token, FLAGS_test_name, FLAGS_sys_info)));
}
return std::shared_ptr<Reporter>(composite_reporter);
}

Loading…
Cancel
Save