summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/renderer/service_worker/service_worker_script_context.cc6
-rw-r--r--tools/metrics/histograms/histograms.xml5
2 files changed, 11 insertions, 0 deletions
diff --git a/content/renderer/service_worker/service_worker_script_context.cc b/content/renderer/service_worker/service_worker_script_context.cc
index d8eeb25..65fc5e7 100644
--- a/content/renderer/service_worker/service_worker_script_context.cc
+++ b/content/renderer/service_worker/service_worker_script_context.cc
@@ -227,7 +227,13 @@ void ServiceWorkerScriptContext::OnPostMessage(
}
}
+ // dispatchMessageEvent is expected to execute onmessage function
+ // synchronously.
+ base::TimeTicks before = base::TimeTicks::Now();
proxy_->dispatchMessageEvent(message, ports);
+ UMA_HISTOGRAM_TIMES(
+ "ServiceWorker.MessageEventExecutionTime",
+ base::TimeTicks::Now() - before);
}
void ServiceWorkerScriptContext::OnDidGetClientDocuments(
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index cd5689c4..b9e73d0 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -29506,6 +29506,11 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<summary>Execution time of ServiceWorkerGlobalScope.oninstall.</summary>
</histogram>
+<histogram name="ServiceWorker.MessageEventExecutionTime" units="millisecond">
+ <owner>shimazu@chromium.org</owner>
+ <summary>Execution time of ServiceWorkerGlobalScope.onmessage.</summary>
+</histogram>
+
<histogram name="ServiceWorker.ScriptSize" units="bytes">
<owner>ksakamoto@chromium.org</owner>
<summary>