diff options
author | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-02 05:53:22 +0000 |
---|---|---|
committer | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-02 05:53:22 +0000 |
commit | 293c52d8ce3a57eda7672ba4e62fb571dc1bb615 (patch) | |
tree | 295a9a0ec9ad2d6933e14c3936bf16ad4bc861e5 /webkit | |
parent | 14da67b06acb49b3a2bd74c9a5425d9aae27e9ce (diff) | |
download | chromium_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.cc | 46 |
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) { |