| Index: webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
 | 
| diff --git a/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc b/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
 | 
| index acae76e797de8b60eebca78ee89b2dbbdfaa9835..7032b08456b2e3aa53a7c57d875a738a03d26afa 100644
 | 
| --- a/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
 | 
| +++ b/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
 | 
| @@ -32,34 +32,29 @@ PacketReceiver::PacketReceiver(PacketProcessorListener* listener,
 | 
|                                 MetricRecorder* metric_recorder)
 | 
|      : PacketProcessor(listener, flow_id, kReceiver),
 | 
|        bwe_receiver_(CreateBweReceiver(bwe_type, flow_id, plot_bwe)),
 | 
| -      metric_recorder_(metric_recorder) {
 | 
| +      metric_recorder_(metric_recorder),
 | 
| +      plot_delay_(plot_delay),
 | 
| +      last_delay_plot_ms_(0),
 | 
| +      // #2 aligns the plot with the right axis.
 | 
| +      delay_prefix_("Delay_ms#2"),
 | 
| +      bwe_type_(bwe_type) {
 | 
|    if (metric_recorder_ != nullptr) {
 | 
| -    // Setup the prefix ststd::rings used when logging.
 | 
| +    // Setup the prefix std::strings used when logging.
 | 
|      std::vector<std::string> prefixes;
 | 
|  
 | 
| -    std::stringstream ss1;
 | 
| -    ss1 << "Throughput_kbps_" << flow_id << "#2";
 | 
| -    prefixes.push_back(ss1.str());  // Throughput.
 | 
| -
 | 
| -    std::stringstream ss2;
 | 
| -    ss2 << "Delay_ms_" << flow_id << "#2";
 | 
| -    prefixes.push_back(ss2.str());  // Delay.
 | 
| -
 | 
| -    std::stringstream ss3;
 | 
| -    ss3 << "Packet_Loss_" << flow_id << "#2";
 | 
| -    prefixes.push_back(ss3.str());  // Loss.
 | 
| -
 | 
| -    std::stringstream ss4;
 | 
| -    ss4 << "Objective_function_" << flow_id << "#2";
 | 
| -    prefixes.push_back(ss4.str());  // Objective.
 | 
| +    // Metric recorder plots them in separated figures,
 | 
| +    // alignment will take place with the #1 left axis.
 | 
| +    prefixes.push_back("Throughput_kbps#1");      // Throughput.
 | 
| +    prefixes.push_back("Delay_ms_#1");            // Delay.
 | 
| +    prefixes.push_back("Packet_Loss_#1");         // Loss.
 | 
| +    prefixes.push_back("Objective_function_#1");  // Objective.
 | 
|  
 | 
|      // Plot Total/PerFlow Available capacity together with throughputs.
 | 
| -    std::stringstream ss5;
 | 
| -    ss5 << "Throughput_kbps" << flow_id << "#1";
 | 
| -    prefixes.push_back(ss5.str());  // Total Available.
 | 
| -    prefixes.push_back(ss5.str());  // Available per flow.
 | 
| +    prefixes.push_back("Throughput_kbps#1");  // Total Available.
 | 
| +    prefixes.push_back("Throughput_kbps#1");  // Available per flow.
 | 
|  
 | 
| -    metric_recorder_->SetPlotInformation(prefixes);
 | 
| +    bool plot_loss = plot_delay;  // Plot loss if delay is plotted.
 | 
| +    metric_recorder_->SetPlotInformation(prefixes, plot_delay, plot_loss);
 | 
|    }
 | 
|  }
 | 
|  
 | 
| @@ -102,6 +97,8 @@ void PacketReceiver::RunFor(int64_t time_ms, Packets* in_out) {
 | 
|          UpdateMetrics(arrival_time_ms, send_time_ms,
 | 
|                        media_packet->payload_size());
 | 
|          metric_recorder_->PlotAllDynamics();
 | 
| +      } else if (plot_delay_) {
 | 
| +        PlotDelay(arrival_time_ms, send_time_ms);
 | 
|        }
 | 
|  
 | 
|        bwe_receiver_->ReceivePacket(arrival_time_ms, *media_packet);
 | 
| @@ -127,6 +124,16 @@ void PacketReceiver::UpdateMetrics(int64_t arrival_time_ms,
 | 
|    metric_recorder_->UpdateObjective();
 | 
|  }
 | 
|  
 | 
| +void PacketReceiver::PlotDelay(int64_t arrival_time_ms, int64_t send_time_ms) {
 | 
| +  const int64_t kDelayPlotIntervalMs = 100;
 | 
| +  if (arrival_time_ms >= last_delay_plot_ms_ + kDelayPlotIntervalMs) {
 | 
| +    BWE_TEST_LOGGING_PLOT_WITH_NAME(0, delay_prefix_, arrival_time_ms,
 | 
| +                                    arrival_time_ms - send_time_ms,
 | 
| +                                    bwe_names[bwe_type_]);
 | 
| +    last_delay_plot_ms_ = arrival_time_ms;
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  float PacketReceiver::GlobalPacketLoss() {
 | 
|    return bwe_receiver_->GlobalReceiverPacketLossRatio();
 | 
|  }
 | 
| 
 |