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

Unified Diff: chrome/browser/page_load_metrics/page_load_tracker.h

Issue 2820943002: Add detailed tracking for causes of invalid PageLoadTimings. (Closed)
Patch Set: add tests Created 3 years, 8 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
Index: chrome/browser/page_load_metrics/page_load_tracker.h
diff --git a/chrome/browser/page_load_metrics/page_load_tracker.h b/chrome/browser/page_load_metrics/page_load_tracker.h
index 9d486db8a5122bcd4f92272273d97acc97ab4e70..2760b014c2ed1f689010ca5ea55c4c8d576fa37e 100644
--- a/chrome/browser/page_load_metrics/page_load_tracker.h
+++ b/chrome/browser/page_load_metrics/page_load_tracker.h
@@ -42,6 +42,49 @@ extern const char kAbortChainSizeNewNavigation[];
extern const char kAbortChainSizeNoCommit[];
extern const char kAbortChainSizeSameURL[];
extern const char kPageLoadCompletedAfterAppBackground[];
+extern const char kPageLoadTimingStatus[];
+
+// Used to track the status of PageLoadTimings received from the render process.
+//
+// If you add elements to this enum, make sure you update the enum value in
+// histograms.xml. Only add elements to the end to prevent inconsistencies
+// between versions.
+enum PageLoadTimingStatus {
+ // The PageLoadTiming is valid (all data within the PageLoadTiming is
+ // consistent with expectations).
+ VALID,
+
+ // All remaining status codes are for invalid PageLoadTimings.
+
+ // The PageLoadTiming was empty.
+ INVALID_EMPTY_TIMING,
+
+ // The PageLoadTiming had a null navigation_start.
+ INVALID_NULL_NAVIGATION_START,
+
+ // Script load or execution durations in the PageLoadTiming were too long.
+ INVALID_SCRIPT_LOAD_LONGER_THAN_PARSE,
+ INVALID_SCRIPT_EXEC_LONGER_THAN_PARSE,
+ INVALID_SCRIPT_LOAD_DOC_WRITE_LONGER_THAN_SCRIPT_LOAD,
+ INVALID_SCRIPT_EXEC_DOC_WRITE_LONGER_THAN_SCRIPT_EXEC,
+
+ // The order of two events in the PageLoadTiming was invalid. Either the first
+ // wasn't present when the second was present, or the second was reported as
+ // happening before the first.
+ INVALID_ORDER_RESPONSE_START_PARSE_START,
+ INVALID_ORDER_PARSE_START_PARSE_STOP,
+ INVALID_ORDER_PARSE_STOP_DOM_CONTENT_LOADED,
+ INVALID_ORDER_DOM_CONTENT_LOADED_LOAD,
+ INVALID_ORDER_PARSE_START_FIRST_LAYOUT,
+ INVALID_ORDER_FIRST_LAYOUT_FIRST_PAINT,
+ INVALID_ORDER_FIRST_PAINT_FIRST_TEXT_PAINT,
+ INVALID_ORDER_FIRST_PAINT_FIRST_IMAGE_PAINT,
+ INVALID_ORDER_FIRST_PAINT_FIRST_CONTENTFUL_PAINT,
+ INVALID_ORDER_FIRST_PAINT_FIRST_MEANINGFUL_PAINT,
+
+ // New values should be added before this final entry.
+ LAST_PAGE_LOAD_TIMING_STATUS
+};
} // namespace internal

Powered by Google App Engine
This is Rietveld 408576698