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

Unified Diff: chrome/browser/prerender/prerender_link_manager.cc

Issue 98603015: Add histograms for prerender rel types. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase to trunk Created 6 years, 10 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
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | tools/metrics/histograms/histograms.xml » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prerender/prerender_link_manager.cc
diff --git a/chrome/browser/prerender/prerender_link_manager.cc b/chrome/browser/prerender/prerender_link_manager.cc
index 30846b4b26e92107e453b4a8dfde977405a489f5..ec6d2ac9cbbbd1bc2a80dc84c46df29319d4bd1c 100644
--- a/chrome/browser/prerender/prerender_link_manager.cc
+++ b/chrome/browser/prerender/prerender_link_manager.cc
@@ -12,6 +12,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/metrics/field_trial.h"
+#include "base/metrics/histogram.h"
#include "chrome/browser/prerender/prerender_contents.h"
#include "chrome/browser/prerender/prerender_handle.h"
#include "chrome/browser/prerender/prerender_manager.h"
@@ -42,7 +43,7 @@ bool ShouldStartRelNextPrerenders() {
return experiment_name.find("Yes") != std::string::npos;
}
-bool ShouldStartPrerender(uint32 rel_types) {
+bool ShouldStartPrerender(const uint32 rel_types) {
const bool should_start_rel_next_prerenders =
ShouldStartRelNextPrerenders();
@@ -55,6 +56,31 @@ bool ShouldStartPrerender(uint32 rel_types) {
return false;
}
+COMPILE_ASSERT(PrerenderRelTypePrerender == 0x1,
+ RelTypeHistogramEnum_must_match_PrerenderRelType);
+COMPILE_ASSERT(PrerenderRelTypeNext == 0x2,
+ RelTypeHistogramEnum_must_match_PrerenderRelType);
+enum RelTypeHistogramEnum {
+ RelTypeHistogramEnumNone = 0,
+ RelTypeHistogramEnumPrerender = PrerenderRelTypePrerender,
+ RelTypeHistogramEnumNext = PrerenderRelTypeNext,
+ RelTypeHistogramEnumPrerenderAndNext =
+ PrerenderRelTypePrerender | PrerenderRelTypeNext,
+ RelTypeHistogramEnumMax,
+};
+
+void RecordLinkManagerAdded(const uint32 rel_types) {
+ const uint32 enum_value = rel_types & (RelTypeHistogramEnumMax - 1);
+ UMA_HISTOGRAM_ENUMERATION("Prerender.RelTypesLinkAdded", enum_value,
+ RelTypeHistogramEnumMax);
+}
+
+void RecordLinkManagerStarting(const uint32 rel_types) {
+ const uint32 enum_value = rel_types & (RelTypeHistogramEnumMax - 1);
+ UMA_HISTOGRAM_ENUMERATION("Prerender.RelTypesLinkStarted", enum_value,
+ RelTypeHistogramEnumMax);
+}
+
void Send(int child_id, IPC::Message* raw_message) {
using content::RenderProcessHost;
scoped_ptr<IPC::Message> own_message(raw_message);
@@ -163,6 +189,7 @@ void PrerenderLinkManager::OnAddPrerender(int launcher_child_id,
render_view_route_id, manager_->GetCurrentTimeTicks(),
prerender_contents);
prerenders_.push_back(prerender);
+ RecordLinkManagerAdded(rel_types);
if (prerender_contents)
pending_prerender_manager_->ObserveLauncher(prerender_contents);
else
@@ -360,6 +387,7 @@ void PrerenderLinkManager::StartPrerenders() {
handle->SetObserver(this);
if (handle->IsPrerendering())
OnPrerenderStart(handle);
+ RecordLinkManagerStarting((*i)->rel_types);
running_launcher_and_render_view_routes.insert(
launcher_and_render_view_route);
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | tools/metrics/histograms/histograms.xml » ('J')

Powered by Google App Engine
This is Rietveld 408576698