Add IsCloningDataFinishedBeforeResponseComplete histogram
This is a follow up for crrev.com/c/6101238. To ensure if the speculative fix introduced in crrev.com/c/6101238 actually works, and understand how often the case happens, this CL adds the new boolean metrics. Bug: 384414080 Change-Id: I25d75a1408a69b5fe4752b9714913084308eeb17 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6096624 Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org> Reviewed-by: Keita Suzuki <suzukikeita@chromium.org> Commit-Queue: Shunya Shishido <sisidovski@chromium.org> Cr-Commit-Position: refs/heads/main@{#1397774}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
9ba2ac0a23
commit
dae92c40de
content/common/service_worker
tools/metrics/histograms/metadata/service
@@ -33,6 +33,17 @@ const char kMainResourceHistogramForRaceNetworkFetchEvent[] =
|
|||||||
"ServiceWorker.FetchEvent.MainResource.RaceNetworkRequest";
|
"ServiceWorker.FetchEvent.MainResource.RaceNetworkRequest";
|
||||||
const char kSubresourceHistogramForRaceNetworkFetchEvent[] =
|
const char kSubresourceHistogramForRaceNetworkFetchEvent[] =
|
||||||
"ServiceWorker.FetchEvent.Subresource.RaceNetworkRequest";
|
"ServiceWorker.FetchEvent.Subresource.RaceNetworkRequest";
|
||||||
|
|
||||||
|
void RecordRaceNetworkRequestCloningResponseForFetchHandlerHistogram(
|
||||||
|
bool is_main_resource,
|
||||||
|
bool is_cloning_data_finished_before_response_complete) {
|
||||||
|
base::UmaHistogramBoolean(
|
||||||
|
base::StrCat({is_main_resource
|
||||||
|
? kMainResourceHistogramForRaceNetworkFetchEvent
|
||||||
|
: kSubresourceHistogramForRaceNetworkFetchEvent,
|
||||||
|
".IsCloningDataFinishedBeforeResponseComplete"}),
|
||||||
|
is_cloning_data_finished_before_response_complete);
|
||||||
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
ServiceWorkerRaceNetworkRequestURLLoaderClient::
|
ServiceWorkerRaceNetworkRequestURLLoaderClient::
|
||||||
@@ -382,6 +393,9 @@ void ServiceWorkerRaceNetworkRequestURLLoaderClient::CompleteResponse() {
|
|||||||
// ServiceWorkerStaticRouterRaceNetworkRequestPerformanceImprovement feature
|
// ServiceWorkerStaticRouterRaceNetworkRequestPerformanceImprovement feature
|
||||||
// is enabled.
|
// is enabled.
|
||||||
forwarding_client_->OnComplete(completion_status_.value());
|
forwarding_client_->OnComplete(completion_status_.value());
|
||||||
|
RecordRaceNetworkRequestCloningResponseForFetchHandlerHistogram(
|
||||||
|
is_main_resource_,
|
||||||
|
/*is_cloning_data_finished_before_response_complete=*/true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -689,6 +703,9 @@ void ServiceWorkerRaceNetworkRequestURLLoaderClient::
|
|||||||
// completed as well.
|
// completed as well.
|
||||||
forwarding_client_->OnComplete(completion_status_.value());
|
forwarding_client_->OnComplete(completion_status_.value());
|
||||||
write_buffer_manager_for_fetch_handler_.ResetProducer();
|
write_buffer_manager_for_fetch_handler_.ResetProducer();
|
||||||
|
RecordRaceNetworkRequestCloningResponseForFetchHandlerHistogram(
|
||||||
|
is_main_resource_,
|
||||||
|
/*is_cloning_data_finished_before_response_complete=*/false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -456,6 +456,25 @@ chromium-metrics-reviews@google.com.
|
|||||||
</token>
|
</token>
|
||||||
</histogram>
|
</histogram>
|
||||||
|
|
||||||
|
<histogram
|
||||||
|
name="ServiceWorker.FetchEvent.{Resource}.RaceNetworkRequest.IsCloningDataFinishedBeforeResponseComplete"
|
||||||
|
enum="Boolean" expires_after="2025-05-11">
|
||||||
|
<owner>sisidovski@chromium.org</owner>
|
||||||
|
<owner>chrome-worker@google.com</owner>
|
||||||
|
<summary>
|
||||||
|
Recorded as true when the data cloning from the original response to the
|
||||||
|
data pipe for the fetch handler is completed, but still the completion
|
||||||
|
status via `ServiceWorkerRaceNetworkRequestURLLoaderClient::OnComplete()` is
|
||||||
|
not invoked.
|
||||||
|
|
||||||
|
This metric is recorded per {Resource}.
|
||||||
|
</summary>
|
||||||
|
<token key="Resource">
|
||||||
|
<variant name="MainResource" summary="main resource"/>
|
||||||
|
<variant name="Subresource" summary="subresource"/>
|
||||||
|
</token>
|
||||||
|
</histogram>
|
||||||
|
|
||||||
<histogram
|
<histogram
|
||||||
name="ServiceWorker.FetchEvent.{Resource}.RaceNetworkRequest.Redirect"
|
name="ServiceWorker.FetchEvent.{Resource}.RaceNetworkRequest.Redirect"
|
||||||
enum="Boolean" expires_after="2025-01-26">
|
enum="Boolean" expires_after="2025-01-26">
|
||||||
|
Reference in New Issue
Block a user