diff options
author | mmenke <mmenke@chromium.org> | 2015-08-10 09:35:49 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-10 16:36:18 +0000 |
commit | e6d5e55d5bfe294ea69673fc9e1ff131ac724aab (patch) | |
tree | 0c8b8b311cbc7a6e8c01bad3f3f537e7b35ef2dd | |
parent | b629aacf40bba650ffe7eeba700a8bd46f131549 (diff) | |
download | chromium_src-e6d5e55d5bfe294ea69673fc9e1ff131ac724aab.zip chromium_src-e6d5e55d5bfe294ea69673fc9e1ff131ac724aab.tar.gz chromium_src-e6d5e55d5bfe294ea69673fc9e1ff131ac724aab.tar.bz2 |
Add histograms for usage of some weird HTTP/0.9 "features"
HTTP/0.9 over SSL, HTTP/0.9 on a socket previously used
to receive HTTP/1.x responses.
BUG=472762
Review URL: https://codereview.chromium.org/1281523007
Cr-Commit-Position: refs/heads/master@{#342631}
-rw-r--r-- | net/http/http_stream_parser.cc | 14 | ||||
-rw-r--r-- | tools/metrics/histograms/histograms.xml | 3 |
2 files changed, 15 insertions, 2 deletions
diff --git a/net/http/http_stream_parser.cc b/net/http/http_stream_parser.cc index bd30f55..2cf3f66 100644 --- a/net/http/http_stream_parser.cc +++ b/net/http/http_stream_parser.cc @@ -28,10 +28,13 @@ namespace { enum HttpHeaderParserEvent { HEADER_PARSER_INVOKED = 0, - HEADER_HTTP_09_RESPONSE = 1, + // Obsolete: HEADER_HTTP_09_RESPONSE = 1, HEADER_ALLOWED_TRUNCATED_HEADERS = 2, HEADER_SKIPPED_WS_PREFIX = 3, HEADER_SKIPPED_NON_WS_PREFIX = 4, + HEADER_HTTP_09_RESPONSE_OVER_HTTP = 5, + HEADER_HTTP_09_RESPONSE_OVER_SSL = 6, + HEADER_HTTP_09_ON_REUSED_SOCKET = 7, NUM_HEADER_EVENTS }; @@ -942,7 +945,14 @@ int HttpStreamParser::ParseResponseHeaders(int end_offset) { } else { // Enough data was read -- there is no status line. headers = new HttpResponseHeaders(std::string("HTTP/0.9 200 OK")); - RecordHeaderParserEvent(HEADER_HTTP_09_RESPONSE); + + if (request_->url.SchemeIsCryptographic()) { + RecordHeaderParserEvent(HEADER_HTTP_09_RESPONSE_OVER_SSL); + } else { + RecordHeaderParserEvent(HEADER_HTTP_09_RESPONSE_OVER_HTTP); + } + if (connection_->is_reused()) + RecordHeaderParserEvent(HEADER_HTTP_09_ON_REUSED_SOCKET); } // Check for multiple Content-Length headers with no Transfer-Encoding header. diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 623067d..ca88a5c0 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml @@ -59880,6 +59880,9 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries. <int value="2" label="ALLOWED_TRUNCATED_HEADERS"/> <int value="3" label="SKIPPED_WS_PREFIX"/> <int value="4" label="SKIPPED_NON_WS_PREFIX"/> + <int value="5" label="HTTP_09_RESPONSE_OVER_HTTP"/> + <int value="6" label="HTTP_09_RESPONSE_OVER_SSL"/> + <int value="7" label="HEADER_HTTP_09_ON_REUSED_SOCKET"/> </enum> <enum name="HttpPipelineStatus" type="int"> |