0

Measure elapsed time to check ServiceWorker allowed

To understand the cost to check if the ServiceWorker is allowed inside
`ServiceWorkerContainerHostForClient`, let me add a metrics for that.

Change-Id: I1aad423725e0aaaab35afd72b5ffdfa7fa0c6781
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6332354
Reviewed-by: Shunya Shishido <sisidovski@chromium.org>
Auto-Submit: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Commit-Queue: Shunya Shishido <sisidovski@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1428752}
This commit is contained in:
Yoshisato Yanagisawa
2025-03-05 23:01:50 -08:00
committed by Chromium LUCI CQ
parent 6f99c26902
commit 571fcd3c7e
2 changed files with 19 additions and 0 deletions
content/browser/service_worker
tools/metrics/histograms/metadata/service

@ -727,6 +727,7 @@ bool ServiceWorkerContainerHostForClient::AllowServiceWorker(
if (!browser_context) {
return false;
}
auto start_time = base::TimeTicks::Now();
AllowServiceWorkerResult allowed =
GetContentClient()->browser()->AllowServiceWorker(
scope,
@ -734,6 +735,9 @@ bool ServiceWorkerContainerHostForClient::AllowServiceWorker(
service_worker_client().key()),
service_worker_client().top_frame_origin(), script_url,
browser_context);
base::UmaHistogramMicrosecondsTimes(
"ServiceWorker.ContainerHostForClient.AllowServiceWorkerCallTime",
base::TimeTicks::Now() - start_time);
if (service_worker_client().IsContainerForWindowClient()) {
auto* rfh = RenderFrameHostImpl::FromID(
service_worker_client().GetRenderFrameHostId());