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

Side by Side 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: Created 6 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "google_apis/gcm/monitoring/gcm_stats_recorder.h" 5 #include "google_apis/gcm/monitoring/gcm_stats_recorder.h"
6 6
7 #include <deque> 7 #include <deque>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/format_macros.h" 10 #include "base/format_macros.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 140
141 } // namespace 141 } // namespace
142 142
143 GCMStatsRecorder::Activity::Activity() 143 GCMStatsRecorder::Activity::Activity()
144 : time(base::Time::Now()) { 144 : time(base::Time::Now()) {
145 } 145 }
146 146
147 GCMStatsRecorder::Activity::~Activity() { 147 GCMStatsRecorder::Activity::~Activity() {
148 } 148 }
149 149
150 GCMStatsRecorder::CheckinActivity::CheckinActivity() {
151 }
152
153 GCMStatsRecorder::CheckinActivity::~CheckinActivity() {
154 }
155
150 GCMStatsRecorder::ConnectionActivity::ConnectionActivity() { 156 GCMStatsRecorder::ConnectionActivity::ConnectionActivity() {
151 } 157 }
152 158
153 GCMStatsRecorder::ConnectionActivity::~ConnectionActivity() { 159 GCMStatsRecorder::ConnectionActivity::~ConnectionActivity() {
154 } 160 }
155 161
156 GCMStatsRecorder::RegistrationActivity::RegistrationActivity() { 162 GCMStatsRecorder::RegistrationActivity::RegistrationActivity() {
157 } 163 }
158 164
159 GCMStatsRecorder::RegistrationActivity::~RegistrationActivity() { 165 GCMStatsRecorder::RegistrationActivity::~RegistrationActivity() {
(...skipping 22 matching lines...) Expand all
182 } 188 }
183 189
184 GCMStatsRecorder::~GCMStatsRecorder() { 190 GCMStatsRecorder::~GCMStatsRecorder() {
185 } 191 }
186 192
187 void GCMStatsRecorder::SetRecording(bool recording) { 193 void GCMStatsRecorder::SetRecording(bool recording) {
188 is_recording_ = recording; 194 is_recording_ = recording;
189 } 195 }
190 196
191 void GCMStatsRecorder::Clear() { 197 void GCMStatsRecorder::Clear() {
198 checkin_activities_.clear();
192 connection_activities_.clear(); 199 connection_activities_.clear();
193 registration_activities_.clear(); 200 registration_activities_.clear();
194 receiving_activities_.clear(); 201 receiving_activities_.clear();
195 sending_activities_.clear(); 202 sending_activities_.clear();
196 } 203 }
197 204
205 void GCMStatsRecorder::RecordCheckin(
206 const std::string& event,
207 const std::string& details) {
208 CheckinActivity data;
209 CheckinActivity* inserted_data = InsertCircularBuffer(
210 &checkin_activities_, data);
211 inserted_data->event = event;
212 inserted_data->details = details;
213 }
214
215 void GCMStatsRecorder::RecordCheckinInitiated(uint64 android_id) {
216 if (!is_recording_)
217 return;
218 RecordCheckin("Checkin initiated",
219 base::StringPrintf("Android Id: %" PRIu64, android_id));
220 }
221
222 void GCMStatsRecorder::RecordCheckinDelayedDueToBackoff(int64 delay_msec) {
223 if (!is_recording_)
224 return;
225 RecordCheckin("Checkin backoff",
226 base::StringPrintf("Delayed for %" PRId64 " msec",
227 delay_msec));
228 }
229
230 void GCMStatsRecorder::RecordCheckinSuccess() {
231 if (!is_recording_)
232 return;
233 RecordCheckin("Checkin succeeded", std::string());
234 }
235
236 void GCMStatsRecorder::RecordCheckinFailure(std::string status,
237 bool will_retry) {
238 if (!is_recording_)
239 return;
240 RecordCheckin("Checkin failed", base::StringPrintf(
241 "%s. %s", status.c_str(), will_retry ? "Will retry." :
242 std::string().c_str()));
jianli 2014/05/01 00:22:35 nit: should passing empty string simply work?
juyik 2014/05/01 01:03:35 Done.
243 }
244
198 void GCMStatsRecorder::RecordConnection( 245 void GCMStatsRecorder::RecordConnection(
199 const std::string& event, 246 const std::string& event,
200 const std::string& details) { 247 const std::string& details) {
201 ConnectionActivity data; 248 ConnectionActivity data;
202 ConnectionActivity* inserted_data = InsertCircularBuffer( 249 ConnectionActivity* inserted_data = InsertCircularBuffer(
203 &connection_activities_, data); 250 &connection_activities_, data);
204 inserted_data->event = event; 251 inserted_data->event = event;
205 inserted_data->details = details; 252 inserted_data->details = details;
206 } 253 }
207 254
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 "Message has been deleted on server"); 404 "Message has been deleted on server");
358 break; 405 break;
359 default: 406 default:
360 NOTREACHED(); 407 NOTREACHED();
361 } 408 }
362 } 409 }
363 } 410 }
364 411
365 void GCMStatsRecorder::CollectActivities( 412 void GCMStatsRecorder::CollectActivities(
366 RecordedActivities* recorder_activities) const { 413 RecordedActivities* recorder_activities) const {
414 recorder_activities->checkin_activities.insert(
415 recorder_activities->checkin_activities.begin(),
416 checkin_activities_.begin(),
417 checkin_activities_.end());
367 recorder_activities->connection_activities.insert( 418 recorder_activities->connection_activities.insert(
368 recorder_activities->connection_activities.begin(), 419 recorder_activities->connection_activities.begin(),
369 connection_activities_.begin(), 420 connection_activities_.begin(),
370 connection_activities_.end()); 421 connection_activities_.end());
371 recorder_activities->registration_activities.insert( 422 recorder_activities->registration_activities.insert(
372 recorder_activities->registration_activities.begin(), 423 recorder_activities->registration_activities.begin(),
373 registration_activities_.begin(), 424 registration_activities_.begin(),
374 registration_activities_.end()); 425 registration_activities_.end());
375 recorder_activities->receiving_activities.insert( 426 recorder_activities->receiving_activities.insert(
376 recorder_activities->receiving_activities.begin(), 427 recorder_activities->receiving_activities.begin(),
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 const std::string& receiver_id, 484 const std::string& receiver_id,
434 const std::string& message_id) { 485 const std::string& message_id) {
435 UMA_HISTOGRAM_COUNTS("GCM.IncomingSendErrors", 1); 486 UMA_HISTOGRAM_COUNTS("GCM.IncomingSendErrors", 1);
436 if (!is_recording_) 487 if (!is_recording_)
437 return; 488 return;
438 RecordSending(app_id, receiver_id, message_id, "Received 'send error' msg", 489 RecordSending(app_id, receiver_id, message_id, "Received 'send error' msg",
439 std::string()); 490 std::string());
440 } 491 }
441 492
442 } // namespace gcm 493 } // namespace gcm
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698