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

Unified Diff: chrome/test/live_sync/performance/autofill_sync_perf_test.cc

Issue 7590007: Sync performance tests: take timings with autofill keys in addition to profiles. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: modify trace labels for performance graphs Created 9 years, 4 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
« no previous file with comments | « chrome/test/live_sync/autofill_helper.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/live_sync/performance/autofill_sync_perf_test.cc
diff --git a/chrome/test/live_sync/performance/autofill_sync_perf_test.cc b/chrome/test/live_sync/performance/autofill_sync_perf_test.cc
index ef86742ddfd2de954a00e236ee9fc851ca52a4ba..cf9c5c555164930833256d1d63b35888117d4330 100644
--- a/chrome/test/live_sync/performance/autofill_sync_perf_test.cc
+++ b/chrome/test/live_sync/performance/autofill_sync_perf_test.cc
@@ -7,17 +7,22 @@
#include "chrome/browser/autofill/autofill_common_test.h"
#include "chrome/browser/autofill/autofill_profile.h"
#include "chrome/browser/sync/profile_sync_service_harness.h"
+#include "chrome/browser/webdata/autofill_entry.h"
#include "chrome/test/live_sync/autofill_helper.h"
#include "chrome/test/live_sync/live_sync_test.h"
#include "chrome/test/live_sync/performance/sync_timing_helper.h"
using autofill_helper::AllProfilesMatch;
+using autofill_helper::GetAllKeys;
using autofill_helper::GetAllProfiles;
+using autofill_helper::GetKeyCount;
using autofill_helper::GetProfileCount;
+using autofill_helper::RemoveKey;
using autofill_helper::SetProfiles;
// TODO(braffert): Move kNumBenchmarkPoints and kBenchmarkPoints for all
// datatypes into a performance test base class, once it is possible to do so.
+static const int kNumKeys = 150;
static const int kNumProfiles = 150;
static const int kNumBenchmarkPoints = 18;
static const int kBenchmarkPoints[] = {1, 10, 20, 30, 40, 50, 75, 100, 125,
@@ -29,7 +34,8 @@ class AutofillSyncPerfTest : public LiveSyncTest {
AutofillSyncPerfTest()
: LiveSyncTest(TWO_CLIENT),
guid_number_(0),
- name_number_(0) {}
+ name_number_(0),
+ value_number_(0) {}
// Adds |num_profiles| new autofill profiles to the sync profile |profile|.
void AddProfiles(int profile, int num_profiles);
@@ -37,9 +43,15 @@ class AutofillSyncPerfTest : public LiveSyncTest {
// Updates all autofill profiles for the sync profile |profile|.
void UpdateProfiles(int profile);
- // Removes all bookmarks in the bookmark bar for |profile|.
+ // Removes all autofill profiles for |profile|.
Raghu Simha 2011/08/10 19:43:38 nit: s/for/from/
braffert 2011/08/10 19:52:35 Done.
void RemoveProfiles(int profile);
+ // Adds |num_keys| new autofill keys to the sync profile |profile|.
+ void AddKeys(int profile, int num_keys);
+
+ // Removes all autofill keys for |profile|.
Raghu Simha 2011/08/10 19:43:38 nit: s/for/from/
braffert 2011/08/10 19:52:35 Done.
+ void RemoveKeys(int profile);
+
// Removes all autofill profiles in all sync profiles. Called between
// benchmark iterations.
void Cleanup();
@@ -48,6 +60,9 @@ class AutofillSyncPerfTest : public LiveSyncTest {
// Returns a new unique autofill profile.
const AutofillProfile NextAutofillProfile();
+ // Returns a new unique autofill key.
+ const AutofillKey NextAutofillKey();
+
// Returns an unused unique guid.
const std::string NextGUID();
@@ -60,8 +75,15 @@ class AutofillSyncPerfTest : public LiveSyncTest {
// Returns a unique name based on the input integer |n|.
const std::string IntToName(int n);
+ // Returns a new unused unique value for autofill entries.
+ const std::string NextValue();
+
+ // Returnes a unique value based on the input integer |n|.
+ const std::string IntToValue(int n);
+
int guid_number_;
int name_number_;
+ int value_number_;
DISALLOW_COPY_AND_ASSIGN(AutofillSyncPerfTest);
};
@@ -95,6 +117,22 @@ void AutofillSyncPerfTest::RemoveProfiles(int profile) {
SetProfiles(profile, &empty);
}
+void AutofillSyncPerfTest::AddKeys(int profile, int num_profiles) {
Raghu Simha 2011/08/10 19:43:38 s/num_profiles/num_keys/
braffert 2011/08/10 19:52:35 Done.
+ std::set<AutofillKey> keys;
+ for (int i = 0; i < num_profiles; ++i) {
+ keys.insert(NextAutofillKey());
+ };
Raghu Simha 2011/08/10 19:43:38 Remove semicolon.
braffert 2011/08/10 19:52:35 Done. Don't know how that got in there.
+ autofill_helper::AddKeys(profile, keys);
+}
+
+void AutofillSyncPerfTest::RemoveKeys(int profile) {
Raghu Simha 2011/08/10 19:43:38 Perhaps name this RemoveAllKeys, since that's what
braffert 2011/08/10 19:52:35 This is a good suggestion, but I will leave it as
+ std::set<AutofillEntry> keys = GetAllKeys(profile);
+ for (std::set<AutofillEntry>::const_iterator it = keys.begin();
+ it != keys.end(); ++it) {
+ RemoveKey(profile, it->key());
+ }
+}
+
void AutofillSyncPerfTest::Cleanup() {
for (int i = 0; i < num_clients(); ++i) {
RemoveProfiles(i);
@@ -110,6 +148,10 @@ const AutofillProfile AutofillSyncPerfTest::NextAutofillProfile() {
return profile;
}
+const AutofillKey AutofillSyncPerfTest::NextAutofillKey() {
+ return AutofillKey(NextName().c_str(), NextName().c_str());
+}
+
const std::string AutofillSyncPerfTest::NextGUID() {
return IntToGUID(guid_number_++);
}
@@ -123,10 +165,18 @@ const std::string AutofillSyncPerfTest::NextName() {
}
const std::string AutofillSyncPerfTest::IntToName(int n) {
- return StringPrintf("Name%d" , n);
+ return StringPrintf("Name%d", n);
}
-IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, P0) {
+const std::string AutofillSyncPerfTest::NextValue() {
+ return IntToValue(value_number_++);
+}
+
+const std::string AutofillSyncPerfTest::IntToValue(int n) {
+ return StringPrintf("Value%d", n);
+}
+
+IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, AutofillProfiles_P0) {
ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
// TCM ID - 7557873.
@@ -134,19 +184,34 @@ IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, P0) {
base::TimeDelta dt =
SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
ASSERT_EQ(kNumProfiles, GetProfileCount(1));
- SyncTimingHelper::PrintResult("autofill", "add", dt);
+ SyncTimingHelper::PrintResult("autofill", "add_autofill_profiles", dt);
// TCM ID - 7549835.
UpdateProfiles(0);
dt = SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
ASSERT_EQ(kNumProfiles, GetProfileCount(1));
- SyncTimingHelper::PrintResult("autofill", "update", dt);
+ SyncTimingHelper::PrintResult("autofill", "update_autofill_profiles", dt);
// TCM ID - 7553678.
RemoveProfiles(0);
dt = SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
ASSERT_EQ(0, GetProfileCount(1));
- SyncTimingHelper::PrintResult("autofill", "delete", dt);
+ SyncTimingHelper::PrintResult("autofill", "delete_autofill_profiles", dt);
+}
+
+IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, Autofill_P0) {
Raghu Simha 2011/08/10 19:43:38 Perhaps name this test AutofillKeys_P0?
braffert 2011/08/10 19:52:35 Anna suggested using only Autofill as the name her
+ ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
+
+ AddKeys(0, kNumKeys);
+ base::TimeDelta dt =
+ SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
+ ASSERT_EQ(kNumKeys, GetKeyCount(1));
+ SyncTimingHelper::PrintResult("autofill", "add_autofill_keys", dt);
+
+ RemoveKeys(0);
+ dt = SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
+ ASSERT_EQ(0, GetKeyCount(1));
+ SyncTimingHelper::PrintResult("autofill", "delete_autofill_keys", dt);
}
IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, DISABLED_Benchmark) {
« no previous file with comments | « chrome/test/live_sync/autofill_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698