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

Unified Diff: components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc

Issue 2600253002: Aggregate DocumentSubresourceFilter counters on page level. (Closed)
Patch Set: Created 4 years 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: components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
index 6417466df43b253a190d3128092632d3b61c913c..bc179d9a90e8d4624c150c28a464ad4b1dbcdc80 100644
--- a/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_driver_factory.cc
@@ -93,10 +93,17 @@ void ContentSubresourceFilterDriverFactory::OnFirstSubresourceLoadDisallowed() {
}
void ContentSubresourceFilterDriverFactory::OnDocumentLoadStatistics(
- base::TimeDelta evaluation_total_wall_duration,
- base::TimeDelta evaluation_total_cpu_duration) {
- evaluation_total_wall_duration_ += evaluation_total_wall_duration;
- evaluation_total_cpu_duration_ += evaluation_total_cpu_duration;
+ const DocumentLoadStatistics& statistics) {
+ page_statistics_.num_loads_total += statistics.num_loads_total;
+ page_statistics_.num_loads_evaluated += statistics.num_loads_evaluated;
+ page_statistics_.num_loads_matching_rules +=
+ statistics.num_loads_matching_rules;
+ page_statistics_.num_loads_disallowed += statistics.num_loads_disallowed;
+
+ page_statistics_.evaluation_total_wall_duration +=
+ statistics.evaluation_total_wall_duration;
+ page_statistics_.evaluation_total_cpu_duration +=
+ statistics.evaluation_total_cpu_duration;
}
bool ContentSubresourceFilterDriverFactory::IsWhitelisted(
@@ -185,8 +192,7 @@ void ContentSubresourceFilterDriverFactory::DidStartNavigation(
client_->ToggleNotificationVisibility(false);
activation_state_ = ActivationState::DISABLED;
measure_performance_ = false;
- evaluation_total_wall_duration_ = base::TimeDelta();
- evaluation_total_cpu_duration_ = base::TimeDelta();
+ page_statistics_ = DocumentLoadStatistics();
}
}
@@ -222,17 +228,34 @@ void ContentSubresourceFilterDriverFactory::DidFinishLoad(
if (render_frame_host->GetParent())
return;
+ UMA_HISTOGRAM_COUNTS_1000(
+ "SubresourceFilter.PageLoad.NumSubresourceLoads.Total",
+ page_statistics_.num_loads_total);
+ UMA_HISTOGRAM_COUNTS_1000(
+ "SubresourceFilter.PageLoad.NumSubresourceLoads.Evaluated",
+ page_statistics_.num_loads_evaluated);
+ UMA_HISTOGRAM_COUNTS_1000(
+ "SubresourceFilter.PageLoad.NumSubresourceLoads.MatchedRules",
+ page_statistics_.num_loads_matching_rules);
+ UMA_HISTOGRAM_COUNTS_1000(
+ "SubresourceFilter.PageLoad.NumSubresourceLoads.Disallowed",
+ page_statistics_.num_loads_disallowed);
+
if (measure_performance_) {
DCHECK(activation_state_ != ActivationState::DISABLED);
UMA_HISTOGRAM_CUSTOM_MICRO_TIMES(
"SubresourceFilter.PageLoad.SubresourceEvaluation.TotalWallDuration",
- evaluation_total_wall_duration_, base::TimeDelta::FromMicroseconds(1),
- base::TimeDelta::FromSeconds(10), 50);
-
+ page_statistics_.evaluation_total_wall_duration,
+ base::TimeDelta::FromMicroseconds(1), base::TimeDelta::FromSeconds(10),
+ 50);
UMA_HISTOGRAM_CUSTOM_MICRO_TIMES(
"SubresourceFilter.PageLoad.SubresourceEvaluation.TotalCPUDuration",
- evaluation_total_cpu_duration_, base::TimeDelta::FromMicroseconds(1),
- base::TimeDelta::FromSeconds(10), 50);
+ page_statistics_.evaluation_total_cpu_duration,
+ base::TimeDelta::FromMicroseconds(1), base::TimeDelta::FromSeconds(10),
+ 50);
+ } else {
+ DCHECK(page_statistics_.evaluation_total_wall_duration.is_zero());
+ DCHECK(page_statistics_.evaluation_total_cpu_duration.is_zero());
}
}
@@ -263,8 +286,7 @@ void ContentSubresourceFilterDriverFactory::ReadyToCommitNavigationInternal(
} else {
activation_state_ = ActivationState::DISABLED;
measure_performance_ = false;
- evaluation_total_wall_duration_ = base::TimeDelta();
- evaluation_total_cpu_duration_ = base::TimeDelta();
+ page_statistics_ = DocumentLoadStatistics();
}
} else {
ActivateForFrameHostIfNeeded(render_frame_host, url);

Powered by Google App Engine
This is Rietveld 408576698