 Chromium Code Reviews
 Chromium Code Reviews Issue 2039743003:
  Introduce ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time UMA.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 2039743003:
  Introduce ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time UMA.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: content/browser/service_worker/embedded_worker_instance.h | 
| diff --git a/content/browser/service_worker/embedded_worker_instance.h b/content/browser/service_worker/embedded_worker_instance.h | 
| index 9356bb531f0510aca376961a69e14e50e48f1f6a..a74d3766cec8a9cdb18cfdf4016c5da326815c1d 100644 | 
| --- a/content/browser/service_worker/embedded_worker_instance.h | 
| +++ b/content/browser/service_worker/embedded_worker_instance.h | 
| @@ -20,6 +20,7 @@ | 
| #include "base/observer_list.h" | 
| #include "base/strings/string16.h" | 
| #include "base/time/time.h" | 
| +#include "content/browser/service_worker/embedded_worker_status.h" | 
| #include "content/browser/service_worker/service_worker_metrics.h" | 
| #include "content/common/content_export.h" | 
| #include "content/common/service_worker/service_worker_status_code.h" | 
| @@ -51,12 +52,7 @@ class ServiceWorkerContextCore; | 
| class CONTENT_EXPORT EmbeddedWorkerInstance { | 
| public: | 
| typedef base::Callback<void(ServiceWorkerStatusCode)> StatusCallback; | 
| - enum Status { | 
| - STOPPED, | 
| - STARTING, | 
| - RUNNING, | 
| - STOPPING, | 
| - }; | 
| + typedef EmbeddedWorkerStatus Status; | 
| 
falken
2016/06/07 03:46:12
I think it's now:
using EmbeddedWorkerStatus = Sta
 
horo
2016/06/07 05:58:12
Done.
 | 
| // This enum is used in UMA histograms. Append-only. | 
| enum StartingPhase { | 
| @@ -142,7 +138,7 @@ class CONTENT_EXPORT EmbeddedWorkerInstance { | 
| int embedded_worker_id() const { return embedded_worker_id_; } | 
| Status status() const { return status_; } | 
| StartingPhase starting_phase() const { | 
| - DCHECK_EQ(STARTING, status()); | 
| + DCHECK_EQ(Status::STARTING, status()); | 
| return starting_phase_; | 
| } | 
| int process_id() const; | 
| @@ -163,6 +159,10 @@ class CONTENT_EXPORT EmbeddedWorkerInstance { | 
| return network_accessed_for_script_; | 
| } | 
| + ServiceWorkerMetrics::StartSituation start_situation() const { | 
| 
falken
2016/06/07 03:46:12
Does it make sense to have DCHECK(STARTING || RUNN
 
horo
2016/06/07 05:58:12
Done.
 | 
| + return start_situation_; | 
| + } | 
| + | 
| // Called when the main script load accessed the network. | 
| void OnNetworkAccessedForScriptLoad(); | 
| @@ -208,7 +208,8 @@ class CONTENT_EXPORT EmbeddedWorkerInstance { | 
| int embedded_worker_id); | 
| // Called back from StartTask after a process is allocated on the UI thread. | 
| - void OnProcessAllocated(std::unique_ptr<WorkerProcessHandle> handle); | 
| + void OnProcessAllocated(std::unique_ptr<WorkerProcessHandle> handle, | 
| + ServiceWorkerMetrics::StartSituation start_situation); | 
| // Called back from StartTask after the worker is registered to | 
| // WorkerDevToolsManager. | 
| @@ -309,6 +310,9 @@ class CONTENT_EXPORT EmbeddedWorkerInstance { | 
| std::unique_ptr<StartTask> inflight_start_task_; | 
| + ServiceWorkerMetrics::StartSituation start_situation_ = | 
| + ServiceWorkerMetrics::StartSituation::UNKNOWN; | 
| 
falken
2016/06/07 03:46:12
It's a little unfortunate this state has to move o
 
horo
2016/06/07 05:58:12
Done.
 | 
| + | 
| // Used for UMA. The start time of the current start sequence step. | 
| base::TimeTicks step_time_; |