Index: google_apis/gcm/monitoring/gcm_stats_recorder.cc |
diff --git a/google_apis/gcm/monitoring/gcm_stats_recorder.cc b/google_apis/gcm/monitoring/gcm_stats_recorder.cc |
index ed9389197cd76681138772f153c0d4c37e321530..536d7e06ee2e672f2a332abfc7064cb02b53f853 100644 |
--- a/google_apis/gcm/monitoring/gcm_stats_recorder.cc |
+++ b/google_apis/gcm/monitoring/gcm_stats_recorder.cc |
@@ -147,6 +147,12 @@ GCMStatsRecorder::Activity::Activity() |
GCMStatsRecorder::Activity::~Activity() { |
} |
+GCMStatsRecorder::CheckinActivity::CheckinActivity() { |
+} |
+ |
+GCMStatsRecorder::CheckinActivity::~CheckinActivity() { |
+} |
+ |
GCMStatsRecorder::ConnectionActivity::ConnectionActivity() { |
} |
@@ -189,12 +195,52 @@ void GCMStatsRecorder::SetRecording(bool recording) { |
} |
void GCMStatsRecorder::Clear() { |
+ checkin_activities_.clear(); |
connection_activities_.clear(); |
registration_activities_.clear(); |
receiving_activities_.clear(); |
sending_activities_.clear(); |
} |
+void GCMStatsRecorder::RecordCheckin( |
+ const std::string& event, |
+ const std::string& details) { |
+ CheckinActivity data; |
+ CheckinActivity* inserted_data = InsertCircularBuffer( |
+ &checkin_activities_, data); |
+ inserted_data->event = event; |
+ inserted_data->details = details; |
+} |
+ |
+void GCMStatsRecorder::RecordCheckinInitiated(uint64 android_id) { |
+ if (!is_recording_) |
+ return; |
+ RecordCheckin("Checkin initiated", |
+ base::StringPrintf("Android Id: %" PRIu64, android_id)); |
+} |
+ |
+void GCMStatsRecorder::RecordCheckinDelayedDueToBackoff(int64 delay_msec) { |
+ if (!is_recording_) |
+ return; |
+ RecordCheckin("Checkin backoff", |
+ base::StringPrintf("Delayed for %" PRId64 " msec", |
+ delay_msec)); |
+} |
+ |
+void GCMStatsRecorder::RecordCheckinSuccess() { |
+ if (!is_recording_) |
+ return; |
+ RecordCheckin("Checkin succeeded", std::string()); |
+} |
+ |
+void GCMStatsRecorder::RecordCheckinFailure(std::string status, |
+ bool will_retry) { |
+ if (!is_recording_) |
+ return; |
+ RecordCheckin("Checkin failed", base::StringPrintf( |
+ "%s.%s", status.c_str(), will_retry ? " Will retry." : "")); |
Nicolas Zea
2014/05/02 20:51:36
nit: perhaps also say "Will not retry" for false c
juyik
2014/05/02 21:44:18
Done.
|
+} |
+ |
void GCMStatsRecorder::RecordConnection( |
const std::string& event, |
const std::string& details) { |
@@ -364,6 +410,10 @@ void GCMStatsRecorder::RecordDataMessageRecieved( |
void GCMStatsRecorder::CollectActivities( |
RecordedActivities* recorder_activities) const { |
+ recorder_activities->checkin_activities.insert( |
+ recorder_activities->checkin_activities.begin(), |
+ checkin_activities_.begin(), |
+ checkin_activities_.end()); |
recorder_activities->connection_activities.insert( |
recorder_activities->connection_activities.begin(), |
connection_activities_.begin(), |