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, ...@@ -569,7 +569,7 @@ void EmbeddedWorkerInstance::Start(mojom::EmbeddedWorkerStartParamsPtr params,
DCHECK_NE(blink::mojom::kInvalidServiceWorkerVersionId, DCHECK_NE(blink::mojom::kInvalidServiceWorkerVersionId,
params->service_worker_version_id); params->service_worker_version_id);
step_time_ = base::TimeTicks::Now(); auto start_time = base::TimeTicks::Now();
status_ = EmbeddedWorkerStatus::STARTING; status_ = EmbeddedWorkerStatus::STARTING;
starting_phase_ = ALLOCATING_PROCESS; starting_phase_ = ALLOCATING_PROCESS;
network_accessed_for_script_ = false; network_accessed_for_script_ = false;
...@@ -588,7 +588,7 @@ void EmbeddedWorkerInstance::Start(mojom::EmbeddedWorkerStartParamsPtr params, ...@@ -588,7 +588,7 @@ void EmbeddedWorkerInstance::Start(mojom::EmbeddedWorkerStartParamsPtr params,
client_.set_connection_error_handler( client_.set_connection_error_handler(
base::BindOnce(&EmbeddedWorkerInstance::Detach, base::Unretained(this))); base::BindOnce(&EmbeddedWorkerInstance::Detach, base::Unretained(this)));
inflight_start_task_.reset( 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)); inflight_start_task_->Start(std::move(params), std::move(callback));
} }
...@@ -679,12 +679,8 @@ void EmbeddedWorkerInstance::OnRegisteredToDevToolsManager( ...@@ -679,12 +679,8 @@ void EmbeddedWorkerInstance::OnRegisteredToDevToolsManager(
DCHECK(!devtools_proxy_); DCHECK(!devtools_proxy_);
devtools_proxy_ = std::move(devtools_proxy); devtools_proxy_ = std::move(devtools_proxy);
} }
if (wait_for_debugger) { 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();
inflight_start_task_->set_skip_recording_startup_time(); inflight_start_task_->set_skip_recording_startup_time();
}
for (auto& observer : listener_list_) for (auto& observer : listener_list_)
observer.OnRegisteredToDevToolsManager(); observer.OnRegisteredToDevToolsManager();
} }
...@@ -710,14 +706,6 @@ void EmbeddedWorkerInstance::SendStartWorker( ...@@ -710,14 +706,6 @@ void EmbeddedWorkerInstance::SendStartWorker(
client_->StartWorker(std::move(params)); client_->StartWorker(std::move(params));
registry_->BindWorkerToProcess(process_id(), embedded_worker_id()); 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; starting_phase_ = is_script_streaming ? SCRIPT_STREAMING : SENT_START_WORKER;
for (auto& observer : listener_list_) for (auto& observer : listener_list_)
observer.OnStartWorkerMessageSent(); observer.OnStartWorkerMessageSent();
...@@ -791,12 +779,6 @@ void EmbeddedWorkerInstance::OnThreadStarted(int thread_id) { ...@@ -791,12 +779,6 @@ void EmbeddedWorkerInstance::OnThreadStarted(int thread_id) {
return; return;
starting_phase_ = THREAD_STARTED; 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; thread_id_ = thread_id;
for (auto& observer : listener_list_) for (auto& observer : listener_list_)
observer.OnThreadStarted(); observer.OnThreadStarted();
...@@ -808,14 +790,7 @@ void EmbeddedWorkerInstance::OnScriptEvaluated(bool success) { ...@@ -808,14 +790,7 @@ void EmbeddedWorkerInstance::OnScriptEvaluated(bool success) {
DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_); DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_);
// Renderer side has completed evaluating the loaded worker script.
starting_phase_ = SCRIPT_EVALUATED; 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(); base::WeakPtr<EmbeddedWorkerInstance> weak_this = weak_factory_.GetWeakPtr();
StartTask::RunStartCallback( StartTask::RunStartCallback(
...@@ -971,15 +946,6 @@ void EmbeddedWorkerInstance::OnStartFailed( ...@@ -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( void EmbeddedWorkerInstance::AddMessageToConsole(
blink::WebConsoleMessage::Level level, blink::WebConsoleMessage::Level level,
const std::string& message) { const std::string& message) {
......
...@@ -281,10 +281,6 @@ class CONTENT_EXPORT EmbeddedWorkerInstance ...@@ -281,10 +281,6 @@ class CONTENT_EXPORT EmbeddedWorkerInstance
void OnStartFailed(StatusCallback callback, void OnStartFailed(StatusCallback callback,
blink::ServiceWorkerStatusCode status); 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_; base::WeakPtr<ServiceWorkerContextCore> context_;
scoped_refptr<EmbeddedWorkerRegistry> registry_; scoped_refptr<EmbeddedWorkerRegistry> registry_;
ServiceWorkerVersion* owner_version_; ServiceWorkerVersion* owner_version_;
...@@ -327,9 +323,6 @@ class CONTENT_EXPORT EmbeddedWorkerInstance ...@@ -327,9 +323,6 @@ class CONTENT_EXPORT EmbeddedWorkerInstance
ServiceWorkerMetrics::StartSituation start_situation_ = ServiceWorkerMetrics::StartSituation start_situation_ =
ServiceWorkerMetrics::StartSituation::UNKNOWN; 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_; std::unique_ptr<ServiceWorkerContentSettingsProxyImpl> content_settings_;
base::WeakPtrFactory<EmbeddedWorkerInstance> weak_factory_; base::WeakPtrFactory<EmbeddedWorkerInstance> weak_factory_;
......
...@@ -726,32 +726,6 @@ void ServiceWorkerMetrics::RecordProcessCreated(bool is_new_process) { ...@@ -726,32 +726,6 @@ void ServiceWorkerMetrics::RecordProcessCreated(bool is_new_process) {
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, void ServiceWorkerMetrics::RecordStartWorkerTiming(const StartTimes& times,
StartSituation situation) { StartSituation situation) {
// Bail if the timings across processes weren't consistent. // Bail if the timings across processes weren't consistent.
......
...@@ -389,21 +389,7 @@ class ServiceWorkerMetrics { ...@@ -389,21 +389,7 @@ class ServiceWorkerMetrics {
static void RecordFallbackedRequestMode( static void RecordFallbackedRequestMode(
network::mojom::FetchRequestMode mode); 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 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, CONTENT_EXPORT static void RecordStartWorkerTiming(const StartTimes& times,
StartSituation situation); StartSituation situation);
......
...@@ -21981,6 +21981,10 @@ uploading your change for review. ...@@ -21981,6 +21981,10 @@ uploading your change for review.
</histogram> </histogram>
<histogram name="EmbeddedWorkerInstance.Start.TimeToEvaluateScript" units="ms"> <histogram name="EmbeddedWorkerInstance.Start.TimeToEvaluateScript" units="ms">
<obsolete>
Removed July 2018 (M69). Replaced with
ServiceWorker.StartTiming.ScriptEvaluationStartToScriptEvaluationEnd.
</obsolete>
<owner>falken@chromium.org</owner> <owner>falken@chromium.org</owner>
<summary> <summary>
The time taken for initial evaluation of the service worker script. The time taken for initial evaluation of the service worker script.
...@@ -22027,6 +22031,10 @@ uploading your change for review. ...@@ -22027,6 +22031,10 @@ uploading your change for review.
</histogram> </histogram>
<histogram name="EmbeddedWorkerInstance.Start.TimeToSendStartWorker" units="ms"> <histogram name="EmbeddedWorkerInstance.Start.TimeToSendStartWorker" units="ms">
<obsolete>
Removed July 2018 (M69). Replaced with
ServiceWorker.StartTiming.StartToSentStartWorker.
</obsolete>
<owner>falken@chromium.org</owner> <owner>falken@chromium.org</owner>
<summary> <summary>
The time taken between deciding to start a worker and sending the start The time taken between deciding to start a worker and sending the start
...@@ -22035,6 +22043,10 @@ uploading your change for review. ...@@ -22035,6 +22043,10 @@ uploading your change for review.
</histogram> </histogram>
<histogram name="EmbeddedWorkerInstance.Start.TimeToStartThread" units="ms"> <histogram name="EmbeddedWorkerInstance.Start.TimeToStartThread" units="ms">
<obsolete>
Removed July 2018 (M69). Replaced with
ServiceWorker.StartTiming.ReceivedStartWorkerToScriptEvaluationStart.
</obsolete>
<owner>falken@chromium.org</owner> <owner>falken@chromium.org</owner>
<summary> <summary>
The time taken to start the service worker thread. Specifically, the time 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