summaryrefslogtreecommitdiffstats
path: root/sync/syncable
diff options
context:
space:
mode:
authorgangwu <gangwu@chromium.org>2015-10-22 17:07:44 -0700
committerCommit bot <commit-bot@chromium.org>2015-10-23 00:08:26 +0000
commitbbdd510c3d059688e7e0d081879a50478aaefe8f (patch)
tree1c7551fb990d4e102baec01c9fb1a67fc702ba9e /sync/syncable
parent06869eebcab4b41d21e96ea2df732a2b40914fe4 (diff)
downloadchromium_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.cc28
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();
}