OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_RENDERER_RENDERER_LOAD_TRAC
KER_H_ | 5 #ifndef THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_RENDERER_RENDERER_LOAD_TRAC
KER_H_ |
6 #define THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_RENDERER_RENDERER_LOAD_TRAC
KER_H_ | 6 #define THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_RENDERER_RENDERER_LOAD_TRAC
KER_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 base::TimeDelta waiting_period); | 29 base::TimeDelta waiting_period); |
30 ~ThreadLoadTracker(); | 30 ~ThreadLoadTracker(); |
31 | 31 |
32 void Pause(base::TimeTicks now); | 32 void Pause(base::TimeTicks now); |
33 void Resume(base::TimeTicks now); | 33 void Resume(base::TimeTicks now); |
34 | 34 |
35 void RecordTaskTime(base::TimeTicks start_time, base::TimeTicks end_time); | 35 void RecordTaskTime(base::TimeTicks start_time, base::TimeTicks end_time); |
36 | 36 |
37 void RecordIdle(base::TimeTicks now); | 37 void RecordIdle(base::TimeTicks now); |
38 | 38 |
39 // TODO(altimin): Count wake_ups. | 39 // TODO(altimin): Count wakeups. |
40 | 40 |
41 private: | 41 private: |
42 enum class ThreadState { ACTIVE, PAUSED }; | 42 enum class ThreadState { ACTIVE, PAUSED }; |
43 | 43 |
44 enum class TaskState { TASK_RUNNING, IDLE }; | 44 enum class TaskState { TASK_RUNNING, IDLE }; |
45 | 45 |
46 // This function advances |time_| to |now|, calling |callback_| | 46 // This function advances |time_| to |now|, calling |callback_| |
47 // in the process (multiple times if needed). | 47 // in the process (multiple times if needed). |
48 void Advance(base::TimeTicks now, TaskState task_state); | 48 void Advance(base::TimeTicks now, TaskState task_state); |
49 | 49 |
(...skipping 19 matching lines...) Expand all Loading... |
69 | 69 |
70 Callback callback_; | 70 Callback callback_; |
71 | 71 |
72 DISALLOW_COPY_AND_ASSIGN(ThreadLoadTracker); | 72 DISALLOW_COPY_AND_ASSIGN(ThreadLoadTracker); |
73 }; | 73 }; |
74 | 74 |
75 } // namespace scheduler | 75 } // namespace scheduler |
76 } // namespace blink | 76 } // namespace blink |
77 | 77 |
78 #endif // THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_RENDERER_RENDERER_LOAD_T
RACKER_H_ | 78 #endif // THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_RENDERER_RENDERER_LOAD_T
RACKER_H_ |
OLD | NEW |