webfeed: fix feed network UMA
ContentSuggestions.Feed.Network.CompressedResponseSizeKB.*
was being reported with the wrong size.
ResponseInfo().encoded_data_length is actually the size of
the first chunk of the response. Changed to use
CompletionStatus().encoded_data_length. (see crbug.com/1246168)
Also tweaked the surrounding code to use the local variable
'loader_response_info' rather than call ResponseInfo() multiple
times. This should have no effect.
Bug: 1247292
Change-Id: I3c5ed55aa42388ab9ce389a912810c1b554b52c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3139303
Auto-Submit: Dan H <harringtond@chromium.org>
Commit-Queue: Dan H <harringtond@chromium.org>
Reviewed-by: Carlos Knippschild <carlosk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#918845}
diff --git a/components/feed/core/v2/feed_network_impl.cc b/components/feed/core/v2/feed_network_impl.cc
index 00fc34a..16480ea 100644
--- a/components/feed/core/v2/feed_network_impl.cc
+++ b/components/feed/core/v2/feed_network_impl.cc
@@ -336,6 +336,8 @@
void OnSimpleLoaderComplete(std::unique_ptr<std::string> response) {
const network::mojom::URLResponseHead* loader_response_info =
simple_loader_->ResponseInfo();
+ absl::optional<network::URLLoaderCompletionStatus> completion_status =
+ simple_loader_->CompletionStatus();
NetworkResponseInfo response_info;
response_info.status_code = simple_loader_->NetError();
@@ -346,14 +348,14 @@
response_info.was_signed_in = !access_token_.empty();
response_info.loader_start_time_ticks = loader_only_start_ticks_;
response_info.encoded_size_bytes =
- loader_response_info ? loader_response_info->encoded_data_length : 0;
+ completion_status ? completion_status->encoded_data_length : 0;
// If overriding the feed host, try to grab the Bless nonce. This is
// strictly informational, and only displayed in snippets-internals.
- if (allow_bless_auth_ && simple_loader_->ResponseInfo()) {
+ if (allow_bless_auth_ && loader_response_info) {
size_t iter = 0;
std::string value;
- while (simple_loader_->ResponseInfo()->headers->EnumerateHeader(
+ while (loader_response_info->headers->EnumerateHeader(
&iter, "www-authenticate", &value)) {
size_t pos = value.find("nonce=\"");
if (pos != std::string::npos) {
@@ -369,7 +371,7 @@
std::string response_body;
if (response) {
response_info.status_code =
- simple_loader_->ResponseInfo()->headers->response_code();
+ loader_response_info->headers->response_code();
response_info.response_body_bytes = response->size();
response_body = std::move(*response);