diff options
author | erikkay@google.com <erikkay@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-09-18 20:42:55 +0000 |
---|---|---|
committer | erikkay@google.com <erikkay@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-09-18 20:42:55 +0000 |
commit | 113ab13f317a212284c022771438705c6cba6227 (patch) | |
tree | 7c92495aa899a2cdf20be7819ef69b3d06a42533 /net | |
parent | 37cbdcc9964ad7b3af8a5420fdbaebe67d11a60c (diff) | |
download | chromium_src-113ab13f317a212284c022771438705c6cba6227.zip chromium_src-113ab13f317a212284c022771438705c6cba6227.tar.gz chromium_src-113ab13f317a212284c022771438705c6cba6227.tar.bz2 |
* Change output of trace_event log to JSON to enable easier integration with visualization UI.
* Simple (manual) trace visualizer with some sample data.
* a few more trace events
* add process_util function for current process handle
Review URL: http://codereview.chromium.org/3086
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2381 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/base/tcp_client_socket.cc | 10 | ||||
-rw-r--r-- | net/http/http_network_transaction.cc | 19 |
2 files changed, 25 insertions, 4 deletions
diff --git a/net/base/tcp_client_socket.cc b/net/base/tcp_client_socket.cc index d766503..185902e 100644 --- a/net/base/tcp_client_socket.cc +++ b/net/base/tcp_client_socket.cc @@ -157,6 +157,7 @@ int TCPClientSocket::Read(char* buf, buffer_.len = buf_len; buffer_.buf = buf; + TRACE_EVENT_BEGIN("socket.read", this, ""); // TODO(wtc): Remove the CHECKs after enough testing. CHECK(WaitForSingleObject(overlapped_.hEvent, 0) == WAIT_TIMEOUT); DWORD num, flags = 0; @@ -165,6 +166,7 @@ int TCPClientSocket::Read(char* buf, CHECK(WaitForSingleObject(overlapped_.hEvent, 0) == WAIT_OBJECT_0); BOOL ok = WSAResetEvent(overlapped_.hEvent); CHECK(ok); + TRACE_EVENT_END("socket.read", this, StringPrintf("%d bytes", num)); return static_cast<int>(num); } int err = WSAGetLastError(); @@ -187,6 +189,7 @@ int TCPClientSocket::Write(const char* buf, buffer_.len = buf_len; buffer_.buf = const_cast<char*>(buf); + TRACE_EVENT_BEGIN("socket.write", this, ""); // TODO(wtc): Remove the CHECKs after enough testing. CHECK(WaitForSingleObject(overlapped_.hEvent, 0) == WAIT_TIMEOUT); DWORD num; @@ -195,6 +198,7 @@ int TCPClientSocket::Write(const char* buf, CHECK(WaitForSingleObject(overlapped_.hEvent, 0) == WAIT_OBJECT_0); BOOL ok = WSAResetEvent(overlapped_.hEvent); CHECK(ok); + TRACE_EVENT_END("socket.write", this, StringPrintf("%d bytes", num)); return static_cast<int>(num); } int err = WSAGetLastError(); @@ -272,11 +276,9 @@ void TCPClientSocket::DidCompleteIO() { socket_, &overlapped_, &num_bytes, FALSE, &flags); WSAResetEvent(overlapped_.hEvent); if (wait_state_ == WAITING_READ) { - TRACE_EVENT_INSTANT("socket.read", this, - StringPrintf("%d bytes", num_bytes)); + TRACE_EVENT_END("socket.read", this, StringPrintf("%d bytes", num_bytes)); } else { - TRACE_EVENT_INSTANT("socket.write", this, - StringPrintf("%d bytes", num_bytes)); + TRACE_EVENT_END("socket.write", this, StringPrintf("%d bytes", num_bytes)); } wait_state_ = NOT_WAITING; DoCallback(ok ? num_bytes : MapWinsockError(WSAGetLastError())); diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index df9fb76..08748af 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -5,6 +5,7 @@ #include "net/http/http_network_transaction.h" #include "base/string_util.h" +#include "base/trace_event.h" #include "net/base/client_socket_factory.h" #include "net/base/host_resolver.h" #include "net/base/load_flags.h" @@ -254,66 +255,84 @@ int HttpNetworkTransaction::DoLoop(int result) { switch (state) { case STATE_RESOLVE_PROXY: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.resolve_proxy", request_, request_->url.spec()); rv = DoResolveProxy(); break; case STATE_RESOLVE_PROXY_COMPLETE: rv = DoResolveProxyComplete(rv); + TRACE_EVENT_END("http.resolve_proxy", request_, request_->url.spec()); break; case STATE_INIT_CONNECTION: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.init_conn", request_, request_->url.spec()); rv = DoInitConnection(); break; case STATE_INIT_CONNECTION_COMPLETE: rv = DoInitConnectionComplete(rv); + TRACE_EVENT_END("http.init_conn", request_, request_->url.spec()); break; case STATE_RESOLVE_HOST: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.resolve_host", request_, request_->url.spec()); rv = DoResolveHost(); break; case STATE_RESOLVE_HOST_COMPLETE: rv = DoResolveHostComplete(rv); + TRACE_EVENT_END("http.resolve_host", request_, request_->url.spec()); break; case STATE_CONNECT: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.connect", request_, request_->url.spec()); rv = DoConnect(); break; case STATE_CONNECT_COMPLETE: rv = DoConnectComplete(rv); + TRACE_EVENT_END("http.connect", request_, request_->url.spec()); break; case STATE_SSL_CONNECT_OVER_TUNNEL: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.ssl_tunnel", request_, request_->url.spec()); rv = DoSSLConnectOverTunnel(); break; case STATE_SSL_CONNECT_OVER_TUNNEL_COMPLETE: rv = DoSSLConnectOverTunnelComplete(rv); + TRACE_EVENT_END("http.ssl_tunnel", request_, request_->url.spec()); break; case STATE_WRITE_HEADERS: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.write_headers", request_, request_->url.spec()); rv = DoWriteHeaders(); break; case STATE_WRITE_HEADERS_COMPLETE: rv = DoWriteHeadersComplete(rv); + TRACE_EVENT_END("http.write_headers", request_, request_->url.spec()); break; case STATE_WRITE_BODY: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.write_body", request_, request_->url.spec()); rv = DoWriteBody(); break; case STATE_WRITE_BODY_COMPLETE: rv = DoWriteBodyComplete(rv); + TRACE_EVENT_END("http.write_body", request_, request_->url.spec()); break; case STATE_READ_HEADERS: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.read_headers", request_, request_->url.spec()); rv = DoReadHeaders(); break; case STATE_READ_HEADERS_COMPLETE: rv = DoReadHeadersComplete(rv); + TRACE_EVENT_END("http.read_headers", request_, request_->url.spec()); break; case STATE_READ_BODY: DCHECK(rv == OK); + TRACE_EVENT_BEGIN("http.read_body", request_, request_->url.spec()); rv = DoReadBody(); break; case STATE_READ_BODY_COMPLETE: rv = DoReadBodyComplete(rv); + TRACE_EVENT_END("http.read_body", request_, request_->url.spec()); break; default: NOTREACHED() << "bad state"; |