Index: sync/internal_api/debug_info_event_listener.cc |
diff --git a/sync/internal_api/debug_info_event_listener.cc b/sync/internal_api/debug_info_event_listener.cc |
index a356f847b84e738b2e71f2813f91f0fb29169133..1bd83e42af3d43c3cc1cf5f1660523b43e0d7fae 100644 |
--- a/sync/internal_api/debug_info_event_listener.cc |
+++ b/sync/internal_api/debug_info_event_listener.cc |
@@ -43,6 +43,26 @@ void DebugInfoEventListener::OnSyncCycleCompleted( |
sync_completed_event_info->mutable_caller_info()->set_notifications_enabled( |
snapshot.notifications_enabled()); |
+ // Log the sources and per-type payloads coalesced into this session. |
+ const std::vector<sessions::SyncSourceInfo>& snap_sources = |
+ snapshot.debug_info_sources_list(); |
+ for (std::vector<sessions::SyncSourceInfo>::const_iterator source_iter = |
+ snap_sources.begin(); source_iter != snap_sources.end(); ++source_iter) { |
+ sync_pb::SourceInfo* pb_source_info = |
+ sync_completed_event_info->add_source_info(); |
+ |
+ pb_source_info->set_source(source_iter->updates_source); |
+ |
+ for (ModelTypeInvalidationMap::const_iterator type_iter = |
+ source_iter->types.begin(); |
+ type_iter != source_iter->types.end(); ++type_iter) { |
+ sync_pb::TypeHint* pb_type_hint = pb_source_info->add_type_hint(); |
+ pb_type_hint->set_data_type_id( |
+ GetSpecificsFieldNumberFromModelType(type_iter->first)); |
+ pb_type_hint->set_has_valid_hint(!type_iter->second.payload.empty()); |
+ } |
+ } |
+ |
AddEventToQueue(event_info); |
} |