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

Side by Side Diff: content/browser/power_profiler/Intel/power_data_provider_ia_win.cc

Issue 106223002: chrome power profiler chrome side changes (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 6 years, 11 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 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 #include "base/logging.h"
6 #include "content/browser/power_profiler/Intel/power_data_provider_ia.h"
7
8 namespace content {
9
10 bool PowerDataProviderIA::GetData(PowerEvent* data) {
11 if (!energy_lib_.ReadSample())
12 return false;
13
14 // get SoC package power
15 double package_power = 0.0;
16 double power[3];
17 int nData;
18 for (int i = 0; i < sockets_number_; i++) {
19 if (power_msr_ids_[PowerEvent::SOC_PACKAGE] == -1)
20 break;
21
22 bool code = energy_lib_.GetPowerData(i,
23 power_msr_ids_[PowerEvent::SOC_PACKAGE], power, &nData);
24 package_power += power[0];
25 }
26
27 data->type = PowerEvent::SOC_PACKAGE;
28 data->value = package_power;
29 data->time = base::TimeTicks::Now();
30
31 return true;
32 }
33
34 bool PowerDataProviderIA::Initialize() {
35 if (is_open_)
36 return true;
37
38 if (!energy_lib_.IntelEnergyLibInitialize()) {
39 LOG(ERROR) << "Power Data Provider initialize failed!\r\n";
40 return false;
41 }
42 energy_lib_.GetNumNodes(&sockets_number_);
43
44 const std::wstring package_msr_name_ = L"Processor";
45
46 int msr_number;
47 energy_lib_.GetNumMsrs(&msr_number);
48
49 int funcID;
50 wchar_t szName[32];
51 for(int i = 0; i < msr_number; i++) {
52 energy_lib_.GetMsrFunc(i, &funcID);
53 energy_lib_.GetMsrName(i, szName);
54
55 if (funcID != 1)
56 continue;
57
58 if (package_msr_name_.compare(szName) == 0)
59 power_msr_ids_[PowerEvent::SOC_PACKAGE] = i;
60 }
61
62 is_open_ = true;
63 return true;
64 }
65
66 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698