Support for netperf
[yardstick.git] / yardstick / benchmark / scenarios / networking / netperf_benchmark.bash
1 #!/bin/bash
2
3 ##############################################################################
4 # Copyright (c) 2015 Huawei Technologies Co.,Ltd and others.
5 #
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Apache License, Version 2.0
8 # which accompanies this distribution, and is available at
9 # http://www.apache.org/licenses/LICENSE-2.0
10 ##############################################################################
11
12 set -e
13
14 # Commandline arguments
15 OPTIONS="$@"
16 OUTPUT_FILE=/tmp/netperf-out.log
17
18 # run netperf test
19 run_netperf()
20 {
21     netperf $OPTIONS > $OUTPUT_FILE
22 }
23
24 # write the result to stdout in json format
25 output_json()
26 {
27     mean=$(awk '/\/s/{print $3}' $OUTPUT_FILE)
28     troughput=$(awk '/\/s/{print $1}' $OUTPUT_FILE)
29     unit=$(awk '/\/s/{print $2}' $OUTPUT_FILE)
30     echo -e "{ \
31         \"mean_latency\":\"$mean\", \
32         \"troughput\":\"$troughput\", \
33         \"troughput_unit\":\"$unit\" \
34     }"
35 }
36
37 # main entry
38 main()
39 {
40     # run the test
41     run_netperf
42
43     # output result
44     output_json
45 }
46
47 main