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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/sync_engine.cc

Issue 269343008: [SyncFS] Add a UMA to measure RTT in registration (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Change summary description of UMA 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/sync_file_system/drive_backend/sync_engine.h" 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/metrics/histogram.h"
10 #include "base/threading/sequenced_worker_pool.h" 11 #include "base/threading/sequenced_worker_pool.h"
12 #include "base/time/time.h"
11 #include "base/values.h" 13 #include "base/values.h"
12 #include "chrome/browser/drive/drive_api_service.h" 14 #include "chrome/browser/drive/drive_api_service.h"
13 #include "chrome/browser/drive/drive_notification_manager.h" 15 #include "chrome/browser/drive/drive_notification_manager.h"
14 #include "chrome/browser/drive/drive_notification_manager_factory.h" 16 #include "chrome/browser/drive/drive_notification_manager_factory.h"
15 #include "chrome/browser/drive/drive_service_interface.h" 17 #include "chrome/browser/drive/drive_service_interface.h"
16 #include "chrome/browser/drive/drive_uploader.h" 18 #include "chrome/browser/drive/drive_uploader.h"
17 #include "chrome/browser/extensions/extension_service.h" 19 #include "chrome/browser/extensions/extension_service.h"
18 #include "chrome/browser/profiles/profile.h" 20 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 21 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
20 #include "chrome/browser/signin/signin_manager_factory.h" 22 #include "chrome/browser/signin/signin_manager_factory.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 scoped_refptr<base::SequencedTaskRunner> ui_task_runner_; 97 scoped_refptr<base::SequencedTaskRunner> ui_task_runner_;
96 base::WeakPtr<SyncEngine> sync_engine_; 98 base::WeakPtr<SyncEngine> sync_engine_;
97 99
98 DISALLOW_COPY_AND_ASSIGN(WorkerObserver); 100 DISALLOW_COPY_AND_ASSIGN(WorkerObserver);
99 }; 101 };
100 102
101 namespace { 103 namespace {
102 104
103 void EmptyStatusCallback(SyncStatusCode status) {} 105 void EmptyStatusCallback(SyncStatusCode status) {}
104 106
107 void DidRegisterOrigin(const base::TimeTicks& start_time,
108 const SyncStatusCallback& callback,
109 SyncStatusCode status) {
110 base::TimeDelta delta(base::TimeTicks::Now() - start_time);
111 HISTOGRAM_TIMES("SyncFileSystem.RegisterOriginTime", delta);
112 callback.Run(status);
113 }
114
105 } // namespace 115 } // namespace
106 116
107 scoped_ptr<SyncEngine> SyncEngine::CreateForBrowserContext( 117 scoped_ptr<SyncEngine> SyncEngine::CreateForBrowserContext(
108 content::BrowserContext* context) { 118 content::BrowserContext* context) {
109 scoped_refptr<base::SequencedWorkerPool> worker_pool( 119 scoped_refptr<base::SequencedWorkerPool> worker_pool(
110 content::BrowserThread::GetBlockingPool()); 120 content::BrowserThread::GetBlockingPool());
111 scoped_refptr<base::SequencedTaskRunner> drive_task_runner( 121 scoped_refptr<base::SequencedTaskRunner> drive_task_runner(
112 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( 122 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior(
113 worker_pool->GetSequenceToken(), 123 worker_pool->GetSequenceToken(),
114 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)); 124 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN));
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 } 230 }
221 231
222 void SyncEngine::RegisterOrigin( 232 void SyncEngine::RegisterOrigin(
223 const GURL& origin, const SyncStatusCallback& callback) { 233 const GURL& origin, const SyncStatusCallback& callback) {
224 worker_task_runner_->PostTask( 234 worker_task_runner_->PostTask(
225 FROM_HERE, 235 FROM_HERE,
226 base::Bind(&SyncWorker::RegisterOrigin, 236 base::Bind(&SyncWorker::RegisterOrigin,
227 base::Unretained(sync_worker_.get()), 237 base::Unretained(sync_worker_.get()),
228 origin, 238 origin,
229 RelayCallbackToCurrentThread( 239 RelayCallbackToCurrentThread(
230 FROM_HERE, callback))); 240 FROM_HERE,
241 base::Bind(&DidRegisterOrigin,
242 base::TimeTicks::Now(),
243 callback))));
231 } 244 }
232 245
233 void SyncEngine::EnableOrigin( 246 void SyncEngine::EnableOrigin(
234 const GURL& origin, const SyncStatusCallback& callback) { 247 const GURL& origin, const SyncStatusCallback& callback) {
235 worker_task_runner_->PostTask( 248 worker_task_runner_->PostTask(
236 FROM_HERE, 249 FROM_HERE,
237 base::Bind(&SyncWorker::EnableOrigin, 250 base::Bind(&SyncWorker::EnableOrigin,
238 base::Unretained(sync_worker_.get()), 251 base::Unretained(sync_worker_.get()),
239 origin, 252 origin,
240 RelayCallbackToCurrentThread( 253 RelayCallbackToCurrentThread(
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; 535 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT;
523 if (is_app_enabled && !is_app_root_tracker_enabled) 536 if (is_app_enabled && !is_app_root_tracker_enabled)
524 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); 537 EnableOrigin(origin, base::Bind(&EmptyStatusCallback));
525 else if (!is_app_enabled && is_app_root_tracker_enabled) 538 else if (!is_app_enabled && is_app_root_tracker_enabled)
526 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); 539 DisableOrigin(origin, base::Bind(&EmptyStatusCallback));
527 } 540 }
528 } 541 }
529 542
530 } // namespace drive_backend 543 } // namespace drive_backend
531 } // namespace sync_file_system 544 } // namespace sync_file_system
OLDNEW
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698