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

Unified Diff: chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc

Issue 2874193003: [PageLoadMetrics] Ignore ad frames with no content (Closed)
Patch Set: Rebase Created 3 years, 7 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/observers/ads_page_load_metrics_observer.cc
diff --git a/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc
index cb4ad34eb17a622ce00c2c42f48422321c4145cb..b1b2c49c5f60fb9edf8e7bbd0a28d2fd7ce9a879 100644
--- a/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc
+++ b/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc
@@ -117,8 +117,6 @@ AdsPageLoadMetricsObserver::OnDidFinishSubFrameNavigation(
UMA_HISTOGRAM_BOOLEAN(
"PageLoad.Clients.Ads.Google.Navigations.NonAdFrameRenavigatedToAd",
FrameIsAd(navigation_handle));
- } else if (navigation_handle->IsParentMainFrame()) {
- top_level_subframe_count_ += 1;
}
// Determine who the parent frame's ad ancestor is.
@@ -135,9 +133,6 @@ AdsPageLoadMetricsObserver::OnDidFinishSubFrameNavigation(
ad_frames_data_[frame_tree_node_id] = ad_data;
- if (navigation_handle->IsParentMainFrame() && ad_data)
- top_level_ad_frame_count_ += 1;
-
ProcessOngoingNavigationResource(frame_tree_node_id);
return CONTINUE_OBSERVING;
}
@@ -215,18 +210,15 @@ void AdsPageLoadMetricsObserver::RecordHistograms() {
if (page_bytes_ == 0)
return;
+ int non_zero_ad_frames = 0;
size_t total_ad_frame_bytes = 0;
size_t uncached_ad_frame_bytes = 0;
- UMA_HISTOGRAM_COUNTS_1000(
- "PageLoad.Clients.Ads.Google.FrameCounts.AnyParentFrame.AdFrames",
- ad_frames_data_storage_.size());
-
- // Don't post UMA for pages that don't have ads.
- if (ad_frames_data_storage_.empty())
- return;
-
for (const AdFrameData& ad_frame_data : ad_frames_data_storage_) {
+ if (ad_frame_data.frame_bytes == 0)
+ continue;
+
+ non_zero_ad_frames += 1;
total_ad_frame_bytes += ad_frame_data.frame_bytes;
uncached_ad_frame_bytes += ad_frame_data.frame_bytes_uncached;
@@ -236,24 +228,18 @@ void AdsPageLoadMetricsObserver::RecordHistograms() {
PAGE_BYTES_HISTOGRAM(
"PageLoad.Clients.Ads.Google.Bytes.AdFrames.PerFrame.Network",
ad_frame_data.frame_bytes_uncached);
- if (ad_frame_data.frame_bytes > 0) {
- UMA_HISTOGRAM_PERCENTAGE(
- "PageLoad.Clients.Ads.Google.Bytes.AdFrames.PerFrame.PercentNetwork",
- ad_frame_data.frame_bytes_uncached * 100 / ad_frame_data.frame_bytes);
- }
+ UMA_HISTOGRAM_PERCENTAGE(
+ "PageLoad.Clients.Ads.Google.Bytes.AdFrames.PerFrame.PercentNetwork",
+ ad_frame_data.frame_bytes_uncached * 100 / ad_frame_data.frame_bytes);
}
UMA_HISTOGRAM_COUNTS_1000(
- "PageLoad.Clients.Ads.Google.FrameCounts.MainFrameParent.TotalFrames",
- top_level_subframe_count_);
- UMA_HISTOGRAM_COUNTS_1000(
- "PageLoad.Clients.Ads.Google.FrameCounts.MainFrameParent.AdFrames",
- top_level_ad_frame_count_);
+ "PageLoad.Clients.Ads.Google.FrameCounts.AnyParentFrame.AdFrames",
+ non_zero_ad_frames);
- DCHECK_LT(0, top_level_subframe_count_); // Because ad frames isn't empty.
- UMA_HISTOGRAM_PERCENTAGE(
- "PageLoad.Clients.Ads.Google.FrameCounts.MainFrameParent.PercentAdFrames",
- top_level_ad_frame_count_ * 100 / top_level_subframe_count_);
+ // Don't post UMA for pages that don't have ads.
+ if (non_zero_ad_frames == 0)
+ return;
PAGE_BYTES_HISTOGRAM(
"PageLoad.Clients.Ads.Google.Bytes.NonAdFrames.Aggregate.Total",

Powered by Google App Engine
This is Rietveld 408576698