diff options
author | gangwu <gangwu@chromium.org> | 2015-10-22 17:07:44 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-23 00:08:26 +0000 |
commit | bbdd510c3d059688e7e0d081879a50478aaefe8f (patch) | |
tree | 1c7551fb990d4e102baec01c9fb1a67fc702ba9e /sync/syncable | |
parent | 06869eebcab4b41d21e96ea2df732a2b40914fe4 (diff) | |
download | chromium_src-bbdd510c3d059688e7e0d081879a50478aaefe8f.zip chromium_src-bbdd510c3d059688e7e0d081879a50478aaefe8f.tar.gz chromium_src-bbdd510c3d059688e7e0d081879a50478aaefe8f.tar.bz2 |
Add UMA for the number of entries for each model type.
BUG=545673
Review URL: https://codereview.chromium.org/1417833002
Cr-Commit-Position: refs/heads/master@{#355684}
Diffstat (limited to 'sync/syncable')
-rw-r--r-- | sync/syncable/directory_backing_store.cc | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/sync/syncable/directory_backing_store.cc b/sync/syncable/directory_backing_store.cc index 3ba54e6..eb2e20c 100644 --- a/sync/syncable/directory_backing_store.cc +++ b/sync/syncable/directory_backing_store.cc @@ -10,6 +10,7 @@ #include "base/base64.h" #include "base/logging.h" +#include "base/metrics/histogram_macros.h" #include "base/rand_util.h" #include "base/strings/stringprintf.h" #include "base/thread_task_runner_handle.h" @@ -220,6 +221,20 @@ bool SaveEntryToDB(sql::Statement* save_statement, const EntryKernel& entry) { return save_statement->Run(); } +void UploadModelTypeEntryCount(const int(&entries_counts)[MODEL_TYPE_COUNT]) { + for (int i = FIRST_REAL_MODEL_TYPE; i < MODEL_TYPE_COUNT; ++i) { + std::string model_type; + if (RealModelTypeToNotificationType((ModelType)i, &model_type)) { + std::string full_histogram_name = "Sync.ModelTypeCount." + model_type; + base::HistogramBase* histogram = base::Histogram::FactoryGet( + full_histogram_name, 1, 1000000, 50, + base::HistogramBase::kUmaTargetedHistogramFlag); + if (histogram) + histogram->Add(entries_counts[i]); + } + } +} + } // namespace /////////////////////////////////////////////////////////////////////////////// @@ -619,6 +634,10 @@ bool DirectoryBackingStore::LoadEntries(Directory::MetahandlesMap* handles_map, select.append("SELECT "); AppendColumnList(&select); select.append(" FROM metas"); + int model_type_entry_count[MODEL_TYPE_COUNT]; + for (int i = FIRST_REAL_MODEL_TYPE; i < MODEL_TYPE_COUNT; ++i) { + model_type_entry_count[i] = 0; + } sql::Statement s(db_->GetUniqueStatement(select.c_str())); @@ -629,11 +648,16 @@ bool DirectoryBackingStore::LoadEntries(Directory::MetahandlesMap* handles_map, return false; int64 handle = kernel->ref(META_HANDLE); - if (SafeToPurgeOnLoading(*kernel)) + if (SafeToPurgeOnLoading(*kernel)) { metahandles_to_purge->insert(handle); - else + } else { + ++model_type_entry_count[kernel->GetModelType()]; (*handles_map)[handle] = kernel.release(); + } } + + UploadModelTypeEntryCount(model_type_entry_count); + return s.Succeeded(); } |