1*6777b538SAndroid Build Coastguard Worker // Copyright 2018 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "components/metrics/cpu_metrics_provider.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include "base/cpu.h" 8*6777b538SAndroid Build Coastguard Worker #include "base/system/sys_info.h" 9*6777b538SAndroid Build Coastguard Worker #include "third_party/metrics_proto/system_profile.pb.h" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker namespace metrics { 12*6777b538SAndroid Build Coastguard Worker CPUMetricsProvider()13*6777b538SAndroid Build Coastguard WorkerCPUMetricsProvider::CPUMetricsProvider() {} 14*6777b538SAndroid Build Coastguard Worker ~CPUMetricsProvider()15*6777b538SAndroid Build Coastguard WorkerCPUMetricsProvider::~CPUMetricsProvider() {} 16*6777b538SAndroid Build Coastguard Worker ProvideSystemProfileMetrics(SystemProfileProto * system_profile)17*6777b538SAndroid Build Coastguard Workervoid CPUMetricsProvider::ProvideSystemProfileMetrics( 18*6777b538SAndroid Build Coastguard Worker SystemProfileProto* system_profile) { 19*6777b538SAndroid Build Coastguard Worker SystemProfileProto::Hardware::CPU* cpu = 20*6777b538SAndroid Build Coastguard Worker system_profile->mutable_hardware()->mutable_cpu(); 21*6777b538SAndroid Build Coastguard Worker // All the CPU information is generated in the constructor. 22*6777b538SAndroid Build Coastguard Worker base::CPU cpu_info; 23*6777b538SAndroid Build Coastguard Worker cpu->set_vendor_name(cpu_info.vendor_name()); 24*6777b538SAndroid Build Coastguard Worker cpu->set_signature(cpu_info.signature()); 25*6777b538SAndroid Build Coastguard Worker cpu->set_num_cores(base::SysInfo::NumberOfProcessors()); 26*6777b538SAndroid Build Coastguard Worker cpu->set_is_hypervisor(cpu_info.is_running_in_vm()); 27*6777b538SAndroid Build Coastguard Worker } 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker } // namespace metrics 30