diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-03 00:49:17 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-03 00:49:17 +0000 |
commit | 06650c582f9cfcf3869c490f3dc1ca224d6c9963 (patch) | |
tree | b6585569ec02f0bec32aa65b6e36b3cbf8a8533f /net/socket/client_socket_handle.h | |
parent | cb364d78210e5d64f3c899bbfa87dadebac7d6f7 (diff) | |
download | chromium_src-06650c582f9cfcf3869c490f3dc1ca224d6c9963.zip chromium_src-06650c582f9cfcf3869c490f3dc1ca224d6c9963.tar.gz chromium_src-06650c582f9cfcf3869c490f3dc1ca224d6c9963.tar.bz2 |
Rework the logging for sockets/connectjobs.
In particular, make it work better when using backup jobs / late binding (the display was very confused before because of how these asynchronous events would nest).
Also changed the paradigm for how PassiveLogCollector preserves these async associations -- this fixes how it replays the events to net-internals. (Before we would collapse the event streams into the SOURCE_URL_REQUEST which lost some hiearchy.. now I keep the separate streams).
Some of the particular changes to the event streams:
* ConnectJobs now create their own source stream internally.
* Sockets are now bounded by +SOCKET_ALIVE / -SOCKET_ALIVE events (removed the one-off SOCKET_DONE event).
* The socket log streams contains +SOCKET_IN_USE / -SOCKET_IN_USE event blocks to show which URLRequest was controlling it at various points in time (this makes it much easier to understand which read/writes belonged to a particular network transaction when a socket gets re-used).
* ConnectJobs are bounded by +SOCKET_POOL_CONNECT_JOB / - SOCKET_POOL_CONNECT_JOB events.
* ConnectJobs log the net error they failed with.
* Removed the SOCKET_BACKUP_TIMER_EXTENDED event.
Review URL: http://codereview.chromium.org/2363003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48797 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/client_socket_handle.h')
-rw-r--r-- | net/socket/client_socket_handle.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/socket/client_socket_handle.h b/net/socket/client_socket_handle.h index f750c7b..4b36e58 100644 --- a/net/socket/client_socket_handle.h +++ b/net/socket/client_socket_handle.h @@ -14,6 +14,7 @@ #include "net/base/completion_callback.h" #include "net/base/load_states.h" #include "net/base/net_errors.h" +#include "net/base/net_log.h" #include "net/base/request_priority.h" #include "net/socket/client_socket.h" #include "net/socket/client_socket_pool.h" @@ -144,6 +145,8 @@ class ClientSocketHandle { base::TimeTicks init_time_; base::TimeDelta setup_time_; + NetLog::Source requesting_source_; + DISALLOW_COPY_AND_ASSIGN(ClientSocketHandle); }; @@ -155,6 +158,8 @@ int ClientSocketHandle::Init(const std::string& group_name, CompletionCallback* callback, const scoped_refptr<PoolType>& pool, const BoundNetLog& net_log) { + requesting_source_ = net_log.source(); + CHECK(!group_name.empty()); // Note that this will result in a link error if the SocketParams has not been // registered for the PoolType via REGISTER_SOCKET_PARAMS_FOR_POOL (defined in |