Commit c8598b62 authored by Matt Falkenhagen's avatar Matt Falkenhagen Committed by Commit Bot

service worker: Remove some EmbeddedWorker* histograms.

These are obsolete by the ServiceWorker.StartTiming.* ones.

The motivation is to make further code changes easier, like removing
some of the IPC messages.

Bug: 855952
Change-Id: I8ed8266fdef1641f74011c2fa6889908c889fa0f
Reviewed-on: https://chromium-review.googlesource.com/1122676Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Reviewed-by: default avatarMakoto Shimazu <shimazu@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572112}
parent 39096e3e
......@@ -569,7 +569,7 @@ void EmbeddedWorkerInstance::Start(mojom::EmbeddedWorkerStartParamsPtr params,
DCHECK_NE(blink::mojom::kInvalidServiceWorkerVersionId,
params->service_worker_version_id);
step_time_ = base::TimeTicks::Now();
auto start_time = base::TimeTicks::Now();
status_ = EmbeddedWorkerStatus::STARTING;
starting_phase_ = ALLOCATING_PROCESS;
network_accessed_for_script_ = false;
......@@ -588,7 +588,7 @@ void EmbeddedWorkerInstance::Start(mojom::EmbeddedWorkerStartParamsPtr params,
client_.set_connection_error_handler(
base::BindOnce(&EmbeddedWorkerInstance::Detach, base::Unretained(this)));
inflight_start_task_.reset(
new StartTask(this, params->script_url, std::move(request), step_time_));
new StartTask(this, params->script_url, std::move(request), start_time));
inflight_start_task_->Start(std::move(params), std::move(callback));
}
......@@ -679,12 +679,8 @@ void EmbeddedWorkerInstance::OnRegisteredToDevToolsManager(
DCHECK(!devtools_proxy_);
devtools_proxy_ = std::move(devtools_proxy);
}
if (wait_for_debugger) {
// We don't measure the start time when wait_for_debugger flag is set. So
// we set the NULL time here.
step_time_ = base::TimeTicks();
if (wait_for_debugger)
inflight_start_task_->set_skip_recording_startup_time();
}
for (auto& observer : listener_list_)
observer.OnRegisteredToDevToolsManager();
}
......@@ -710,14 +706,6 @@ void EmbeddedWorkerInstance::SendStartWorker(
client_->StartWorker(std::move(params));
registry_->BindWorkerToProcess(process_id(), embedded_worker_id());
if (!step_time_.is_null()) {
base::TimeDelta duration = UpdateStepTime();
if (inflight_start_task_->is_installed()) {
ServiceWorkerMetrics::RecordTimeToSendStartWorker(duration,
start_situation_);
}
}
starting_phase_ = is_script_streaming ? SCRIPT_STREAMING : SENT_START_WORKER;
for (auto& observer : listener_list_)
observer.OnStartWorkerMessageSent();
......@@ -791,12 +779,6 @@ void EmbeddedWorkerInstance::OnThreadStarted(int thread_id) {
return;
starting_phase_ = THREAD_STARTED;
if (!step_time_.is_null()) {
base::TimeDelta duration = UpdateStepTime();
if (inflight_start_task_->is_installed())
ServiceWorkerMetrics::RecordTimeToStartThread(duration, start_situation_);
}
thread_id_ = thread_id;
for (auto& observer : listener_list_)
observer.OnThreadStarted();
......@@ -808,14 +790,7 @@ void EmbeddedWorkerInstance::OnScriptEvaluated(bool success) {
DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_);
// Renderer side has completed evaluating the loaded worker script.
starting_phase_ = SCRIPT_EVALUATED;
if (!step_time_.is_null()) {
base::TimeDelta duration = UpdateStepTime();
if (success && inflight_start_task_->is_installed())
ServiceWorkerMetrics::RecordTimeToEvaluateScript(duration,
start_situation_);
}
base::WeakPtr<EmbeddedWorkerInstance> weak_this = weak_factory_.GetWeakPtr();
StartTask::RunStartCallback(
......@@ -971,15 +946,6 @@ void EmbeddedWorkerInstance::OnStartFailed(
}
}
base::TimeDelta EmbeddedWorkerInstance::UpdateStepTime() {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(!step_time_.is_null());
base::TimeTicks now = base::TimeTicks::Now();
base::TimeDelta duration = now - step_time_;
step_time_ = now;
return duration;
}
void EmbeddedWorkerInstance::AddMessageToConsole(
blink::WebConsoleMessage::Level level,
const std::string& message) {
......
......@@ -281,10 +281,6 @@ class CONTENT_EXPORT EmbeddedWorkerInstance
void OnStartFailed(StatusCallback callback,
blink::ServiceWorkerStatusCode status);
// Returns the time elapsed since |step_time_| and updates |step_time_|
// to the current time.
base::TimeDelta UpdateStepTime();
base::WeakPtr<ServiceWorkerContextCore> context_;
scoped_refptr<EmbeddedWorkerRegistry> registry_;
ServiceWorkerVersion* owner_version_;
......@@ -327,9 +323,6 @@ class CONTENT_EXPORT EmbeddedWorkerInstance
ServiceWorkerMetrics::StartSituation start_situation_ =
ServiceWorkerMetrics::StartSituation::UNKNOWN;
// Used for UMA. The start time of the current start sequence step.
base::TimeTicks step_time_;
std::unique_ptr<ServiceWorkerContentSettingsProxyImpl> content_settings_;
base::WeakPtrFactory<EmbeddedWorkerInstance> weak_factory_;
......
......@@ -726,32 +726,6 @@ void ServiceWorkerMetrics::RecordProcessCreated(bool is_new_process) {
is_new_process);
}
void ServiceWorkerMetrics::RecordTimeToSendStartWorker(
base::TimeDelta duration,
StartSituation situation) {
std::string name = "EmbeddedWorkerInstance.Start.TimeToSendStartWorker";
UMA_HISTOGRAM_MEDIUM_TIMES(name, duration);
RecordSuffixedMediumTimeHistogram(
name, StartSituationToDeprecatedSuffix(situation), duration);
}
void ServiceWorkerMetrics::RecordTimeToStartThread(base::TimeDelta duration,
StartSituation situation) {
std::string name = "EmbeddedWorkerInstance.Start.TimeToStartThread";
UMA_HISTOGRAM_MEDIUM_TIMES(name, duration);
RecordSuffixedMediumTimeHistogram(
name, StartSituationToDeprecatedSuffix(situation), duration);
}
void ServiceWorkerMetrics::RecordTimeToEvaluateScript(
base::TimeDelta duration,
StartSituation situation) {
std::string name = "EmbeddedWorkerInstance.Start.TimeToEvaluateScript";
UMA_HISTOGRAM_MEDIUM_TIMES(name, duration);
RecordSuffixedMediumTimeHistogram(
name, StartSituationToDeprecatedSuffix(situation), duration);
}
void ServiceWorkerMetrics::RecordStartWorkerTiming(const StartTimes& times,
StartSituation situation) {
// Bail if the timings across processes weren't consistent.
......
......@@ -389,21 +389,7 @@ class ServiceWorkerMetrics {
static void RecordFallbackedRequestMode(
network::mojom::FetchRequestMode mode);
// Called at the beginning of each ServiceWorkerVersion::Dispatch*Event
// function. Records the time elapsed since idle (generally the time since the
// previous event ended).
static void RecordTimeBetweenEvents(base::TimeDelta time);
// The following record steps of EmbeddedWorkerInstance's start sequence.
// TODO(crbug.com/855952): Remove most of these and replace with
// RecordStartWorkingTiming().
static void RecordProcessCreated(bool is_new_process);
static void RecordTimeToSendStartWorker(base::TimeDelta duration,
StartSituation start_situation);
static void RecordTimeToStartThread(base::TimeDelta duration,
StartSituation start_situation);
static void RecordTimeToEvaluateScript(base::TimeDelta duration,
StartSituation start_situation);
CONTENT_EXPORT static void RecordStartWorkerTiming(const StartTimes& times,
StartSituation situation);
......
......@@ -21981,6 +21981,10 @@ uploading your change for review.
</histogram>
<histogram name="EmbeddedWorkerInstance.Start.TimeToEvaluateScript" units="ms">
<obsolete>
Removed July 2018 (M69). Replaced with
ServiceWorker.StartTiming.ScriptEvaluationStartToScriptEvaluationEnd.
</obsolete>
<owner>falken@chromium.org</owner>
<summary>
The time taken for initial evaluation of the service worker script.
......@@ -22027,6 +22031,10 @@ uploading your change for review.
</histogram>
<histogram name="EmbeddedWorkerInstance.Start.TimeToSendStartWorker" units="ms">
<obsolete>
Removed July 2018 (M69). Replaced with
ServiceWorker.StartTiming.StartToSentStartWorker.
</obsolete>
<owner>falken@chromium.org</owner>
<summary>
The time taken between deciding to start a worker and sending the start
......@@ -22035,6 +22043,10 @@ uploading your change for review.
</histogram>
<histogram name="EmbeddedWorkerInstance.Start.TimeToStartThread" units="ms">
<obsolete>
Removed July 2018 (M69). Replaced with
ServiceWorker.StartTiming.ReceivedStartWorkerToScriptEvaluationStart.
</obsolete>
<owner>falken@chromium.org</owner>
<summary>
The time taken to start the service worker thread. Specifically, the time
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment