Index: webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h |
diff --git a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h |
index c214d70c27e145efa7081d0e2a79f33c0b161405..23fce00d8cdd8402bb114ce57b947bbcc159ce3d 100644 |
--- a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h |
+++ b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h |
@@ -91,7 +91,31 @@ |
// |name| is a char*, std::string or uint32_t to name the plotted value. |
// |time| is an int64_t time in ms, or -1 to inherit time from previous context. |
// |value| is a double precision float to be plotted. |
+// |alg_name| is an optional argument, a string |
#define BWE_TEST_LOGGING_PLOT(figure, name, time, value) |
+#define BWE_TEST_LOGGING_PLOT_WITH_NAME(figure, name, time, value, alg_name) |
+ |
+// Print to stdout in tab-separated format suitable for plotting, e.g.: |
+// BAR figure Context1_Context2_Name x_left width value |
+// |figure| is a figure id. Different figures are plotted in different windows. |
+// |name| is a char*, std::string or uint32_t to name the plotted value. |
+// |value| is a double precision float to be plotted. |
+// |ylow| and |yhigh| are double precision float for the error line. |
+// |title| is a string and refers to the error label. |
+// |ymax| is a double precision float for the limit horizontal line. |
+// |limit_title| is a string and refers to the limit label. |
+#define BWE_TEST_LOGGING_BAR(figure, name, value, flow_id) |
+#define BWE_TEST_LOGGING_ERRORBAR(figure, name, value, ylow, yhigh, \ |
+ error_title, flow_id) |
+#define BWE_TEST_LOGGING_LIMITERRORBAR( \ |
+ figure, name, value, ylow, yhigh, error_title, ymax, limit_title, flow_id) |
+ |
+#define BWE_TEST_LOGGING_BASELINEBAR(figure, name, value, flow_id) |
+ |
+// |num_flows| is an integer refering to the number of RMCAT flows in the |
+// scenario. |
+// Define |x_label| and |y_label| for plots. |
+#define BWE_TEST_LOGGING_LABEL(figure, x_label, y_label, num_flows) |
#else // BWE_TEST_LOGGING_COMPILE_TIME_ENABLE |
@@ -157,11 +181,57 @@ |
#define BWE_TEST_LOGGING_PLOT(figure, name, time, value) \ |
do { \ |
- __BWE_TEST_LOGGING_CONTEXT_DECLARE(__bwe_log_, __LINE__, name, \ |
+ __BWE_TEST_LOGGING_CONTEXT_DECLARE(__bwe_log_, __PLOT__, name, \ |
static_cast<int64_t>(time), true); \ |
webrtc::testing::bwe::Logging::GetInstance()->Plot(figure, value); \ |
} while (0); |
+#define BWE_TEST_LOGGING_PLOT_WITH_NAME(figure, name, time, value, alg_name) \ |
+ do { \ |
+ __BWE_TEST_LOGGING_CONTEXT_DECLARE(__bwe_log_, __PLOT__, name, \ |
+ static_cast<int64_t>(time), true); \ |
+ webrtc::testing::bwe::Logging::GetInstance()->Plot(figure, value, \ |
+ alg_name); \ |
+ } while (0); |
+ |
+#define BWE_TEST_LOGGING_BAR(figure, name, value, flow_id) \ |
+ do { \ |
+ BWE_TEST_LOGGING_CONTEXT(name); \ |
+ webrtc::testing::bwe::Logging::GetInstance()->PlotBar(figure, name, value, \ |
+ flow_id); \ |
+ } while (0); |
+ |
+#define BWE_TEST_LOGGING_BASELINEBAR(figure, name, value, flow_id) \ |
+ do { \ |
+ BWE_TEST_LOGGING_CONTEXT(name); \ |
+ webrtc::testing::bwe::Logging::GetInstance()->PlotBaselineBar( \ |
+ figure, name, value, flow_id); \ |
+ } while (0); |
+ |
+#define BWE_TEST_LOGGING_ERRORBAR(figure, name, value, ylow, yhigh, title, \ |
+ flow_id) \ |
+ do { \ |
+ BWE_TEST_LOGGING_CONTEXT(name); \ |
+ webrtc::testing::bwe::Logging::GetInstance()->PlotErrorBar( \ |
+ figure, name, value, ylow, yhigh, title, flow_id); \ |
+ } while (0); |
+ |
+#define BWE_TEST_LOGGING_LIMITERRORBAR( \ |
+ figure, name, value, ylow, yhigh, error_title, ymax, limit_title, flow_id) \ |
+ do { \ |
+ BWE_TEST_LOGGING_CONTEXT(name); \ |
+ webrtc::testing::bwe::Logging::GetInstance()->PlotLimitErrorBar( \ |
+ figure, name, value, ylow, yhigh, error_title, ymax, limit_title, \ |
+ flow_id); \ |
+ } while (0); |
+ |
+#define BWE_TEST_LOGGING_LABEL(figure, title, y_label, num_flows) \ |
+ do { \ |
+ BWE_TEST_LOGGING_CONTEXT(title); \ |
+ webrtc::testing::bwe::Logging::GetInstance()->PlotLabel( \ |
+ figure, title, y_label, num_flows); \ |
+ } while (0); |
+ |
namespace webrtc { |
class CriticalSectionWrapper; |
@@ -190,6 +260,33 @@ class Logging { |
void Log(const char format[], ...); |
void Plot(int figure, double value); |
+ void Plot(int figure, double value, const std::string& alg_name); |
+ void PlotBar(int figure, const std::string& name, double value, int flow_id); |
+ void PlotBaselineBar(int figure, |
+ const std::string& name, |
+ double value, |
+ int flow_id); |
+ void PlotErrorBar(int figure, |
+ const std::string& name, |
+ double value, |
+ double ylow, |
+ double yhigh, |
+ const std::string& error_title, |
+ int flow_id); |
+ |
+ void PlotLimitErrorBar(int figure, |
+ const std::string& name, |
+ double value, |
+ double ylow, |
+ double yhigh, |
+ const std::string& error_title, |
+ double ymax, |
+ const std::string& limit_title, |
+ int flow_id); |
+ void PlotLabel(int figure, |
+ const std::string& title, |
+ const std::string& y_label, |
+ int num_flows); |
private: |
struct State { |