• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef CONTENT_BROWSER_POWER_PROFILER_POWER_EVENT_H_
6 #define CONTENT_BROWSER_POWER_PROFILER_POWER_EVENT_H_
7 
8 #include "base/time/time.h"
9 
10 namespace content {
11 
12 struct PowerEvent {
13   enum Type {
14     // Total power of SoC. including CPU, GT and others on the chip,
15     // modules which aren't part of the SoC such as the screen are not included.
16     SOC_PACKAGE,
17 
18     // Whole device power.
19     DEVICE,
20 
21     // Keep this at the end.
22     ID_COUNT
23   };
24 
25   Type type;
26 
27   base::TimeTicks time;  // Time that power data was read.
28 
29   // Power value between last event and this one, in watts.
30   // E.g, event1 {t1, v1}; event2 {t2, v2}; event3 {t3, v3}.
31   // Suppose event1 is the first event the observer received, then event2,
32   // event3. Then v2 is the average power from t1 to t2, v3 is the average
33   // power from t2 to t3. v1 should be ignored since event1 only means the
34   // start point of power profiling.
35   double value;
36 };
37 
38 extern const char* kPowerTypeNames[];
39 
40 }  // namespace content
41 
42 #endif  // CONTENT_BROWSER_POWER_PROFILER_POWER_EVENT_H_
43