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

Unified Diff: components/sync/engine_impl/model_type_worker.cc

Issue 2420213002: [USS] Show USS counters in Types tab (Closed)
Patch Set: rebase Created 4 years, 2 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
Index: components/sync/engine_impl/model_type_worker.cc
diff --git a/components/sync/engine_impl/model_type_worker.cc b/components/sync/engine_impl/model_type_worker.cc
index c9a2ecaf39b9880bb55423a207d2eb90a151d5de..0536334f608f55f6f445945e51593f551df706c7 100644
--- a/components/sync/engine_impl/model_type_worker.cc
+++ b/components/sync/engine_impl/model_type_worker.cc
@@ -30,8 +30,10 @@ ModelTypeWorker::ModelTypeWorker(
const sync_pb::ModelTypeState& initial_state,
std::unique_ptr<Cryptographer> cryptographer,
NudgeHandler* nudge_handler,
- std::unique_ptr<ModelTypeProcessor> model_type_processor)
+ std::unique_ptr<ModelTypeProcessor> model_type_processor,
+ DataTypeDebugInfoEmitter* debug_info_emitter)
: type_(type),
+ debug_info_emitter_(debug_info_emitter),
model_type_state_(initial_state),
model_type_processor_(std::move(model_type_processor)),
cryptographer_(std::move(cryptographer)),
@@ -113,6 +115,9 @@ SyncerError ModelTypeWorker::ProcessGetUpdatesResponse(
*model_type_state_.mutable_type_context() = mutated_context;
*model_type_state_.mutable_progress_marker() = progress_marker;
+ UpdateCounters* counters = debug_info_emitter_->GetMutableUpdateCounters();
+ counters->num_updates_received += applicable_updates.size();
+
for (const sync_pb::SyncEntity* update_entity : applicable_updates) {
// Skip updates for permanent folders.
// TODO(crbug.com/516866): might need to handle this for hierarchical types.
@@ -139,6 +144,15 @@ SyncerError ModelTypeWorker::ProcessGetUpdatesResponse(
WorkerEntityTracker* entity = GetOrCreateEntityTracker(data);
+ if (!entity->UpdateContainsNewVersion(response_data)) {
+ status->increment_num_reflected_updates_downloaded_by(1);
+ ++counters->num_reflected_updates_received;
+ }
+ if (update_entity->deleted()) {
+ status->increment_num_tombstone_updates_downloaded_by(1);
+ ++counters->num_tombstone_updates_received;
+ }
+
// Deleted entities must use the default instance of EntitySpecifics in
// order for EntityData to correctly reflect that they are deleted.
const sync_pb::EntitySpecifics& specifics =
@@ -170,6 +184,7 @@ SyncerError ModelTypeWorker::ProcessGetUpdatesResponse(
}
}
+ debug_info_emitter_->EmitUpdateCountersUpdate();
return SYNCER_OK;
}
@@ -216,6 +231,12 @@ void ModelTypeWorker::ApplyPendingUpdates() {
model_type_processor_->OnUpdateReceived(model_type_state_,
pending_updates_);
+
+ UpdateCounters* counters = debug_info_emitter_->GetMutableUpdateCounters();
+ counters->num_updates_applied += pending_updates_.size();
+ debug_info_emitter_->EmitUpdateCountersUpdate();
+ debug_info_emitter_->EmitStatusCountersUpdate();
+
pending_updates_.clear();
}
}
@@ -265,7 +286,8 @@ std::unique_ptr<CommitContribution> ModelTypeWorker::GetContribution(
return std::unique_ptr<CommitContribution>();
return base::MakeUnique<NonBlockingTypeCommitContribution>(
- model_type_state_.type_context(), commit_entities, this);
+ model_type_state_.type_context(), commit_entities, this,
+ debug_info_emitter_);
}
void ModelTypeWorker::OnCommitResponse(CommitResponseDataList* response_list) {
« no previous file with comments | « components/sync/engine_impl/model_type_worker.h ('k') | components/sync/engine_impl/model_type_worker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698