diff options
author | lipalani@chromium.org <lipalani@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-15 16:52:23 +0000 |
---|---|---|
committer | lipalani@chromium.org <lipalani@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-15 16:52:23 +0000 |
commit | 88341f581dfaf919bee547aa9a79abbe9a2eb6e0 (patch) | |
tree | 9b1d76b955bdde40a3eaaae4367172280b2583e8 /chrome/browser/sync/sessions/sync_session_context.cc | |
parent | 77fc9b995d8c22fc25aa131126e295a4db061dbc (diff) | |
download | chromium_src-88341f581dfaf919bee547aa9a79abbe9a2eb6e0.zip chromium_src-88341f581dfaf919bee547aa9a79abbe9a2eb6e0.tar.gz chromium_src-88341f581dfaf919bee547aa9a79abbe9a2eb6e0.tar.bz2 |
Send important client side event information to the server. We create a class called DebugInfoEventListener which implements 2 interfaces. one being the syncmanager::observer to observe events from syncmanager.
The other being DebugInfoGetter so that syncer can call this class to give the debug information in protobuf format.
The implementation of this class uses a queue. And it limits the number of events to 6. if more than 6 events are in the queue we delete the oldest event.
Also we send this information to the server only once per sync cycle during the first getudpdates command.
also includes the unit test.
BUG=100058
TEST=
Review URL: http://codereview.chromium.org/8189003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105667 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/sessions/sync_session_context.cc')
-rw-r--r-- | chrome/browser/sync/sessions/sync_session_context.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/chrome/browser/sync/sessions/sync_session_context.cc b/chrome/browser/sync/sessions/sync_session_context.cc index f0cbce4..f06c300 100644 --- a/chrome/browser/sync/sessions/sync_session_context.cc +++ b/chrome/browser/sync/sessions/sync_session_context.cc @@ -5,6 +5,7 @@ #include "chrome/browser/sync/sessions/sync_session_context.h" #include "chrome/browser/sync/util/extensions_activity_monitor.h" +#include "chrome/browser/sync/sessions/debug_info_getter.h" #include "chrome/browser/sync/sessions/session_state.h" #include "content/browser/browser_thread.h" @@ -15,14 +16,16 @@ SyncSessionContext::SyncSessionContext( ServerConnectionManager* connection_manager, syncable::DirectoryManager* directory_manager, ModelSafeWorkerRegistrar* model_safe_worker_registrar, - const std::vector<SyncEngineEventListener*>& listeners) + const std::vector<SyncEngineEventListener*>& listeners, + DebugInfoGetter* debug_info_getter) : resolver_(NULL), connection_manager_(connection_manager), directory_manager_(directory_manager), registrar_(model_safe_worker_registrar), extensions_activity_monitor_(new ExtensionsActivityMonitor()), notifications_enabled_(false), - max_commit_batch_size_(kDefaultMaxCommitBatchSize) { + max_commit_batch_size_(kDefaultMaxCommitBatchSize), + debug_info_getter_(debug_info_getter) { std::vector<SyncEngineEventListener*>::const_iterator it; for (it = listeners.begin(); it != listeners.end(); ++it) listeners_.AddObserver(*it); |