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

Unified Diff: ui/base/x/x11_util.cc

Issue 13529009: Add UMA metrics for measuring number of coalesed events and their latency. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/x/x11_util.cc
diff --git a/ui/base/x/x11_util.cc b/ui/base/x/x11_util.cc
index 35e27636d94ecc64277e39bb17b6605d9166882c..844be0a80358aa63467493da1f476a127a9d0e80 100644
--- a/ui/base/x/x11_util.cc
+++ b/ui/base/x/x11_util.cc
@@ -28,6 +28,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/singleton.h"
#include "base/message_loop.h"
+#include "base/metrics/histogram.h"
#include "base/string_number_conversions.h"
#include "base/string_util.h"
#include "base/stringprintf.h"
@@ -564,6 +565,7 @@ int CoalescePendingMotionEvents(const XEvent* xev,
}
#endif
+ base::TimeDelta first_coalesed_time;
while (XPending(display)) {
XEvent next_event;
XPeekEvent(display, &next_event);
@@ -620,6 +622,9 @@ int CoalescePendingMotionEvents(const XEvent* xev,
// Get the event and its cookie data.
XNextEvent(display, last_event);
XGetEventData(display, &last_event->xcookie);
+
+ if (num_coalesed == 0)
+ first_coalesed_time = ui::EventTimeFromNative(last_event);
Rick Byers 2013/04/05 15:30:35 I think the first coalesced event is really xev, w
varunjain 2013/04/05 19:22:58 Done.
++num_coalesed;
continue;
} else {
@@ -629,6 +634,20 @@ int CoalescePendingMotionEvents(const XEvent* xev,
}
break;
}
+ UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.Browser.CoalesedCount",
Rick Byers 2013/04/05 15:30:35 UMA_HISTOGRAM_COUNTS_10000 should be sufficient (5
Rick Byers 2013/04/05 15:30:35 Event.Latency.Browser has an existing common meani
varunjain 2013/04/05 19:22:58 Done.
varunjain 2013/04/05 19:22:58 Done.
+ num_coalesed, 0, 10000, 100);
+ std::string name_for_event = base::StringPrintf(
+ "Event.Latency.Browser.Coalesed.%s",
+ (ui::IsMouseEvent(const_cast<XEvent*>(xev)) ? "Mouse" : "Touch"));
Rick Byers 2013/04/05 15:30:35 Please add a CHECK that verifies all events here a
Rick Byers 2013/04/05 15:30:35 If we're going to separate Mouse and Touch here, t
flackr 2013/04/05 16:10:56 Drive-by, wouldn't it be better / more efficient t
varunjain 2013/04/05 19:22:58 Done.
varunjain 2013/04/05 19:22:58 Done.
varunjain 2013/04/05 19:22:58 Done.
+ base::TimeDelta delta = EventTimeForNow() - first_coalesed_time;
Rick Byers 2013/04/05 15:30:35 The Event.Latency.Browser metrics already track th
varunjain 2013/04/05 19:22:58 Done.
+ base::HistogramBase* counter_for_type =
+ base::Histogram::FactoryGet(
Rick Byers 2013/04/05 15:30:35 Isn't this fully dynamic histogram generation over
DaveMoore 2013/04/05 16:46:15 The macros don't support this...they get confused
varunjain 2013/04/05 19:22:58 Done.
varunjain 2013/04/05 19:22:58 Done.
+ name_for_event,
+ 0,
+ 1000000,
+ 100,
+ base::HistogramBase::kUmaTargetedHistogramFlag);
+ counter_for_type->Add(delta.InMicroseconds());
return num_coalesed;
}
#endif
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698