summaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
authorkalyanreddy <reddyx.gundarapu@intel.com>2017-04-05 19:01:26 +0530
committerKalyan reddy Gundarapu <reddyx.gundarapu@intel.com>2017-04-06 13:36:54 +0000
commit070df31c821a397796047c0a59474ba16ec1c7dd (patch)
tree8e517f60efb1cbd70f3e32610efde6a68c0d5b84 /ci
parentaf8d29d3d6119cf43344970023f0548a28922234 (diff)
Publishing packet forwarding test cases results.
This patch includes scripts to push packet forwarding test results in to local influxdb and then publish on to local grafana dashboard. Change-Id: I2f93b13730c0a791bd1e7530e0349cd52a649b58 Co-Authored by:Srinivas <srinivas.atmakuri@tcs.com> Signed-off-by: Gundarapu Kalyan Reddy <reddyx.gundarapu@intel.com>
Diffstat (limited to 'ci')
-rwxr-xr-xci/envs/data_publish.py47
-rwxr-xr-x[-rw-r--r--]ci/envs/packet_forwarding.sh10
2 files changed, 57 insertions, 0 deletions
diff --git a/ci/envs/data_publish.py b/ci/envs/data_publish.py
new file mode 100755
index 000000000..67b3054e7
--- /dev/null
+++ b/ci/envs/data_publish.py
@@ -0,0 +1,47 @@
+from __future__ import print_function
+import glob, os
+import csv
+import json
+import sys
+import ast
+import subprocess
+from influxdb import InfluxDBClient
+
+time_stamp=sys.argv[1]
+test_type=sys.argv[2]
+results_dir=sys.argv[3]
+
+def publish_results(testtype):
+ for file in glob.glob("*.csv"):
+ print(file)
+ f = open( file, 'r' )
+ reader = csv.DictReader( f )
+ result = json.dumps( [ row for row in reader ] )
+ result = ast.literal_eval(result)
+ print(result)
+
+ for i in result:
+ test = i['id'] + '_' +testtype
+ json_body = [
+ {
+ "measurement": test,
+ "tags": {
+ "id": i['id'],
+ "type": i['type'],
+ "packet_size": i['packet_size']
+ },
+ "time": time_stamp,
+ "fields": {
+ "min_value": i['min_latency_ns'],
+ "avg_value": i['avg_latency_ns'],
+ "max_value": i['max_latency_ns']
+ }
+ }
+ ]
+ print(time_stamp)
+ client = InfluxDBClient('104.197.68.199', 8086, 'opnfv', '0pnfv2015', 'yardstick')
+ client.switch_database('yardstick')
+ client.write_points(json_body)
+
+os.chdir(results_dir)
+publish_results(test_type)
diff --git a/ci/envs/packet_forwarding.sh b/ci/envs/packet_forwarding.sh
index 643957a2d..c93bb2751 100644..100755
--- a/ci/envs/packet_forwarding.sh
+++ b/ci/envs/packet_forwarding.sh
@@ -77,6 +77,13 @@ function print_results() {
done
}
+function publish_results() {
+ test_type=$1
+ results_dir=${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}/results*
+ time_stamp=$(date -u +"%Y-%m-%d-%H-%M-%S")
+ ( cd /root/workspace/scripts ; python data_publish.py $time_stamp $test_type $results_dir )
+}
+
function execute_vsperf() {
# figure out list of TCs and execution parameters
case $2 in
@@ -148,6 +155,9 @@ function execute_vsperf() {
mkdir -p ${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}
[ -f "$LOG_FILE" ] && mv "${LOG_FILE}" "${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}" &> /dev/null
[ -d "$RES_DIR" ] && mv "$RES_DIR" "${TEST_REPORT_LOG_DIR}/${LOG_SUBDIR}" &> /dev/null
+
+ # Publish test cases results to Grafana Dashboard
+ publish_results $1
}
#Install vsperf and set up the environment