1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/sync/test/integration/performance/sync_timing_helper.h"
7 #include "base/strings/string_number_conversions.h"
8 #include "base/time/time.h"
9 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
10 #include "testing/gtest/include/gtest/gtest.h"
12 SyncTimingHelper::SyncTimingHelper() {}
14 SyncTimingHelper::~SyncTimingHelper() {}
17 base::TimeDelta
SyncTimingHelper::TimeSyncCycle(
18 ProfileSyncServiceHarness
* client
) {
19 base::Time start
= base::Time::Now();
20 EXPECT_TRUE(client
->AwaitFullSyncCompletion());
21 return base::Time::Now() - start
;
25 base::TimeDelta
SyncTimingHelper::TimeMutualSyncCycle(
26 ProfileSyncServiceHarness
* client
, ProfileSyncServiceHarness
* partner
) {
27 base::Time start
= base::Time::Now();
28 EXPECT_TRUE(client
->AwaitMutualSyncCycleCompletion(partner
));
29 return base::Time::Now() - start
;
33 base::TimeDelta
SyncTimingHelper::TimeUntilQuiescence(
34 std::vector
<ProfileSyncServiceHarness
*>& clients
) {
35 base::Time start
= base::Time::Now();
36 EXPECT_TRUE(ProfileSyncServiceHarness::AwaitQuiescence(clients
));
37 return base::Time::Now() - start
;
41 void SyncTimingHelper::PrintResult(const std::string
& measurement
,
42 const std::string
& trace
,
43 const base::TimeDelta
& dt
) {
44 printf("*RESULT %s: %s= %s ms\n", measurement
.c_str(), trace
.c_str(),
45 base::IntToString(dt
.InMillisecondsF()).c_str());