Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Side by Side Diff: webrtc/modules/remote_bitrate_estimator/test/plot_dynamics.sh

Issue 1237903003: Modified histogram shell plot script, added python dynamics plot script (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/modules/remote_bitrate_estimator/test/plot_dynamics.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 3 # Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
4 # 4 #
5 # Use of this source code is governed by a BSD-style license 5 # Use of this source code is governed by a BSD-style license
6 # that can be found in the LICENSE file in the root of the source 6 # that can be found in the LICENSE file in the root of the source
7 # tree. An additional intellectual property rights grant can be found 7 # tree. An additional intellectual property rights grant can be found
8 # in the file PATENTS. All contributing project authors may 8 # in the file PATENTS. All contributing project authors may
9 # be found in the AUTHORS file in the root of the source tree. 9 # be found in the AUTHORS file in the root of the source tree.
10 10
11 # To set up in e.g. Eclipse, run a separate shell and pipe the output from the 11 # To set up in e.g. Eclipse, run a separate shell and pipe the output from the
12 # test into this script. 12 # test into this script.
13 # 13 #
14 # In Eclipse, that amounts to creating a Run Configuration which starts 14 # In Eclipse, that amounts to creating a Run Configuration which starts
15 # "/bin/bash" with the arguments "-c [trunk_path]/out/Debug/modules_unittests 15 # "/bin/bash" with the arguments "-c [trunk_path]/out/Debug/modules_unittests
16 # --gtest_filter=*BweTest* | [trunk_path]/webrtc/modules/ 16 # --gtest_filter=*BweTest* | [trunk_path]/webrtc/modules/
17 # remote_bitrate_estimator/bwe_plot. 17 # remote_bitrate_estimator/test/plot_dynamics.sh
18 18
19 # bwe_plot.sh supports multiple figures (windows), the figure is specified as an 19 # This script supports multiple figures (windows), the figure is specified as an
20 # identifier at the first argument after the PLOT command. Each figure has a 20 # identifier at the first argument after the PLOT command. Each figure has a
21 # single y axis and a dual y axis mode. If any line specifies an axis by ending 21 # single y axis and a dual y axis mode. If any line specifies an axis by ending
22 # with "#<axis number (1 or 2)>" two y axis will be used, the first will be 22 # with "#<axis number (1 or 2)>" two y axis will be used, the first will be
23 # assumed to represent bitrate (in kbps) and the second will be assumed to 23 # assumed to represent bitrate (in kbps) and the second will be assumed to
24 # represent time deltas (in ms). 24 # represent time deltas (in ms).
25 25
26 log=$(</dev/stdin) 26 log=$(</dev/stdin)
27 27
28 # Plot dynamics.
28 function gen_gnuplot_input { 29 function gen_gnuplot_input {
29 colors=(a7001f 0a60c2 b2582b 21a66c d6604d 4393c3 f4a582 92c5de edcbb7 b1c5d0) 30 colors=(a7001f 0a60c2 b2582b 21a66c d6604d 4393c3 f4a582 92c5de edcbb7 b1c5d0)
30 plots=$(echo "$log" | grep "^PLOT") 31 plots=$(echo "$log" | grep "^PLOT")
31 figures=($(echo "$plots" | cut -f 2 | sort | uniq)) 32 figures=($(echo "$plots" | cut -f 2 | sort | uniq))
32 33
33 for figure in "${figures[@]}" ; do 34 for figure in "${figures[@]}" ; do
34 data_sets=$(echo "$plots" | grep "^PLOT.$figure" | cut -f 3 | sort | uniq) 35 data_sets=$(echo "$plots" | grep "^PLOT.$figure" | cut -f 3 | sort | uniq)
35 linetypes=($(echo "$data_sets" | grep "#" | cut -d '#' -f 2 | \ 36 linetypes=($(echo "$data_sets" | grep "#" | cut -d '#' -f 2 | \
36 cut -d ' ' -f 1)) 37 cut -d ' ' -f 1))
37 echo -n "reset; " 38 echo "reset; "
38 echo -n "set terminal wxt $figure size 1440,900 font \"Arial,9\"; " 39 echo "set terminal wxt $figure size 1440,900 font \"Arial,9\"; "
39 echo -n "set xlabel \"Seconds\"; " 40 echo "set xlabel \"Seconds\"; "
40 if (( "${#linetypes[@]}" > "0" )); then 41 if (( "${#linetypes[@]}" > "0" )); then
41 echo -n "set ylabel 'bitrate (kbps)';" 42 echo "set ylabel 'bitrate (kbps)';"
42 echo -n "set ytics nomirror;" 43 echo "set ytics nomirror;"
43 echo -n "set y2label 'time delta (ms)';" 44 echo "set y2label 'time delta (ms)';"
44 echo -n "set y2tics nomirror;" 45 echo "set y2tics nomirror;"
45 fi 46 fi
46 echo -n "plot " 47 echo -n "plot "
47 i=0 48 i=0
48 for set in $data_sets ; do 49 for set in $data_sets ; do
49 (( i++ )) && echo -n "," 50 (( i++ )) && echo -n ","
50 echo -n "'-' with " 51 echo -n "'-' with "
51 echo -n "linespoints " 52 echo -n "linespoints "
52 echo -n "ps 0.5 " 53 echo -n "ps 0.5 "
53 echo -n "lc rgbcolor \"#${colors[$(($i % 10))]}\" " 54 echo -n "lc rgbcolor \"#${colors[$(($i % 10))]}\" "
54 if (( "${#linetypes[@]}" > "0" )); then 55 if (( "${#linetypes[@]}" > "0" )); then
55 if (( "$i" <= "${#linetypes[@]}" )); then 56 if (( "$i" <= "${#linetypes[@]}" )); then
56 echo -n "axes x1y${linetypes[$i - 1]} " 57 echo -n "axes x1y${linetypes[$i - 1]} "
57 else 58 else
58 # If no line type is specified, but line types are used, we will 59 # If no line type is specified, but line types are used, we will
59 # default to the bitrate axis. 60 # default to the bitrate axis.
60 echo -n "axes x1y1 " 61 echo -n "axes x1y1 "
61 fi 62 fi
62 fi 63 fi
63 echo -n "title \"$set\" " 64 echo -n "title \"$set\" "
64 done 65 done
65 echo 66 echo
66 for set in $data_sets ; do 67 for set in $data_sets ; do
67 echo "$log" | grep "^PLOT.$figure.$set" | cut -f 4,5 68 echo "$log" | grep "^PLOT.$figure.$set" | cut -f 4,5
68 echo "e" 69 echo "e"
69 done 70 done
70 done 71 done
71 } 72 }
72
73 gen_gnuplot_input | gnuplot -persist 73 gen_gnuplot_input | gnuplot -persist
OLDNEW
« no previous file with comments | « webrtc/modules/remote_bitrate_estimator/test/plot_dynamics.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698