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

Side by Side Diff: content/browser/power_profiler/power_profiler_service.h

Issue 106223002: chrome power profiler chrome side changes (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years 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 2013 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_SERVICE_H_
6 #define CONTENT_BROWSER_POWER_PROFILER_SERVICE_H_
7
8 #include <set>
9
10 #include "base/basictypes.h"
11 #include "base/timer/timer.h"
12 #include "content/browser/power_profiler/power_profiler_helper.h"
13 #include "content/browser/power_profiler/power_profiler_host.h"
14
15 namespace content {
16
17 // A class used to monitor the power usage and tell profiler the power data
18 class PowerProfilerService {
19 public:
20 enum Status {
21 UNINITIALIZED, // Unitialized,
22 INITIALIZED, // Initialized, not in profiling
23 PROFILING, // In profiling
24 };
25
26 PowerProfilerService();
27 ~PowerProfilerService();
28
29 // Add and remove an observer.
30 void AddObserver(PowerProfilerHost* observer);
pfeldman 2014/01/09 11:38:58 AddObserver(PowerProfilerObserver*)?
31 void RemoveObserver(PowerProfilerHost* observer);
32 void UpdateResolution();
33
34 void Snapshot();
35 double GetEnergy(PowerEvent::Type);
36
37 static PowerProfilerService* Get();
38 Status status();
Pan 2014/01/18 04:30:37 I'm thinking, Public API of PowerProfilerService s
qsr 2014/01/20 09:16:55 Mostly yes. The only one I would ask about is stat
39
40 private:
41 void Start();
42 void Stop();
43 void ProcessData();
44 void Notify(PowerEvent* buffer, int count);
45 void InitializeDelays();
46
47 void ResetAccumulationEnergies();
48 void AccumulateEnergies(double* energies, int count);
qsr 2014/01/17 11:50:14 All of those methods await an array of the same si
49
50 scoped_ptr<base::OneShotTimer<PowerProfilerService> > query_power_timer_;
qsr 2014/01/17 11:50:14 Why is that a scoped_ptr, instead of an instance v
51
52 size_t delay_; // milliseconds
53 size_t delays_[PowerProfilerHost::TYPE_COUNT]; // kinds of delays
54 Status status_;
55 double accumulated_enegries_[PowerProfilerHost::TYPE_COUNT];
56 std::set<PowerProfilerHost* > observers_;
57
58 scoped_refptr<PowerProfilerHelper> profiler_helper_;
59
60 DISALLOW_COPY_AND_ASSIGN(PowerProfilerService);
61 };
62
63 } // namespace content
64
65 #endif // CONTENT_BROWSER_POWER_PROFILER_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698