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

Side by Side Diff: ui/events/fraction_of_time_without_user_input_recorder.h

Issue 2751403002: Record the fraction of the time without user input - Aura only (Closed)
Patch Set: Update test. Created 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef UI_EVENTS_IDLE_FRACTION_RECORDER_H_
6 #define UI_EVENTS_IDLE_FRACTION_RECORDER_H_
7
8 #include "base/time/time.h"
9 #include "ui/events/events_base_export.h"
10
11 namespace ui {
12
13 // Receives as input a set of timestamps indicating when events were
14 // received. Reports via UMA the fraction of the time per |window_size_| that
15 // the user was interacting.
16 class EVENTS_BASE_EXPORT FractionOfTimeWithoutUserInputRecorder {
17 public:
18 FractionOfTimeWithoutUserInputRecorder();
19 void RecordEventAtTime(base::TimeTicks start_time);
20
21 protected:
22 // We report the fraction of the time we were idle once per |window_size_|.
23 base::TimeDelta window_size_;
24
25 // Two events within |idle_timeout_| of one another are considered to be in
26 // the same period of user activity.
27 base::TimeDelta idle_timeout_;
sadrul 2017/03/19 00:38:51 Move to private, add protected accessors instead.
tdresser 2017/03/24 14:56:31 I'm modifying these from the unit test (to keep ou
sadrul 2017/03/24 17:29:33 I don't really care strongly either way. (although
tdresser 2017/03/27 18:59:26 Done.
28
29 virtual void RecordActiveInterval(base::TimeTicks start_time,
30 base::TimeTicks end_time);
31
32 virtual void RecordToUma(float idle_fraction);
33
34 private:
35 // Within the current period of length |window_size_|, how long has the user
36 // been active?
37 base::TimeDelta current_window_active_time_;
38 // If the user is currently active, when did they start being active?
39 base::TimeTicks active_duration_start_time_;
40 base::TimeTicks window_start_time_;
41 base::TimeTicks previous_event_end_time_;
42 };
43
44 } // namespace ui
45
46 #endif // UI_EVENTS_IDLE_FRACTION_RECORDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698