| Index: google_apis/gcm/engine/mcs_client.cc
|
| diff --git a/google_apis/gcm/engine/mcs_client.cc b/google_apis/gcm/engine/mcs_client.cc
|
| index da8300c799266957263fff5d38b676d114e8e1f8..ef8d47a95bab9f3eec0759845b056f0b6bf379e0 100644
|
| --- a/google_apis/gcm/engine/mcs_client.cc
|
| +++ b/google_apis/gcm/engine/mcs_client.cc
|
| @@ -15,6 +15,7 @@
|
| #include "google_apis/gcm/base/mcs_util.h"
|
| #include "google_apis/gcm/base/socket_stream.h"
|
| #include "google_apis/gcm/engine/connection_factory.h"
|
| +#include "google_apis/gcm/gcm_stats_recorder.h"
|
|
|
| using namespace google::protobuf::io;
|
|
|
| @@ -128,6 +129,14 @@ ReliablePacketInfo::ReliablePacketInfo()
|
| }
|
| ReliablePacketInfo::~ReliablePacketInfo() {}
|
|
|
| +int MCSClient::GetSendQueueSize() const {
|
| + return to_send_.size();
|
| +}
|
| +
|
| +int MCSClient::GetUnackedQueueSize() const {
|
| + return to_resend_.size();
|
| +}
|
| +
|
| std::string MCSClient::GetStateString() const {
|
| switch(state_) {
|
| case UNINITIALIZED:
|
| @@ -147,7 +156,8 @@ std::string MCSClient::GetStateString() const {
|
| MCSClient::MCSClient(const std::string& version_string,
|
| base::Clock* clock,
|
| ConnectionFactory* connection_factory,
|
| - GCMStore* gcm_store)
|
| + GCMStore* gcm_store,
|
| + GCMStatsRecorder* recorder)
|
| : version_string_(version_string),
|
| clock_(clock),
|
| state_(UNINITIALIZED),
|
| @@ -160,6 +170,7 @@ MCSClient::MCSClient(const std::string& version_string,
|
| stream_id_out_(0),
|
| stream_id_in_(0),
|
| gcm_store_(gcm_store),
|
| + recorder_(recorder),
|
| weak_ptr_factory_(this) {
|
| }
|
|
|
| @@ -495,6 +506,11 @@ void MCSClient::SendPacketToWire(ReliablePacketInfo* packet_info) {
|
| base::Time::kMicrosecondsPerSecond) - sent;
|
| DVLOG(1) << "Message was queued for " << queued << " seconds.";
|
| data_message->set_queued(queued);
|
| + recorder_->RecordSentToWire(
|
| + data_message->category(),
|
| + data_message->to(),
|
| + data_message->id(),
|
| + queued);
|
| }
|
|
|
| // Set the proper last received stream id to acknowledge received server
|
| @@ -862,6 +878,13 @@ void MCSClient::NotifyMessageSendStatus(
|
|
|
| const mcs_proto::DataMessageStanza* data_message_stanza =
|
| reinterpret_cast<const mcs_proto::DataMessageStanza*>(&protobuf);
|
| + recorder_->RecordNotifySendStatus(
|
| + data_message_stanza->category(),
|
| + data_message_stanza->to(),
|
| + data_message_stanza->id(),
|
| + status,
|
| + protobuf.ByteSize(),
|
| + data_message_stanza->ttl());
|
| message_sent_callback_.Run(
|
| data_message_stanza->device_user_id(),
|
| data_message_stanza->category(),
|
|
|