| Index: remoting/test/fake_connection_event_logger.cc
|
| diff --git a/remoting/test/fake_connection_event_logger.cc b/remoting/test/fake_connection_event_logger.cc
|
| index 2893b7aa6ab0da9759574d000b99487dbc21aa87..f77a1a02f835959b1daa78dd06d46eadf2f169a1 100644
|
| --- a/remoting/test/fake_connection_event_logger.cc
|
| +++ b/remoting/test/fake_connection_event_logger.cc
|
| @@ -119,6 +119,7 @@ int64_t NoBarrierAtomicInt64::operator*() const {
|
|
|
| class MessageCounter {
|
| public:
|
| + MessageCounter(const char* name, const char* unit);
|
| explicit MessageCounter(const char* name);
|
|
|
| int message_count() const { return *count_; }
|
| @@ -129,10 +130,12 @@ class MessageCounter {
|
| double SizePerSecond() const;
|
| double AverageMessageSize() const;
|
| void LogMessage(const ::google::protobuf::MessageLite& message);
|
| - void DisplayStatistics(std::ostream& os);
|
| + void LogMessage(int size);
|
| + virtual void DisplayStatistics(std::ostream& os);
|
|
|
| private:
|
| - std::string name_;
|
| + const std::string name_;
|
| + const std::string unit_;
|
| NoBarrierAtomicInt32 count_;
|
| NoBarrierAtomicInt64 size_;
|
| int last_size_ = 0;
|
| @@ -142,12 +145,16 @@ class MessageCounter {
|
| DISALLOW_COPY_AND_ASSIGN(MessageCounter);
|
| };
|
|
|
| -MessageCounter::MessageCounter(const char* name)
|
| +MessageCounter::MessageCounter(const char* name, const char* unit)
|
| : name_(name),
|
| + unit_(unit),
|
| count_(),
|
| size_(),
|
| start_time_(base::Time::Now()) {}
|
|
|
| +MessageCounter::MessageCounter(const char* name)
|
| + : MessageCounter(name, "bytes") {}
|
| +
|
| double MessageCounter::DurationSeconds() const {
|
| return (base::Time::Now() - start_time_).InSecondsF();
|
| }
|
| @@ -165,27 +172,21 @@ double MessageCounter::AverageMessageSize() const {
|
|
|
| void MessageCounter::LogMessage(
|
| const ::google::protobuf::MessageLite& message) {
|
| + LogMessage(message.ByteSize());
|
| +}
|
| +
|
| +void MessageCounter::LogMessage(int size) {
|
| count_++;
|
| - last_size_ = message.ByteSize();
|
| - size_ += message.ByteSize();
|
| + last_size_ = size;
|
| + size_ += size;
|
| }
|
|
|
| void MessageCounter::DisplayStatistics(std::ostream& os) {
|
| - os << name_
|
| - << ": "
|
| - << message_size()
|
| - << " bytes in "
|
| - << message_count()
|
| - << " packages, last package "
|
| - << last_message_size()
|
| - << " bytes, "
|
| - << AverageMessageSize()
|
| - << " bytes/package, "
|
| - << MessagesPerSecond()
|
| - << " packages/sec, "
|
| - << SizePerSecond()
|
| - << " bytes/sec"
|
| - << std::endl;
|
| + os << name_ << ": " << message_size() << " " << unit_ << " in "
|
| + << message_count() << " packages, last package " << last_message_size()
|
| + << " " << unit_ << ", " << AverageMessageSize() << " " << unit_
|
| + << "/package, " << MessagesPerSecond() << " packages/sec, "
|
| + << SizePerSecond() << " " << unit_ << "/sec" << std::endl;
|
| }
|
|
|
| } // namespace
|
| @@ -267,17 +268,33 @@ class FakeConnectionEventLogger::CounterVideoStub
|
| public:
|
| CounterVideoStub(protocol::FakeConnectionToClient* connection);
|
|
|
| + void DisplayStatistics(std::ostream& os) override;
|
| +
|
| private:
|
| void ProcessVideoPacket(std::unique_ptr<VideoPacket> video_packet,
|
| const base::Closure& done) override;
|
|
|
| protocol::FakeConnectionToClient* connection_ = nullptr;
|
| + MessageCounter video_data_;
|
| + MessageCounter capture_time_;
|
| + MessageCounter encode_time_;
|
| };
|
|
|
| FakeConnectionEventLogger::CounterVideoStub::CounterVideoStub(
|
| protocol::FakeConnectionToClient* connection)
|
| : MessageCounter("video"),
|
| - connection_(connection) {}
|
| + connection_(connection),
|
| + video_data_("video-data"),
|
| + capture_time_("capture-time", "ms"),
|
| + encode_time_("encode-time", "ms") {}
|
| +
|
| +void FakeConnectionEventLogger::CounterVideoStub::DisplayStatistics(
|
| + std::ostream& os) {
|
| + MessageCounter::DisplayStatistics(os);
|
| + video_data_.DisplayStatistics(os);
|
| + capture_time_.DisplayStatistics(os);
|
| + encode_time_.DisplayStatistics(os);
|
| +}
|
|
|
| void FakeConnectionEventLogger::CounterVideoStub::ProcessVideoPacket(
|
| std::unique_ptr<VideoPacket> video_packet,
|
| @@ -291,6 +308,9 @@ void FakeConnectionEventLogger::CounterVideoStub::ProcessVideoPacket(
|
| connection_->video_feedback_stub()->ProcessVideoAck(std::move(ack));
|
| }
|
| LogMessage(*video_packet);
|
| + video_data_.LogMessage(video_packet->data().size());
|
| + capture_time_.LogMessage(video_packet->capture_time_ms());
|
| + encode_time_.LogMessage(video_packet->encode_time_ms());
|
| }
|
| done.Run();
|
| }
|
|
|