OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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 | 10 |
11 #include <iostream> | 11 #include <iostream> |
12 | 12 |
13 #include "gflags/gflags.h" | 13 #include "gflags/gflags.h" |
14 #include "webrtc/call/rtc_event_log_parser.h" | 14 #include "webrtc/call/rtc_event_log_parser.h" |
15 #include "webrtc/tools/event_log_visualizer/analyzer.h" | 15 #include "webrtc/tools/event_log_visualizer/analyzer.h" |
16 #include "webrtc/tools/event_log_visualizer/plot_base.h" | 16 #include "webrtc/tools/event_log_visualizer/plot_base.h" |
17 #include "webrtc/tools/event_log_visualizer/plot_python.h" | 17 #include "webrtc/tools/event_log_visualizer/plot_python.h" |
18 | 18 |
19 DEFINE_bool(incoming, true, "Plot statistics for incoming packets."); | 19 DEFINE_bool(incoming, true, "Plot statistics for incoming packets."); |
20 DEFINE_bool(outgoing, true, "Plot statistics for outgoing packets."); | 20 DEFINE_bool(outgoing, true, "Plot statistics for outgoing packets."); |
21 DEFINE_bool(plot_all, true, "Plot all different data types."); | 21 DEFINE_bool(plot_all, true, "Plot all different data types."); |
22 DEFINE_bool(plot_packets, | 22 DEFINE_bool(plot_packets, |
23 false, | 23 false, |
24 "Plot bar graph showing the size of each packet."); | 24 "Plot bar graph showing the size of each packet."); |
25 DEFINE_bool(plot_audio_playout, | 25 DEFINE_bool(plot_audio_playout, |
26 false, | 26 false, |
27 "Plot bar graph showing the time between each audio playout."); | 27 "Plot bar graph showing the time between each audio playout."); |
| 28 DEFINE_bool(plot_audio_level, |
| 29 false, |
| 30 "Plot line graph showing the audio level."); |
28 DEFINE_bool( | 31 DEFINE_bool( |
29 plot_sequence_number, | 32 plot_sequence_number, |
30 false, | 33 false, |
31 "Plot the difference in sequence number between consecutive packets."); | 34 "Plot the difference in sequence number between consecutive packets."); |
32 DEFINE_bool( | 35 DEFINE_bool( |
33 plot_delay_change, | 36 plot_delay_change, |
34 false, | 37 false, |
35 "Plot the difference in 1-way path delay between consecutive packets."); | 38 "Plot the difference in 1-way path delay between consecutive packets."); |
36 DEFINE_bool(plot_accumulated_delay_change, | 39 DEFINE_bool(plot_accumulated_delay_change, |
37 false, | 40 false, |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 analyzer.CreateAccumulatedPacketsGraph( | 104 analyzer.CreateAccumulatedPacketsGraph( |
102 webrtc::PacketDirection::kOutgoingPacket, | 105 webrtc::PacketDirection::kOutgoingPacket, |
103 collection->AppendNewPlot()); | 106 collection->AppendNewPlot()); |
104 } | 107 } |
105 } | 108 } |
106 | 109 |
107 if (FLAGS_plot_all || FLAGS_plot_audio_playout) { | 110 if (FLAGS_plot_all || FLAGS_plot_audio_playout) { |
108 analyzer.CreatePlayoutGraph(collection->AppendNewPlot()); | 111 analyzer.CreatePlayoutGraph(collection->AppendNewPlot()); |
109 } | 112 } |
110 | 113 |
| 114 if (FLAGS_plot_all || FLAGS_plot_audio_level) { |
| 115 analyzer.CreateAudioLevelGraph(collection->AppendNewPlot()); |
| 116 } |
| 117 |
111 if (FLAGS_plot_all || FLAGS_plot_sequence_number) { | 118 if (FLAGS_plot_all || FLAGS_plot_sequence_number) { |
112 if (FLAGS_incoming) { | 119 if (FLAGS_incoming) { |
113 analyzer.CreateSequenceNumberGraph(collection->AppendNewPlot()); | 120 analyzer.CreateSequenceNumberGraph(collection->AppendNewPlot()); |
114 } | 121 } |
115 } | 122 } |
116 | 123 |
117 if (FLAGS_plot_all || FLAGS_plot_delay_change) { | 124 if (FLAGS_plot_all || FLAGS_plot_delay_change) { |
118 if (FLAGS_incoming) { | 125 if (FLAGS_incoming) { |
119 analyzer.CreateDelayChangeGraph(collection->AppendNewPlot()); | 126 analyzer.CreateDelayChangeGraph(collection->AppendNewPlot()); |
120 } | 127 } |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 } | 167 } |
161 | 168 |
162 if (FLAGS_plot_all || FLAGS_plot_network_delay_feedback) { | 169 if (FLAGS_plot_all || FLAGS_plot_network_delay_feedback) { |
163 analyzer.CreateNetworkDelayFeedbackGraph(collection->AppendNewPlot()); | 170 analyzer.CreateNetworkDelayFeedbackGraph(collection->AppendNewPlot()); |
164 } | 171 } |
165 | 172 |
166 collection->Draw(); | 173 collection->Draw(); |
167 | 174 |
168 return 0; | 175 return 0; |
169 } | 176 } |
OLD | NEW |