Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Unified Diff: components/gcm_driver/gcm_client_impl.cc

Issue 2558553002: GCM: Add Android UMA, and UMA for deleted/collapsed messages (Closed)
Patch Set: Address review comments and add Android logging Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/gcm_driver/gcm_client_impl.cc
diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
index bd44af2c7a28b9843ef1b504b8618534dac6cb39..41ca43696d3dfe95a4883cf144fff635eb0e3147 100644
--- a/components/gcm_driver/gcm_client_impl.cc
+++ b/components/gcm_driver/gcm_client_impl.cc
@@ -82,6 +82,7 @@ enum ResetStoreError {
const char kGCMScope[] = "GCM";
const int kMaxRegistrationRetries = 5;
const int kMaxUnregistrationRetries = 5;
+const char kDeletedCountKey[] = "total_deleted";
const char kMessageTypeDataMessage[] = "gcm";
const char kMessageTypeDeletedMessagesKey[] = "deleted_messages";
const char kMessageTypeKey[] = "message_type";
@@ -1335,10 +1336,7 @@ void GCMClientImpl::HandleIncomingMessage(const gcm::MCSMessage& message) {
message_data);
break;
case DELETED_MESSAGES:
- recorder_.RecordDataMessageReceived(app_id, data_message_stanza.from(),
- data_message_stanza.ByteSize(), true,
- GCMStatsRecorder::DELETED_MESSAGES);
- delegate_->OnMessagesDeleted(app_id);
+ HandleIncomingDeletedMessages(app_id, data_message_stanza, message_data);
break;
case SEND_ERROR:
HandleIncomingSendError(app_id, data_message_stanza, message_data);
@@ -1401,6 +1399,14 @@ void GCMClientImpl::HandleIncomingDataMessage(
}
}
+ UMA_HISTOGRAM_BOOLEAN("GCM.DataMessageReceivedHasRegisteredApp", registered);
+ if (registered) {
+ UMA_HISTOGRAM_COUNTS("GCM.DataMessageReceived", 1);
+ bool has_collapse_key =
+ data_message_stanza.has_token() && !data_message_stanza.token().empty();
+ UMA_HISTOGRAM_BOOLEAN("GCM.DataMessageReceivedHasCollapseKey",
+ has_collapse_key);
+ }
recorder_.RecordDataMessageReceived(app_id, sender,
data_message_stanza.ByteSize(), registered,
GCMStatsRecorder::DATA_MESSAGE);
@@ -1417,6 +1423,25 @@ void GCMClientImpl::HandleIncomingDataMessage(
delegate_->OnMessageReceived(app_id, incoming_message);
}
+void GCMClientImpl::HandleIncomingDeletedMessages(
+ const std::string& app_id,
+ const mcs_proto::DataMessageStanza& data_message_stanza,
+ MessageData& message_data) {
+ int deleted_count = 0;
+ MessageData::iterator count_iter = message_data.find(kDeletedCountKey);
+ if (count_iter != message_data.end()) {
+ if (!base::StringToInt(count_iter->second, &deleted_count))
Peter Beverloo 2016/12/07 19:36:20 Should we LOG(WARN)? I'm not sure if that's useful
johnme 2016/12/07 20:00:37 Well, or just that GCM changed the format of this
+ deleted_count = 0;
+ }
+ UMA_HISTOGRAM_COUNTS_1000("GCM.DeletedMessagesReceived", deleted_count);
+
+ recorder_.RecordDataMessageReceived(app_id, data_message_stanza.from(),
+ data_message_stanza.ByteSize(),
+ true /* to_registered_app */,
+ GCMStatsRecorder::DELETED_MESSAGES);
+ delegate_->OnMessagesDeleted(app_id);
+}
+
void GCMClientImpl::HandleIncomingSendError(
const std::string& app_id,
const mcs_proto::DataMessageStanza& data_message_stanza,

Powered by Google App Engine
This is Rietveld 408576698