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

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

Issue 2492793004: Add TimeToScrollUpdateSwapBegin2 in RAPPOR (Closed)
Patch Set: Rebase on top of plumbing 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.cc
diff --git a/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc b/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
index 3d8de093dfb1a32362ef5bc0182aa0073344d8fa..4248999f60bd105c0e1f8249c3c2de3ae6b4a019 100644
--- a/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
+++ b/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
@@ -9,7 +9,10 @@
#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
#include "build/build_config.h"
+#include "components/rappor/public/rappor_utils.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
+#include "content/public/browser/content_browser_client.h"
+#include "content/public/common/content_client.h"
#include "ui/events/blink/web_input_event_traits.h"
using blink::WebGestureEvent;
@@ -238,6 +241,7 @@ void ComputeScrollLatencyHistograms(
}
void ComputeTouchAndWheelScrollLatencyHistograms(
+ RenderWidgetHostImpl* render_widget_host_impl,
const ui::LatencyInfo::LatencyComponent& gpu_swap_begin_component,
const ui::LatencyInfo::LatencyComponent& gpu_swap_end_component,
int64_t latency_component_id,
@@ -279,6 +283,23 @@ void ComputeTouchAndWheelScrollLatencyHistograms(
"Event.Latency.ScrollUpdate." + event_type_name +
".TimeToScrollUpdateSwapBegin2",
original_component, gpu_swap_begin_component);
+
+ rappor::RapporService* rappor_service =
+ GetContentClient()->browser()->GetRapporService();
+ if (!rappor_service || !render_widget_host_impl->delegate())
+ return;
+ std::unique_ptr<rappor::Sample> sample =
+ rappor_service->CreateSample(rappor::UMA_RAPPOR_TYPE);
+ render_widget_host_impl->delegate()->AddDomainInfoToRapporSample(
+ sample.get());
+ sample->SetUInt64Field("Latency",
+ (gpu_swap_begin_component.last_event_time -
+ original_component.first_event_time)
+ .InMicroseconds(),
+ rappor::NO_NOISE);
ncarter (slow) 2016/12/08 17:57:27 Regarding testing, the simplest thing to do would
+ rappor_service->RecordSample(
+ "Event.Latency.ScrollUpdate.Touch.TimeToScrollUpdateSwapBegin2",
tdresser 2016/12/08 18:00:17 Should we add Event.Latency.ScrollBegin.Touch.Time
Navid Zolghadr 2016/12/09 19:13:28 Let me work on adding that and some refactoring be
+ std::move(sample));
}
} else {
// No original component found.
@@ -366,13 +387,15 @@ void AddLatencyInfoComponentIds(LatencyInfo* latency,
} // namespace
-RenderWidgetHostLatencyTracker::RenderWidgetHostLatencyTracker()
+RenderWidgetHostLatencyTracker::RenderWidgetHostLatencyTracker(
+ RenderWidgetHostImpl* render_widget_host_impl)
: last_event_id_(0),
latency_component_id_(0),
device_scale_factor_(1),
has_seen_first_gesture_scroll_update_(false),
multi_finger_gesture_(false),
- touch_start_default_prevented_(false) {}
+ touch_start_default_prevented_(false),
+ render_widget_host_impl(render_widget_host_impl) {}
RenderWidgetHostLatencyTracker::~RenderWidgetHostLatencyTracker() {}
@@ -711,8 +734,8 @@ void RenderWidgetHostLatencyTracker::OnFrameSwapped(
if (source_event_type == ui::SourceEventType::WHEEL ||
source_event_type == ui::SourceEventType::TOUCH) {
ComputeTouchAndWheelScrollLatencyHistograms(
- gpu_swap_begin_component, gpu_swap_end_component, latency_component_id_,
- latency,
+ render_widget_host_impl, gpu_swap_begin_component,
+ gpu_swap_end_component, latency_component_id_, latency,
source_event_type == ui::SourceEventType::WHEEL ? "Wheel" : "Touch");
}

Powered by Google App Engine
This is Rietveld 408576698