Chromium Code Reviews| Index: chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc |
| diff --git a/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc |
| index bc18f8eb87f25c0f75774b0cd1c503480e675f0b..329f94f9da994c0d36058888183032498efc6906 100644 |
| --- a/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc |
| +++ b/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc |
| @@ -188,102 +188,111 @@ void DocumentWritePageLoadMetricsObserver:: |
| LogDocumentWriteEvaluatorFirstContentfulPaint( |
| const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) { |
| - if (WasStartedInForegroundEventInForeground(timing.first_contentful_paint, |
| - info)) { |
| + if (WasStartedInForegroundOptionalEventInForeground( |
| + timing.first_contentful_paint, info)) { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteFirstContentfulPaintImmediate, |
| - timing.first_contentful_paint); |
| + timing.first_contentful_paint.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteParseStartToFirstContentfulPaintImmediate, |
| - timing.first_contentful_paint - timing.parse_start); |
| + timing.first_contentful_paint.value() - timing.parse_start.value()); |
| } else { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteFirstContentfulPaintImmediate, |
| - timing.first_contentful_paint); |
| + timing.first_contentful_paint.value()); |
| } |
| } |
| void DocumentWritePageLoadMetricsObserver::LogDocumentWriteEvaluatorParseStop( |
| const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) { |
| - base::TimeDelta parse_duration = timing.parse_stop - timing.parse_start; |
| - if (WasStartedInForegroundEventInForeground(timing.parse_stop, info)) { |
| + base::TimeDelta parse_duration = |
| + timing.parse_stop.value() - timing.parse_start.value(); |
| + if (WasStartedInForegroundOptionalEventInForeground(timing.parse_stop, |
| + info)) { |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteParseDurationImmediate, |
| parse_duration); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteParseBlockedOnScriptImmediate, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kHistogramDocWriteParseBlockedOnScriptLoadDocumentWriteImmediate, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } else { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteParseDurationImmediate, |
| parse_duration); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteParseBlockedOnScriptImmediate, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kBackgroundHistogramDocWriteParseBlockedOnScriptLoadDocumentWriteImmediate, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } |
| } |
| void DocumentWritePageLoadMetricsObserver::LogDocumentWriteEvaluatorData( |
| const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) { |
| - bool foreground_paint = WasStartedInForegroundEventInForeground( |
| + bool foreground_paint = WasStartedInForegroundOptionalEventInForeground( |
| timing.first_contentful_paint, info); |
| - if (!timing.first_contentful_paint.is_zero()) { |
| + if (timing.first_contentful_paint) { |
| if (foreground_paint) { |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteFirstContentfulPaint, |
| - timing.first_contentful_paint); |
| + timing.first_contentful_paint.value()); |
| } else { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteFirstContentfulPaint, |
| - timing.first_contentful_paint); |
| + timing.first_contentful_paint.value()); |
| } |
| } |
| // Log parse based metrics. |
| - if (!timing.parse_start.is_zero()) { |
| + if (timing.parse_start) { |
|
shivanisha
2016/07/07 15:38:57
nit: Early return from here if !timing.parse_start
Bryan McQuade
2016/07/08 18:39:35
Good call, done
|
| if (foreground_paint) { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteParseStartToFirstContentfulPaint, |
| - timing.first_contentful_paint - timing.parse_start); |
| + timing.first_contentful_paint.value() - timing.parse_start.value()); |
| } |
| if (WasParseInForeground(timing.parse_start, timing.parse_stop, info)) { |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteParseBlockedOnScript, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteParseBlockedOnScriptLoadDocumentWrite, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } else { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteParseBlockedOnScript, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kBackgroundHistogramDocWriteParseBlockedOnScriptLoadDocumentWrite, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } |
| // These metrics require a full parse. |
| - if (!timing.parse_stop.is_zero()) { |
| - base::TimeDelta parse_duration = timing.parse_stop - timing.parse_start; |
| - if (WasStartedInForegroundEventInForeground(timing.parse_stop, info)) { |
| + if (timing.parse_stop) { |
|
shivanisha
2016/07/07 15:38:57
nit: Early return from here if !timing.parse_stop
Bryan McQuade
2016/07/08 18:39:35
Done
|
| + base::TimeDelta parse_duration = |
| + timing.parse_stop.value() - timing.parse_start.value(); |
| + if (WasStartedInForegroundOptionalEventInForeground(timing.parse_stop, |
| + info)) { |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteParseDuration, |
| parse_duration); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteParseBlockedOnScriptParseComplete, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kHistogramDocWriteParseBlockedOnScriptLoadDocumentWriteParseComplete, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } else { |
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramDocWriteParseDuration, |
| parse_duration); |
| @@ -296,29 +305,32 @@ void DocumentWritePageLoadMetricsObserver:: |
| LogDocumentWriteBlockFirstContentfulPaint( |
| const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) { |
| - if (WasStartedInForegroundEventInForeground(timing.first_contentful_paint, |
| - info)) { |
| + if (WasStartedInForegroundOptionalEventInForeground( |
| + timing.first_contentful_paint, info)) { |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kHistogramDocWriteBlockParseStartToFirstContentfulPaintImmediate, |
| - timing.first_contentful_paint - timing.parse_start); |
| + timing.first_contentful_paint.value() - timing.parse_start.value()); |
| } |
| } |
| void DocumentWritePageLoadMetricsObserver::LogDocumentWriteBlockParseStop( |
| const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) { |
| - base::TimeDelta parse_duration = timing.parse_stop - timing.parse_start; |
| - if (WasStartedInForegroundEventInForeground(timing.parse_stop, info)) { |
| + base::TimeDelta parse_duration = |
| + timing.parse_stop.value() - timing.parse_start.value(); |
| + if (WasStartedInForegroundOptionalEventInForeground(timing.parse_stop, |
| + info)) { |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteBlockParseDurationImmediate, |
| parse_duration); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteBlockParseBlockedOnScriptImmediate, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kHistogramDocWriteBlockParseBlockedOnScriptLoadDocumentWriteImmediate, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } else { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteBlockParseDurationImmediate, |
| @@ -326,68 +338,75 @@ void DocumentWritePageLoadMetricsObserver::LogDocumentWriteBlockParseStop( |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kBackgroundHistogramDocWriteBlockParseBlockedOnScriptImmediate, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kBackgroundDocWriteBlockParseBlockedOnScriptLoadDocumentWriteImmediate, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } |
| } |
| void DocumentWritePageLoadMetricsObserver::LogDocumentWriteBlockData( |
| const page_load_metrics::PageLoadTiming& timing, |
| const page_load_metrics::PageLoadExtraInfo& info) { |
| - if (timing.parse_start.is_zero()) { |
| + if (!timing.parse_start) { |
| return; |
| } |
| - if (WasStartedInForegroundEventInForeground(timing.first_contentful_paint, |
| - info)) { |
| + if (WasStartedInForegroundOptionalEventInForeground( |
| + timing.first_contentful_paint, info)) { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, |
| - timing.first_contentful_paint - timing.parse_start); |
| + timing.first_contentful_paint.value() - timing.parse_start.value()); |
| } |
| if (WasParseInForeground(timing.parse_start, timing.parse_stop, info)) { |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteBlockParseBlockedOnScript, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteBlockParseBlockedOnScriptLoadDocumentWrite, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } else { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteBlockParseBlockedOnScript, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundDocWriteBlockParseBlockedOnScriptLoadDocumentWrite, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } |
| - if (timing.parse_stop.is_zero()) { |
| + if (!timing.parse_stop) { |
| return; |
| } |
| - base::TimeDelta parse_duration = timing.parse_stop - timing.parse_start; |
| - if (WasStartedInForegroundEventInForeground(timing.parse_stop, info)) { |
| + base::TimeDelta parse_duration = |
| + timing.parse_stop.value() - timing.parse_start.value(); |
| + if (WasStartedInForegroundOptionalEventInForeground(timing.parse_stop, |
| + info)) { |
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteBlockParseDuration, |
| parse_duration); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kHistogramDocWriteBlockParseBlockedOnScriptParseComplete, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kDocWriteBlockParseBlockedOnScriptLoadDocumentWriteParseComplete, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } else { |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteBlockParseDuration, |
| parse_duration); |
| PAGE_LOAD_HISTOGRAM( |
| internal::kBackgroundHistogramDocWriteBlockParseBlockedOnScriptComplete, |
| - timing.parse_blocked_on_script_load_duration); |
| + timing.parse_blocked_on_script_load_duration.value()); |
| PAGE_LOAD_HISTOGRAM( |
| internal:: |
| kBackgroundDocWriteBlockParseBlockedOnScriptLoadDocWriteComplete, |
| - timing.parse_blocked_on_script_load_from_document_write_duration); |
| + timing.parse_blocked_on_script_load_from_document_write_duration |
| + .value()); |
| } |
| } |