| Index: chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc
|
| diff --git a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc
|
| index cc5c8d92380d1f58fa9c2d70d24b47ecb053dcc5..58079b9690d6c9278d3a3f0d693786d1da7f5150 100644
|
| --- a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc
|
| +++ b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc
|
| @@ -168,6 +168,13 @@ const char kHistogramFailedProvisionalLoad[] =
|
| const char kHistogramForegroundToFirstPaint[] =
|
| "PageLoad.PaintTiming.ForegroundToFirstPaint";
|
|
|
| +const char kHistogramCacheRequestPercentParseStop[] =
|
| + "PageLoad.Experimental.Cache.RequestPercent.ParseStop";
|
| +const char kHistogramCacheTotalRequestsParseStop[] =
|
| + "PageLoad.Experimental.Cache.TotalRequests.ParseStop";
|
| +const char kHistogramTotalRequestsParseStop[] =
|
| + "PageLoad.Experimental.TotalRequests.ParseStop";
|
| +
|
| const char kRapporMetricsNameCoarseTiming[] =
|
| "PageLoad.CoarseTiming.NavigationToFirstContentfulPaint";
|
|
|
| @@ -389,6 +396,17 @@ void CorePageLoadMetricsObserver::OnParseStop(
|
| internal::kHistogramParseBlockedOnScriptLoadDocumentWrite,
|
| timing.parse_blocked_on_script_load_from_document_write_duration
|
| .value());
|
| +
|
| + int total_requests = info.cache_requests + info.network_requests;
|
| + if (total_requests) {
|
| + UMA_HISTOGRAM_PERCENTAGE(internal::kHistogramCacheRequestPercentParseStop,
|
| + (100 * info.cache_requests) / total_requests);
|
| + UMA_HISTOGRAM_COUNTS(internal::kHistogramCacheTotalRequestsParseStop,
|
| + info.cache_requests);
|
| + UMA_HISTOGRAM_COUNTS(internal::kHistogramTotalRequestsParseStop,
|
| + info.cache_requests + info.network_requests);
|
| + }
|
| +
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramParseDuration,
|
| parse_duration);
|
|
|