diff options
author | nyquist@chromium.org <nyquist@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-20 05:26:29 +0000 |
---|---|---|
committer | nyquist@chromium.org <nyquist@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-20 05:26:29 +0000 |
commit | 9abe1698b556c9baa5f4dd74adf39b0ae1723e79 (patch) | |
tree | 2c0236597a65fb9c1c456a623e522bc35267857d /content/browser/net | |
parent | a4c2f28033151b323fc12f6630a44a8581dc7d8e (diff) | |
download | chromium_src-9abe1698b556c9baa5f4dd74adf39b0ae1723e79.zip chromium_src-9abe1698b556c9baa5f4dd74adf39b0ae1723e79.tar.gz chromium_src-9abe1698b556c9baa5f4dd74adf39b0ae1723e79.tar.bz2 |
Add more UMA stats regarding cookie loading time
To investigate an issue with slow loading time for cookies, this adds
more UMA stats to see if there is processing time, or SQL load that is
slow.
BUG=245442
Review URL: https://chromiumcodereview.appspot.com/19604006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212745 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/net')
-rw-r--r-- | content/browser/net/sqlite_persistent_cookie_store.cc | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/content/browser/net/sqlite_persistent_cookie_store.cc b/content/browser/net/sqlite_persistent_cookie_store.cc index 53f203a..c23692d 100644 --- a/content/browser/net/sqlite_persistent_cookie_store.cc +++ b/content/browser/net/sqlite_persistent_cookie_store.cc @@ -580,10 +580,10 @@ bool SQLitePersistentCookieStore::Backend::InitializeDatabase() { } UMA_HISTOGRAM_CUSTOM_TIMES( - "Cookie.TimeInitializeDB", - base::Time::Now() - start, - base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(1), - 50); + "Cookie.TimeInitializeDB", + base::Time::Now() - start, + base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(1), + 50); start = base::Time::Now(); @@ -599,27 +599,40 @@ bool SQLitePersistentCookieStore::Backend::InitializeDatabase() { return false; } + std::vector<std::string> host_keys; + while (smt.Step()) + host_keys.push_back(smt.ColumnString(0)); + + UMA_HISTOGRAM_CUSTOM_TIMES( + "Cookie.TimeLoadDomains", + base::Time::Now() - start, + base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(1), + 50); + + base::Time start_parse = base::Time::Now(); + // Build a map of domain keys (always eTLD+1) to domains. - while (smt.Step()) { - std::string domain = smt.ColumnString(0); + for (size_t idx = 0; idx < host_keys.size(); ++idx) { + const std::string& domain = host_keys[idx]; std::string key = net::registry_controlled_domains::GetDomainAndRegistry( domain, net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES); - std::map<std::string, std::set<std::string> >::iterator it = - keys_to_load_.find(key); - if (it == keys_to_load_.end()) - it = keys_to_load_.insert(std::make_pair - (key, std::set<std::string>())).first; - it->second.insert(domain); + keys_to_load_[key].insert(domain); } UMA_HISTOGRAM_CUSTOM_TIMES( - "Cookie.TimeInitializeDomainMap", - base::Time::Now() - start, - base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(1), - 50); + "Cookie.TimeParseDomains", + base::Time::Now() - start_parse, + base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(1), + 50); + + UMA_HISTOGRAM_CUSTOM_TIMES( + "Cookie.TimeInitializeDomainMap", + base::Time::Now() - start, + base::TimeDelta::FromMilliseconds(1), base::TimeDelta::FromMinutes(1), + 50); initialized_ = true; return true; |