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

Unified Diff: google_apis/gcm/monitoring/gcm_stats_recorder.cc

Issue 261573002: Add checkin activity recording to gcm recorder. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Modify some code comments. Created 6 years, 8 months 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: 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(),

Powered by Google App Engine
This is Rietveld 408576698