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

Side by Side Diff: webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.cc

Issue 2456373002: Update BWE_TEST_LOGGING_PLOT output format, and fix plot_dynamics.py script. (Closed)
Patch Set: Suppress warnings about unused variable. Created 4 years, 1 month 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 "webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h" 11 #include "webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h"
12 12
13 #if BWE_TEST_LOGGING_COMPILE_TIME_ENABLE 13 #if BWE_TEST_LOGGING_COMPILE_TIME_ENABLE
14 14
15 #include <stdarg.h> 15 #include <stdarg.h>
16 #include <stdio.h> 16 #include <stdio.h>
17 17
18 #include <algorithm> 18 #include <algorithm>
19 #include <sstream> 19 #include <sstream>
20 20
21 #include "webrtc/base/format_macros.h"
21 #include "webrtc/base/platform_thread.h" 22 #include "webrtc/base/platform_thread.h"
22 #include "webrtc/system_wrappers/include/critical_section_wrapper.h" 23 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
23 24
24 namespace webrtc { 25 namespace webrtc {
25 namespace testing { 26 namespace testing {
26 namespace bwe { 27 namespace bwe {
27 28
28 Logging Logging::g_Logging; 29 Logging Logging::g_Logging;
29 30
30 static std::string ToString(uint32_t v) { 31 static std::string ToString(uint32_t v) {
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 if (state.enabled) { 84 if (state.enabled) {
84 printf("%s\t", state.tag.c_str()); 85 printf("%s\t", state.tag.c_str());
85 va_list args; 86 va_list args;
86 va_start(args, format); 87 va_start(args, format);
87 vprintf(format, args); 88 vprintf(format, args);
88 va_end(args); 89 va_end(args);
89 printf("\n"); 90 printf("\n");
90 } 91 }
91 } 92 }
92 93
93 void Logging::Plot(int figure, double value) { 94 void Logging::Plot(int figure, const std::string& name, double value) {
94 Plot(figure, value, 0, "-"); 95 Plot(figure, name, value, 0, "-");
95 }
96
97 void Logging::Plot(int figure, double value, uint32_t ssrc) {
98 Plot(figure, value, ssrc, "-");
99 }
100
101 void Logging::Plot(int figure, double value, const std::string& alg_name) {
102 Plot(figure, value, 0, alg_name);
103 } 96 }
104 97
105 void Logging::Plot(int figure, 98 void Logging::Plot(int figure,
99 const std::string& name,
100 double value,
101 uint32_t ssrc) {
102 Plot(figure, name, value, ssrc, "-");
103 }
104
105 void Logging::Plot(int figure,
106 const std::string& name,
107 double value,
108 const std::string& alg_name) {
109 Plot(figure, name, value, 0, alg_name);
110 }
111
112 void Logging::Plot(int figure,
113 const std::string& name,
106 double value, 114 double value,
107 uint32_t ssrc, 115 uint32_t ssrc,
108 const std::string& alg_name) { 116 const std::string& alg_name) {
109 CriticalSectionScoped cs(crit_sect_.get()); 117 CriticalSectionScoped cs(crit_sect_.get());
110 ThreadMap::iterator it = thread_map_.find(rtc::CurrentThreadId()); 118 ThreadMap::iterator it = thread_map_.find(rtc::CurrentThreadId());
111 assert(it != thread_map_.end()); 119 assert(it != thread_map_.end());
112 const State& state = it->second.stack.top(); 120 const State& state = it->second.stack.top();
113 std::stringstream ss;
114 ss << ssrc;
115 std::string label = state.tag + ':' + ss.str() + '@' + alg_name;
116 std::string prefix("Available");
117 if (alg_name.compare(0, prefix.length(), prefix) == 0) {
118 std::string receiver("Receiver");
119 size_t start_pos = label.find(receiver);
120 if (start_pos != std::string::npos) {
121 label.replace(start_pos, receiver.length(), "Sender");
122 }
123 }
124 if (state.enabled) { 121 if (state.enabled) {
125 printf("PLOT\t%d\t%s\t%f\t%f\n", figure, label.c_str(), 122 printf("PLOT\t%d\t%s:%" PRIu32 "@%s\t%f\t%f\n", figure, name.c_str(), ssrc,
126 state.timestamp_ms * 0.001, value); 123 alg_name.c_str(), state.timestamp_ms * 0.001, value);
127 } 124 }
128 } 125 }
129 126
130 void Logging::PlotBar(int figure, 127 void Logging::PlotBar(int figure,
131 const std::string& name, 128 const std::string& name,
132 double value, 129 double value,
133 int flow_id) { 130 int flow_id) {
134 CriticalSectionScoped cs(crit_sect_.get()); 131 CriticalSectionScoped cs(crit_sect_.get());
135 ThreadMap::iterator it = thread_map_.find(rtc::CurrentThreadId()); 132 ThreadMap::iterator it = thread_map_.find(rtc::CurrentThreadId());
136 assert(it != thread_map_.end()); 133 assert(it != thread_map_.end());
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 // Update time so that next log/plot will use the latest time seen so far 251 // Update time so that next log/plot will use the latest time seen so far
255 // in this call tree. 252 // in this call tree.
256 state->timestamp_ms = std::max(state->timestamp_ms, newest_timestamp_ms); 253 state->timestamp_ms = std::max(state->timestamp_ms, newest_timestamp_ms);
257 } 254 }
258 } 255 }
259 } // namespace bwe 256 } // namespace bwe
260 } // namespace testing 257 } // namespace testing
261 } // namespace webrtc 258 } // namespace webrtc
262 259
263 #endif // BWE_TEST_LOGGING_COMPILE_TIME_ENABLE 260 #endif // BWE_TEST_LOGGING_COMPILE_TIME_ENABLE
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698