|
|
Chromium Code Reviews
DescriptionReplace DCHECK() upon unexpected x11 event time with a workaround
BUG=611950
Committed: https://crrev.com/905cedbf079a83c048c9cfcf526210efcf7c4abd
Cr-Commit-Position: refs/heads/master@{#397315}
Patch Set 1 : #
Total comments: 4
Patch Set 2 : review comments addressed #
Total comments: 2
Patch Set 3 : bool -> enum, renamed metric #
Total comments: 2
Patch Set 4 : removed enum prefixes, removed enum on the back-end #Patch Set 5 : removed dependency on event_utils, just inline EventTimeForNow() for now #Messages
Total messages: 38 (16 generated)
caseq@chromium.org changed reviewers: + majidvp@chromium.org, sadrul@chromium.org, thestig@chromium.org
Let's use browser time in case we detect x11 time is not using the same time base as TimeTicks. This happens at least in case of xtightvnc, but I guess will also occur in case of a remote x11 server.
Patchset #1 (id:1) has been deleted
The CQ bit was checked by caseq@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1982203002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1982203002/20001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/1982203002/diff/20001/ui/events/x/events_x_ut... File ui/events/x/events_x_utils.cc (right): https://codereview.chromium.org/1982203002/diff/20001/ui/events/x/events_x_ut... ui/events/x/events_x_utils.cc:327: (base::TimeTicks::Now() - base::TimeTicks()).InMilliseconds()); Please use ui::EventTimeForNow() instead. I don't think we should limit these timestamps to milliseconds resolution if we are using TimeTicks::Now(). https://codereview.chromium.org/1982203002/diff/20001/ui/events/x/events_x_ut... ui/events/x/events_x_utils.cc:358: LOG(WARNING) << "Unexpected x11 timestamps, will use browser time instead."; I wonder if it makes sense to also collect UMA metrics for this. I suspect this should not happen very often. But if this turns out to be a large percentage of cases then it can impact the way we interpret our event latency telemetry metrics on Linux. +tdresser@ in case he has opinion one way or another.
tdresser@chromium.org changed reviewers: + tdresser@chromium.org
Let's add a metric recording how often this happens. That way we can ensure that this number is low, and filter this data out if it grows at some point.
caseq@chromium.org changed reviewers: + isherman@chromium.org
+isherman for tools/metrics/OWNERS Comments addressed, ptal. https://codereview.chromium.org/1982203002/diff/20001/ui/events/x/events_x_ut... File ui/events/x/events_x_utils.cc (right): https://codereview.chromium.org/1982203002/diff/20001/ui/events/x/events_x_ut... ui/events/x/events_x_utils.cc:327: (base::TimeTicks::Now() - base::TimeTicks()).InMilliseconds()); On 2016/05/17 13:27:53, majidvp wrote: > Please use ui::EventTimeForNow() instead. > > I don't think we should limit these timestamps to milliseconds resolution if we > are using TimeTicks::Now(). Done. https://codereview.chromium.org/1982203002/diff/20001/ui/events/x/events_x_ut... ui/events/x/events_x_utils.cc:358: LOG(WARNING) << "Unexpected x11 timestamps, will use browser time instead."; On 2016/05/17 13:27:53, majidvp wrote: > I wonder if it makes sense to also collect UMA metrics for this. > > I suspect this should not happen very often. But if this turns out to be a large > percentage of cases then it can impact the way we interpret our event latency > telemetry metrics on Linux. > > +tdresser@ in case he has opinion one way or another. Done.
lgtm with some comment on metric name. https://codereview.chromium.org/1982203002/diff/40001/tools/metrics/histogram... File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/1982203002/diff/40001/tools/metrics/histogram... tools/metrics/histograms/histograms.xml:12570: +<histogram name="Event.X11TimestampsUsable" units="Boolean"> Can we just call it |Event.TimestampsUsable| or |Event.TimestampHasValidTimebase|? I plan to add similar checks for other platforms as well pretty soon.
https://codereview.chromium.org/1982203002/diff/40001/tools/metrics/histogram... File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/1982203002/diff/40001/tools/metrics/histogram... tools/metrics/histograms/histograms.xml:12570: +<histogram name="Event.X11TimestampsUsable" units="Boolean"> nit: please s/units/enum, and use or define more custom-tailored enum labels for this histogram.
Renamed the metric and converted it to enum, ptal.
LGTM % nits: https://codereview.chromium.org/1982203002/diff/60001/tools/metrics/histogram... File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/1982203002/diff/60001/tools/metrics/histogram... tools/metrics/histograms/histograms.xml:69678: + <int value="1" label="Timestamps use valid time base"/> Optional nit: I'd omit the shared "Timestamps use" prefix, for the sake of a smaller left column in the chart that's used to display histograms. https://codereview.chromium.org/1982203002/diff/60001/ui/events/x/events_x_ut... File ui/events/x/events_x_utils.cc (right): https://codereview.chromium.org/1982203002/diff/60001/ui/events/x/events_x_ut... ui/events/x/events_x_utils.cc:371: : UMA_EVENT_TIMESTAMPS_HAVE_VALID_TIMEBASE); nit: No need to use an enum in the C++ code -- you can just log a boolean value here. In my previous comment, I was just asking you to update histograms.xml to provide labels for users viewing the dashboard :)
The CQ bit was checked by caseq@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from majidvp@chromium.org, isherman@chromium.org Link to the patchset: https://codereview.chromium.org/1982203002/#ps80001 (title: "removed enum prefixes, removed enum on the back-end")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1982203002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1982203002/80001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
sadrul, could you please stamp this for ui/events/OWNERS?
The CQ bit was checked by caseq@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1982203002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1982203002/100001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm
LGTM
The CQ bit was checked by caseq@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from majidvp@chromium.org, isherman@chromium.org Link to the patchset: https://codereview.chromium.org/1982203002/#ps100001 (title: "removed dependency on event_utils, just inline EventTimeForNow() for now")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1982203002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1982203002/100001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by thestig@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1982203002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1982203002/100001
Message was sent while issue was closed.
Committed patchset #5 (id:100001)
Message was sent while issue was closed.
Description was changed from ========== Replace DCHECK() upon unexpected x11 event time with a workaround BUG=611950 ========== to ========== Replace DCHECK() upon unexpected x11 event time with a workaround BUG=611950 Committed: https://crrev.com/905cedbf079a83c048c9cfcf526210efcf7c4abd Cr-Commit-Position: refs/heads/master@{#397315} ==========
Message was sent while issue was closed.
Patchset 5 (id:??) landed as https://crrev.com/905cedbf079a83c048c9cfcf526210efcf7c4abd Cr-Commit-Position: refs/heads/master@{#397315} |
