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

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: renames 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..a28d38bbedce2574008d4fe3583f063ee1e51961 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
@@ -8,6 +8,14 @@
#include "base/macros.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_observer.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.
class UkmPageLoadMetricsObserver
@@ -18,6 +26,7 @@ class UkmPageLoadMetricsObserver
CreateIfNeeded();
UkmPageLoadMetricsObserver();
+ ~UkmPageLoadMetricsObserver() override;
// page_load_metrics::PageLoadMetricsObserver implementation:
ObservePolicy OnStart(content::NavigationHandle* navigation_handle,
@@ -32,12 +41,25 @@ 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);
+ // Records page load timing related metrics available in PageLoadTiming, such
+ // as first contentful paint.
+ void RecordTimingMetrics(const page_load_metrics::PageLoadTiming& timing);
+
+ // Records metrics based on the PageLoadExtraInfo struct, as well as updating
+ // the URL.
+ void RecordPageLoadExtraInfoMetrics(
+ const page_load_metrics::PageLoadExtraInfo& info);
+
+ // Unique UKM identifier for the page load we are recording metrics for.
+ const int32_t source_id_;
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