Chromium Code Reviews| Index: chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.h |
| diff --git a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.h b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.h |
| index 437d5c9a6df56d6bf610f1e75ce3f6b2dfd0e894..325d03a224dd62dec0a1cff103f1acf3b6cd156c 100644 |
| --- a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.h |
| +++ b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.h |
| @@ -7,6 +7,16 @@ |
| #include "base/macros.h" |
| #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" |
| +#include "components/ukm/ukm_entry_builder.h" |
| +#include "content/public/browser/global_request_id.h" |
| + |
| +namespace internal { |
| + |
| +// Name constants are exposed here so they can be referenced from tests. |
| +extern const char kUkmPageLoadEventName[]; |
| +extern const char kUkmFirstContentfulPaintName[]; |
| + |
| +} // namespace internal |
| // If URL-Keyed-Metrics (UKM) is enabled in the system, this is used to |
| // populate it with top-level page-load metrics. |
| @@ -18,6 +28,7 @@ class UkmPageLoadMetricsObserver |
| CreateIfNeeded(); |
| UkmPageLoadMetricsObserver(); |
| + ~UkmPageLoadMetricsObserver() override; |
| // page_load_metrics::PageLoadMetricsObserver implementation: |
| ObservePolicy OnStart(content::NavigationHandle* navigation_handle, |
| @@ -32,12 +43,21 @@ class UkmPageLoadMetricsObserver |
| const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) override; |
| + void OnFailedProvisionalLoad( |
| + const page_load_metrics::FailedProvisionalLoadInfo& failed_load_info, |
| + const page_load_metrics::PageLoadExtraInfo& extra_info) override; |
| + |
| void OnComplete(const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) override; |
| private: |
| - void SendMetricsToUkm(const page_load_metrics::PageLoadTiming& timing, |
| - const page_load_metrics::PageLoadExtraInfo& info); |
| + void AddTimingMetrics(const page_load_metrics::PageLoadTiming& timing); |
| + void AddPageLoadExtraInfoMetrics( |
| + const page_load_metrics::PageLoadExtraInfo& info, |
| + base::TimeTicks app_background_time); |
| + |
| + const content::GlobalRequestID global_request_id_; |
| + std::unique_ptr<ukm::UkmEntryBuilder> builder_; |
|
Zhen Wang
2017/03/01 19:18:00
Builder will only add UkmEntry to UkmService when
|
| DISALLOW_COPY_AND_ASSIGN(UkmPageLoadMetricsObserver); |
| }; |