OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 CHROME_BROWSER_CHROMEOS_POWER_CPU_DATA_COLLECTOR_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_POWER_CPU_DATA_COLLECTOR_H_ |
6 #define CHROME_BROWSER_CHROMEOS_POWER_CPU_DATA_COLLECTOR_H_ | 6 #define CHROME_BROWSER_CHROMEOS_POWER_CPU_DATA_COLLECTOR_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 // SampleCpuStateOnBlockingPool to |cpu_idle_state_data_| and | 77 // SampleCpuStateOnBlockingPool to |cpu_idle_state_data_| and |
78 // |cpu_freq_state_data_|. Since UI is the consumer of CPU idle and freq data, | 78 // |cpu_freq_state_data_|. Since UI is the consumer of CPU idle and freq data, |
79 // this function should run on the UI thread. | 79 // this function should run on the UI thread. |
80 void SaveCpuStateSamplesOnUIThread( | 80 void SaveCpuStateSamplesOnUIThread( |
81 const int* cpu_count, | 81 const int* cpu_count, |
82 const std::vector<std::string>* cpu_idle_state_names, | 82 const std::vector<std::string>* cpu_idle_state_names, |
83 const std::vector<StateOccupancySample>* idle_samples, | 83 const std::vector<StateOccupancySample>* idle_samples, |
84 const std::vector<std::string>* cpu_freq_state_names, | 84 const std::vector<std::string>* cpu_freq_state_names, |
85 const std::vector<StateOccupancySample>* freq_samples); | 85 const std::vector<StateOccupancySample>* freq_samples); |
86 | 86 |
87 base::RepeatingTimer<CpuDataCollector> timer_; | 87 base::RepeatingTimer timer_; |
88 | 88 |
89 // Names of the idle states. | 89 // Names of the idle states. |
90 std::vector<std::string> cpu_idle_state_names_; | 90 std::vector<std::string> cpu_idle_state_names_; |
91 | 91 |
92 // The deque at index <i> in the vector corresponds to the idle state | 92 // The deque at index <i> in the vector corresponds to the idle state |
93 // occupancy data of CPU<i>. | 93 // occupancy data of CPU<i>. |
94 std::vector<StateOccupancySampleDeque> cpu_idle_state_data_; | 94 std::vector<StateOccupancySampleDeque> cpu_idle_state_data_; |
95 | 95 |
96 // Names of the freq states. | 96 // Names of the freq states. |
97 std::vector<std::string> cpu_freq_state_names_; | 97 std::vector<std::string> cpu_freq_state_names_; |
98 | 98 |
99 // The deque at index <i> in the vector corresponds to the frequency state | 99 // The deque at index <i> in the vector corresponds to the frequency state |
100 // occupancy data of CPU<i>. | 100 // occupancy data of CPU<i>. |
101 std::vector<StateOccupancySampleDeque> cpu_freq_state_data_; | 101 std::vector<StateOccupancySampleDeque> cpu_freq_state_data_; |
102 | 102 |
103 // The number of CPUs on the system. This value is read from the sysfs, and | 103 // The number of CPUs on the system. This value is read from the sysfs, and |
104 // hence should be read/written to only from the blocking pool. | 104 // hence should be read/written to only from the blocking pool. |
105 int cpu_count_; | 105 int cpu_count_; |
106 | 106 |
107 base::WeakPtrFactory<CpuDataCollector> weak_ptr_factory_; | 107 base::WeakPtrFactory<CpuDataCollector> weak_ptr_factory_; |
108 DISALLOW_COPY_AND_ASSIGN(CpuDataCollector); | 108 DISALLOW_COPY_AND_ASSIGN(CpuDataCollector); |
109 }; | 109 }; |
110 | 110 |
111 } // namespace chromeos | 111 } // namespace chromeos |
112 | 112 |
113 #endif // CHROME_BROWSER_CHROMEOS_POWER_CPU_DATA_COLLECTOR_H_ | 113 #endif // CHROME_BROWSER_CHROMEOS_POWER_CPU_DATA_COLLECTOR_H_ |
OLD | NEW |