Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1490)

Unified Diff: chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.h

Issue 2719823003: Convert first contentful paint logging to the new UKM client API (Closed)
Patch Set: limit to fcp Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
};
« no previous file with comments | « no previous file | chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698