summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-13 00:25:29 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-13 00:25:29 +0000
commitab6a5c4dd0c4a16b202567afa28f70c7ebd37ec9 (patch)
treec1527588a21c60861895cd62ecf21895ecd99ccb /net/http
parent88e79009f006cf467bdc8de883e2f36b78a06b64 (diff)
downloadchromium_src-ab6a5c4dd0c4a16b202567afa28f70c7ebd37ec9.zip
chromium_src-ab6a5c4dd0c4a16b202567afa28f70c7ebd37ec9.tar.gz
chromium_src-ab6a5c4dd0c4a16b202567afa28f70c7ebd37ec9.tar.bz2
Add LoadLog instrumentation to HttpNetworkTransaction, to tell how much time was spent reading/writing headers and reading/writing body.
Review URL: http://codereview.chromium.org/384098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31861 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r--net/http/http_network_transaction.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
index 58dd97f..2dd0c70 100644
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -435,40 +435,58 @@ int HttpNetworkTransaction::DoLoop(int result) {
case STATE_SEND_REQUEST:
DCHECK_EQ(OK, rv);
TRACE_EVENT_BEGIN("http.send_request", request_, request_->url.spec());
+ LoadLog::BeginEvent(load_log_,
+ LoadLog::TYPE_HTTP_TRANSACTION_SEND_REQUEST);
rv = DoSendRequest();
break;
case STATE_SEND_REQUEST_COMPLETE:
rv = DoSendRequestComplete(rv);
TRACE_EVENT_END("http.send_request", request_, request_->url.spec());
+ LoadLog::EndEvent(load_log_,
+ LoadLog::TYPE_HTTP_TRANSACTION_SEND_REQUEST);
break;
case STATE_READ_HEADERS:
DCHECK_EQ(OK, rv);
TRACE_EVENT_BEGIN("http.read_headers", request_, request_->url.spec());
+ LoadLog::BeginEvent(load_log_,
+ LoadLog::TYPE_HTTP_TRANSACTION_READ_HEADERS);
rv = DoReadHeaders();
break;
case STATE_READ_HEADERS_COMPLETE:
rv = DoReadHeadersComplete(rv);
TRACE_EVENT_END("http.read_headers", request_, request_->url.spec());
+ LoadLog::EndEvent(load_log_,
+ LoadLog::TYPE_HTTP_TRANSACTION_READ_HEADERS);
break;
case STATE_READ_BODY:
DCHECK_EQ(OK, rv);
TRACE_EVENT_BEGIN("http.read_body", request_, request_->url.spec());
+ LoadLog::BeginEvent(load_log_,
+ LoadLog::TYPE_HTTP_TRANSACTION_READ_BODY);
rv = DoReadBody();
break;
case STATE_READ_BODY_COMPLETE:
rv = DoReadBodyComplete(rv);
TRACE_EVENT_END("http.read_body", request_, request_->url.spec());
+ LoadLog::EndEvent(load_log_,
+ LoadLog::TYPE_HTTP_TRANSACTION_READ_BODY);
break;
case STATE_DRAIN_BODY_FOR_AUTH_RESTART:
DCHECK_EQ(OK, rv);
TRACE_EVENT_BEGIN("http.drain_body_for_auth_restart",
request_, request_->url.spec());
+ LoadLog::BeginEvent(
+ load_log_,
+ LoadLog::TYPE_HTTP_TRANSACTION_DRAIN_BODY_FOR_AUTH_RESTART);
rv = DoDrainBodyForAuthRestart();
break;
case STATE_DRAIN_BODY_FOR_AUTH_RESTART_COMPLETE:
rv = DoDrainBodyForAuthRestartComplete(rv);
TRACE_EVENT_END("http.drain_body_for_auth_restart",
request_, request_->url.spec());
+ LoadLog::EndEvent(
+ load_log_,
+ LoadLog::TYPE_HTTP_TRANSACTION_DRAIN_BODY_FOR_AUTH_RESTART);
break;
default:
NOTREACHED() << "bad state";