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

Unified Diff: content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc

Issue 2596473002: Add more input metrics to Rappor (Closed)
Patch Set: Update summary 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: content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
diff --git a/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc b/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
index a511ed74e80db421206a205f0d3d0d13c4527063..990b6e6e3bf58fd3c9338f50821dc67ee5bb5a42 100644
--- a/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
+++ b/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
@@ -91,6 +91,27 @@ class RenderWidgetHostLatencyTrackerTest
ResetHistograms();
}
+ void RapporSampleAssert(const char* rappor_name, int count) {
tdresser 2016/12/22 15:17:14 Can this be a method returning an AssertionResult
Navid Zolghadr 2016/12/22 16:58:49 Done.
+ rappor::TestSample::Shadow* sample_obj =
+ test_browser_client_.getTestRapporService()->GetRecordedSampleForMetric(
+ rappor_name);
+ if (count) {
+ EXPECT_NE(nullptr, sample_obj);
+ if (sample_obj) {
+ const auto& domain_it = sample_obj->string_fields.find("Domain");
+ EXPECT_NE(domain_it, sample_obj->string_fields.end());
+ EXPECT_EQ("bar.com", domain_it->second);
+ const auto& latency_it = sample_obj->uint64_fields.find("Latency");
+ EXPECT_NE(latency_it, sample_obj->uint64_fields.end());
+ EXPECT_EQ(rappor::NO_NOISE, latency_it->second.second);
+ }
+ EXPECT_EQ(count,
+ test_browser_client_.getTestRapporService()->GetReportsCount());
+ } else {
+ EXPECT_EQ(nullptr, sample_obj);
+ }
+ }
+
::testing::AssertionResult HistogramSizeEq(const char* histogram_name,
int size) {
uint64_t histogram_size =
@@ -135,6 +156,8 @@ class RenderWidgetHostLatencyTrackerTest
};
TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToFirstScrollHistograms) {
+ const GURL url("http://www.foo.bar.com/subpage/1");
+ contents()->NavigateAndCommit(url);
for (bool rendering_on_main : {false, true}) {
for (bool is_running_navigation_hint_task : {false, true}) {
ResetHistograms();
@@ -160,6 +183,19 @@ TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToFirstScrollHistograms) {
INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
tracker()->OnFrameSwapped(wheel_latency,
is_running_navigation_hint_task);
+
+ // Rappor metrics
tdresser 2016/12/22 15:17:14 Missing . at the end, and elsewhere.
Navid Zolghadr 2016/12/22 16:58:49 Done.
+ RapporSampleAssert(
+ "Event.Latency.ScrollUpdate.Touch."
+ "TimeToScrollUpdateSwapBegin2", 0);
+ RapporSampleAssert(
+ "Event.Latency.ScrollBegin.Touch."
+ "TimeToScrollUpdateSwapBegin2", 0);
+ RapporSampleAssert(
+ "Event.Latency.ScrollBegin.Wheel."
+ "TimeToScrollUpdateSwapBegin2", 2);
+
+ // UMA histograms
EXPECT_TRUE(HistogramSizeEq("Event.Latency.Browser.WheelUI", 1));
EXPECT_TRUE(HistogramSizeEq("Event.Latency.Browser.WheelAcked", 1));
@@ -289,6 +325,8 @@ TEST_F(RenderWidgetHostLatencyTrackerTest, TestWheelToScrollHistograms) {
}
TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToFirstScrollHistograms) {
+ const GURL url("http://www.foo.bar.com/subpage/1");
+ contents()->NavigateAndCommit(url);
for (bool rendering_on_main : {false, true}) {
for (bool is_running_navigation_hint_task : {false, true}) {
ResetHistograms();
@@ -338,6 +376,18 @@ TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToFirstScrollHistograms) {
is_running_navigation_hint_task);
}
+ // Rappor metrics
+ RapporSampleAssert(
+ "Event.Latency.ScrollUpdate.Touch."
+ "TimeToScrollUpdateSwapBegin2", 0);
+ RapporSampleAssert(
+ "Event.Latency.ScrollBegin.Touch."
+ "TimeToScrollUpdateSwapBegin2", 2);
+ RapporSampleAssert(
+ "Event.Latency.ScrollBegin.Wheel."
+ "TimeToScrollUpdateSwapBegin2", 0);
+
+ // UMA histograms
EXPECT_TRUE(HistogramSizeEq("Event.Latency.Browser.TouchUI", 1));
EXPECT_TRUE(HistogramSizeEq("Event.Latency.Browser.TouchAcked", 1));
EXPECT_TRUE(HistogramSizeEq(
@@ -473,21 +523,15 @@ TEST_F(RenderWidgetHostLatencyTrackerTest, TestTouchToScrollHistograms) {
}
// Rappor metrics
- rappor::TestSample::Shadow* sample_obj =
- test_browser_client_.getTestRapporService()
- ->GetRecordedSampleForMetric(
- "Event.Latency.ScrollUpdate.Touch."
- "TimeToScrollUpdateSwapBegin2");
- EXPECT_NE(nullptr, sample_obj);
- const auto& domain_it = sample_obj->string_fields.find("Domain");
- EXPECT_NE(domain_it, sample_obj->string_fields.end());
- EXPECT_EQ("bar.com", domain_it->second);
- const auto& latency_it = sample_obj->uint64_fields.find("Latency");
- EXPECT_NE(latency_it, sample_obj->uint64_fields.end());
- EXPECT_EQ(rappor::NO_NOISE, latency_it->second.second);
-
- EXPECT_EQ(2,
- test_browser_client_.getTestRapporService()->GetReportsCount());
+ RapporSampleAssert(
+ "Event.Latency.ScrollUpdate.Touch."
+ "TimeToScrollUpdateSwapBegin2", 2);
+ RapporSampleAssert(
+ "Event.Latency.ScrollBegin.Touch."
+ "TimeToScrollUpdateSwapBegin2", 0);
+ RapporSampleAssert(
+ "Event.Latency.ScrollBegin.Wheel."
+ "TimeToScrollUpdateSwapBegin2", 0);
// UMA histograms
EXPECT_TRUE(HistogramSizeEq(
« no previous file with comments | « content/browser/renderer_host/input/render_widget_host_latency_tracker.cc ('k') | tools/metrics/rappor/rappor.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698