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 14d1318e9080afb7bb2491b718997df148c8367f..2ecce01554539e91d8b92435803fdcef96589e75 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 |
@@ -222,6 +222,27 @@ const char kHistogramTotalBytes[] = "PageLoad.Experimental.Bytes.Total"; |
const char kHistogramNetworkBytes[] = "PageLoad.Experimental.Bytes.Network"; |
const char kHistogramCacheBytes[] = "PageLoad.Experimental.Bytes.Cache"; |
+const char kHistogramLoadTypeTotalBytesForwardBack[] = |
+ "PageLoad.Experimental.Bytes.Total.LoadType.ForwardBackNavigation"; |
+const char kHistogramLoadTypeNetworkBytesForwardBack[] = |
+ "PageLoad.Experimental.Bytes.Network.LoadType.ForwardBackNavigation"; |
+const char kHistogramLoadTypeCacheBytesForwardBack[] = |
+ "PageLoad.Experimental.Bytes.Cache.LoadType.ForwardBackNavigation"; |
+ |
+const char kHistogramLoadTypeTotalBytesReload[] = |
+ "PageLoad.Experimental.Bytes.Total.LoadType.Reload"; |
+const char kHistogramLoadTypeNetworkBytesReload[] = |
+ "PageLoad.Experimental.Bytes.Network.LoadType.Reload"; |
+const char kHistogramLoadTypeCacheBytesReload[] = |
+ "PageLoad.Experimental.Bytes.Cache.LoadType.Reload"; |
+ |
+const char kHistogramLoadTypeTotalBytesNewNavigation[] = |
+ "PageLoad.Experimental.Bytes.Total.LoadType.NewNavigation"; |
+const char kHistogramLoadTypeNetworkBytesNewNavigation[] = |
+ "PageLoad.Experimental.Bytes.Network.LoadType.NewNavigation"; |
+const char kHistogramLoadTypeCacheBytesNewNavigation[] = |
+ "PageLoad.Experimental.Bytes.Cache.LoadType.NewNavigation"; |
+ |
const char kHistogramTotalCompletedResources[] = |
"PageLoad.Experimental.CompletedResources.Total"; |
const char kHistogramNetworkCompletedResources[] = |
@@ -728,6 +749,37 @@ void CorePageLoadMetricsObserver::RecordByteAndResourceHistograms( |
PAGE_BYTES_HISTOGRAM(internal::kHistogramCacheBytes, cache_bytes_); |
PAGE_BYTES_HISTOGRAM(internal::kHistogramTotalBytes, total_bytes); |
+ switch (GetPageLoadType(transition_)) { |
+ case LOAD_TYPE_RELOAD: |
+ PAGE_BYTES_HISTOGRAM(internal::kHistogramLoadTypeNetworkBytesReload, |
+ network_bytes_); |
+ PAGE_BYTES_HISTOGRAM(internal::kHistogramLoadTypeCacheBytesReload, |
+ cache_bytes_); |
+ PAGE_BYTES_HISTOGRAM(internal::kHistogramLoadTypeTotalBytesReload, |
+ total_bytes); |
+ break; |
+ case LOAD_TYPE_FORWARD_BACK: |
+ PAGE_BYTES_HISTOGRAM(internal::kHistogramLoadTypeNetworkBytesForwardBack, |
+ network_bytes_); |
+ PAGE_BYTES_HISTOGRAM(internal::kHistogramLoadTypeCacheBytesForwardBack, |
+ cache_bytes_); |
+ PAGE_BYTES_HISTOGRAM(internal::kHistogramLoadTypeTotalBytesForwardBack, |
+ total_bytes); |
+ break; |
+ case LOAD_TYPE_NEW_NAVIGATION: |
+ PAGE_BYTES_HISTOGRAM( |
+ internal::kHistogramLoadTypeNetworkBytesNewNavigation, |
+ network_bytes_); |
+ PAGE_BYTES_HISTOGRAM(internal::kHistogramLoadTypeCacheBytesNewNavigation, |
+ cache_bytes_); |
+ PAGE_BYTES_HISTOGRAM(internal::kHistogramLoadTypeTotalBytesNewNavigation, |
+ total_bytes); |
+ break; |
+ case LOAD_TYPE_NONE: |
+ NOTREACHED(); |
+ break; |
+ } |
+ |
PAGE_RESOURCE_COUNT_HISTOGRAM(internal::kHistogramNetworkCompletedResources, |
num_network_resources_); |
PAGE_RESOURCE_COUNT_HISTOGRAM(internal::kHistogramCacheCompletedResources, |