| 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 {
 | 
| 
 |