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

Side by Side Diff: content/renderer/input/render_widget_input_handler.cc

Issue 1955643002: Add UMA metric to track the time saved on making events passive during fling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add one more histogram Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/input/render_widget_input_handler.h" 5 #include "content/renderer/input/render_widget_input_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 325
326 // TODO(dtapuska): Use the input_event.timeStampSeconds as the start 326 // TODO(dtapuska): Use the input_event.timeStampSeconds as the start
327 // ideally this should be when the event was sent by the compositor to the 327 // ideally this should be when the event was sent by the compositor to the
328 // renderer. crbug.com/565348 328 // renderer. crbug.com/565348
329 if (input_event.type == WebInputEvent::TouchStart || 329 if (input_event.type == WebInputEvent::TouchStart ||
330 input_event.type == WebInputEvent::TouchMove || 330 input_event.type == WebInputEvent::TouchMove ||
331 input_event.type == WebInputEvent::TouchEnd) { 331 input_event.type == WebInputEvent::TouchEnd) {
332 LogPassiveEventListenersUma( 332 LogPassiveEventListenersUma(
333 processed, static_cast<const WebTouchEvent&>(input_event).dispatchType, 333 processed, static_cast<const WebTouchEvent&>(input_event).dispatchType,
334 input_event.timeStampSeconds, latency_info); 334 input_event.timeStampSeconds, latency_info);
335
336 if (base::TimeTicks::IsHighResolution() &&
337 input_event.type == WebInputEvent::TouchStart &&
338 static_cast<const WebTouchEvent&>(input_event).dispatchType ==
339 WebInputEvent::Blocking) {
340 base::TimeTicks now = base::TimeTicks::Now();
341 if (static_cast<const WebTouchEvent&>(input_event)
tdresser 2016/05/12 12:11:32 Let's only perform the cast once, as soon as we kn
342 .dispatchedDuringFling) {
343 UMA_HISTOGRAM_CUSTOM_COUNTS(
344 "Event.Touch.TouchStartDuringFlingLatency",
345 GetEventLatencyMicros(input_event.timeStampSeconds, now), 1,
346 10000000, 100);
347 } else {
348 UMA_HISTOGRAM_CUSTOM_COUNTS(
349 "Event.Touch.TouchStartNoFlingLatency",
tdresser 2016/05/12 12:11:32 TouchStartNoFlingLatency -> TouchStartOutsideFling
350 GetEventLatencyMicros(input_event.timeStampSeconds, now), 1,
351 10000000, 100);
352 }
353 }
335 } else if (input_event.type == WebInputEvent::MouseWheel) { 354 } else if (input_event.type == WebInputEvent::MouseWheel) {
336 LogPassiveEventListenersUma( 355 LogPassiveEventListenersUma(
337 processed, 356 processed,
338 static_cast<const WebMouseWheelEvent&>(input_event).dispatchType, 357 static_cast<const WebMouseWheelEvent&>(input_event).dispatchType,
339 input_event.timeStampSeconds, latency_info); 358 input_event.timeStampSeconds, latency_info);
340 } 359 }
341 360
342 // If this RawKeyDown event corresponds to a browser keyboard shortcut and 361 // If this RawKeyDown event corresponds to a browser keyboard shortcut and
343 // it's not processed by webkit, then we need to suppress the upcoming Char 362 // it's not processed by webkit, then we need to suppress the upcoming Char
344 // events. 363 // events.
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
547 if (pending_input_event_ack_) { 566 if (pending_input_event_ack_) {
548 TRACE_EVENT_ASYNC_END0("input", 567 TRACE_EVENT_ASYNC_END0("input",
549 "RenderWidgetInputHandler::ThrottledInputEventAck", 568 "RenderWidgetInputHandler::ThrottledInputEventAck",
550 pending_input_event_ack_.get()); 569 pending_input_event_ack_.get());
551 delegate_->OnInputEventAck(std::move(pending_input_event_ack_)); 570 delegate_->OnInputEventAck(std::move(pending_input_event_ack_));
552 } 571 }
553 total_input_handling_time_this_frame_ = base::TimeDelta(); 572 total_input_handling_time_this_frame_ = base::TimeDelta();
554 } 573 }
555 574
556 } // namespace content 575 } // namespace content
OLDNEW
« 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