Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Unified Diff: components/sync/syncable/entry_kernel.cc

Issue 2382443006: Sync MDP: implement MemoryDumpProvider
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/sync/syncable/entry_kernel.h ('k') | components/sync/syncable/syncable_id.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/sync/syncable/entry_kernel.cc
diff --git a/components/sync/syncable/entry_kernel.cc b/components/sync/syncable/entry_kernel.cc
index 9ba9c37f6e57f05d8119a4c03aaec06dfb954fbd..2450db95172adfcaaa7774fb3337f9c7934b5c6d 100644
--- a/components/sync/syncable/entry_kernel.cc
+++ b/components/sync/syncable/entry_kernel.cc
@@ -10,7 +10,9 @@
#include "base/json/string_escape.h"
#include "base/strings/string_number_conversions.h"
+#include "base/trace_event/memory_usage_estimators.h"
#include "components/sync/base/cryptographer.h"
+#include "components/sync/protocol/proto_size_estimations.h"
#include "components/sync/protocol/proto_value_conversions.h"
#include "components/sync/syncable/syncable_columns.h"
#include "components/sync/syncable/syncable_enum_conversions.h"
@@ -18,7 +20,7 @@
namespace syncer {
namespace syncable {
-EntryKernel::EntryKernel() : dirty_(false) {
+EntryKernel::EntryKernel() : dirty_(false), memory_usage_(kMemoryUsageUnknown) {
// Everything else should already be default-initialized.
for (int i = 0; i < INT64_FIELDS_COUNT; ++i) {
int64_fields[i] = 0;
@@ -213,6 +215,19 @@ base::DictionaryValue* EntryKernel::ToValue(
return kernel_info;
}
+size_t EntryKernel::EstimateMemoryUsage() const {
+ if (memory_usage_ == kMemoryUsageUnknown) {
+ using base::trace_event::EstimateMemoryUsage;
+ memory_usage_ =
+ EstimateMemoryUsage(string_fields) +
+ EstimateMemoryUsage(specifics_fields) +
+ EstimateMemoryUsage(id_fields) +
+ EstimateMemoryUsage(unique_position_fields) +
+ EstimateMemoryUsage(attachment_metadata_fields);
+ }
+ return memory_usage_;
+}
+
std::unique_ptr<base::ListValue> EntryKernelMutationMapToValue(
const EntryKernelMutationMap& mutations) {
std::unique_ptr<base::ListValue> list(new base::ListValue());
« no previous file with comments | « components/sync/syncable/entry_kernel.h ('k') | components/sync/syncable/syncable_id.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698