summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authortzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-02 05:53:22 +0000
committertzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-02 05:53:22 +0000
commit293c52d8ce3a57eda7672ba4e62fb571dc1bb615 (patch)
tree295a9a0ec9ad2d6933e14c3936bf16ad4bc861e5 /webkit
parent14da67b06acb49b3a2bd74c9a5425d9aae27e9ce (diff)
downloadchromium_src-293c52d8ce3a57eda7672ba4e62fb571dc1bb615.zip
chromium_src-293c52d8ce3a57eda7672ba4e62fb571dc1bb615.tar.gz
chromium_src-293c52d8ce3a57eda7672ba4e62fb571dc1bb615.tar.bz2
Refine UMA stats of QuotaManager
BUG=86993 TEST=None Review URL: http://codereview.chromium.org/7514034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95053 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/quota/quota_manager.cc46
1 files changed, 44 insertions, 2 deletions
diff --git a/webkit/quota/quota_manager.cc b/webkit/quota/quota_manager.cc
index e24b3cf..d75daa5 100644
--- a/webkit/quota/quota_manager.cc
+++ b/webkit/quota/quota_manager.cc
@@ -69,6 +69,26 @@ int64 GetInitialTemporaryStorageQuotaSize(const FilePath& path,
return QuotaManager::kTemporaryStorageQuotaMaxSize;
}
+void CountOriginType(const std::set<GURL>& origins,
+ SpecialStoragePolicy* policy,
+ size_t* protected_origins,
+ size_t* unlimited_origins) {
+ DCHECK(protected_origins);
+ DCHECK(unlimited_origins);
+ *protected_origins = 0;
+ *unlimited_origins = 0;
+ if (!policy)
+ return;
+ for (std::set<GURL>::const_iterator itr = origins.begin();
+ itr != origins.end();
+ ++itr) {
+ if (policy->IsStorageProtected(*itr))
+ ++*protected_origins;
+ if (policy->IsStorageUnlimited(*itr))
+ ++*unlimited_origins;
+ }
+}
+
} // anonymous namespace
// TODO(kinuko): We will need to have different sizes for different platforms
@@ -1381,8 +1401,19 @@ void QuotaManager::DidGetTemporaryGlobalUsageForHistogram(
std::set<GURL> origins;
GetCachedOrigins(type, &origins);
+
+ size_t num_origins = origins.size();
+ size_t protected_origins = 0;
+ size_t unlimited_origins = 0;
+ CountOriginType(origins, special_storage_policy_,
+ &protected_origins, &unlimited_origins);
+
UMA_HISTOGRAM_COUNTS("Quota.NumberOfTemporaryStorageOrigins",
- origins.size());
+ num_origins);
+ UMA_HISTOGRAM_COUNTS("Quota.NumberOfProtectedTemporaryStorageOrigins",
+ protected_origins);
+ UMA_HISTOGRAM_COUNTS("Quota.NumberOfUnlimitedTemporaryStorageOrigins",
+ unlimited_origins);
}
void QuotaManager::DidGetPersistentGlobalUsageForHistogram(
@@ -1393,8 +1424,19 @@ void QuotaManager::DidGetPersistentGlobalUsageForHistogram(
std::set<GURL> origins;
GetCachedOrigins(type, &origins);
+
+ size_t num_origins = origins.size();
+ size_t protected_origins = 0;
+ size_t unlimited_origins = 0;
+ CountOriginType(origins, special_storage_policy_,
+ &protected_origins, &unlimited_origins);
+
UMA_HISTOGRAM_COUNTS("Quota.NumberOfPersistentStorageOrigins",
- origins.size());
+ num_origins);
+ UMA_HISTOGRAM_COUNTS("Quota.NumberOfProtectedPersistentStorageOrigins",
+ protected_origins);
+ UMA_HISTOGRAM_COUNTS("Quota.NumberOfUnlimitedPersistentStorageOrigins",
+ unlimited_origins);
}
void QuotaManager::DidInitializeTemporaryGlobalQuota(int64 quota) {