OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
3 # | 3 # |
4 # Use of this source code is governed by a BSD-style license | 4 # Use of this source code is governed by a BSD-style license |
5 # that can be found in the LICENSE file in the root of the source | 5 # that can be found in the LICENSE file in the root of the source |
6 # tree. An additional intellectual property rights grant can be found | 6 # tree. An additional intellectual property rights grant can be found |
7 # in the file PATENTS. All contributing project authors may | 7 # in the file PATENTS. All contributing project authors may |
8 # be found in the AUTHORS file in the root of the source tree. | 8 # be found in the AUTHORS file in the root of the source tree. |
9 | 9 |
10 """Generate graphs for data generated by loopback tests. | 10 """Generate graphs for data generated by loopback tests. |
11 | 11 |
12 Usage examples: | 12 Usage examples: |
13 Show end to end time for a single full stack test. | 13 Show end to end time for a single full stack test. |
14 ./full_stack_plot.py -df end_to_end -o 600 --frames 1000 vp9_data.txt | 14 ./full_stack_tests_plot.py -df end_to_end -o 600 --frames 1000 vp9_data.txt |
15 | 15 |
16 Show simultaneously PSNR and encoded frame size for two different runs of | 16 Show simultaneously PSNR and encoded frame size for two different runs of |
17 full stack test. Averaged over a cycle of 200 frames. Used e.g. for | 17 full stack test. Averaged over a cycle of 200 frames. Used e.g. for |
18 screenshare slide test. | 18 screenshare slide test. |
19 ./full_stack_plot.py -c 200 -df psnr -drf encoded_frame_size \\ | 19 ./full_stack_tests_plot.py -c 200 -df psnr -drf encoded_frame_size \\ |
20 before.txt after.txt | 20 before.txt after.txt |
21 | 21 |
22 Similar to the previous test, but multiple graphs. | 22 Similar to the previous test, but multiple graphs. |
23 ./full_stack_plot.py -c 200 -df psnr vp8.txt vp9.txt --next \\ | 23 ./full_stack_tests_plot.py -c 200 -df psnr vp8.txt vp9.txt --next \\ |
24 -c 200 -df sender_time vp8.txt vp9.txt --next \\ | 24 -c 200 -df sender_time vp8.txt vp9.txt --next \\ |
25 -c 200 -df end_to_end vp8.txt vp9.txt | 25 -c 200 -df end_to_end vp8.txt vp9.txt |
26 """ | 26 """ |
27 | 27 |
28 import argparse | 28 import argparse |
29 from collections import defaultdict | 29 from collections import defaultdict |
30 import itertools | 30 import itertools |
31 import sys | 31 import sys |
32 import matplotlib.pyplot as plt | 32 import matplotlib.pyplot as plt |
33 import numpy | 33 import numpy |
34 | 34 |
35 # Fields | 35 # Fields |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 config.plot(ax) | 405 config.plot(ax) |
406 if config.output_filename: | 406 if config.output_filename: |
407 print "Saving to", config.output_filename | 407 print "Saving to", config.output_filename |
408 fig.savefig(config.output_filename) | 408 fig.savefig(config.output_filename) |
409 plt.close(fig) | 409 plt.close(fig) |
410 | 410 |
411 plt.show() | 411 plt.show() |
412 | 412 |
413 if __name__ == "__main__": | 413 if __name__ == "__main__": |
414 show_or_save_plots(plot_configs_from_args(sys.argv[1:])) | 414 show_or_save_plots(plot_configs_from_args(sys.argv[1:])) |
OLD | NEW |