Class: Specinfra::HostInventory::Cpu
- Inherits:
-
Base
- Object
- Base
- Specinfra::HostInventory::Cpu
show all
- Defined in:
- lib/specinfra/host_inventory/cpu.rb
Instance Method Summary
collapse
Methods inherited from Base
#backend, #initialize
Instance Method Details
#get ⇒ Object
4
5
6
7
8
|
# File 'lib/specinfra/host_inventory/cpu.rb', line 4
def get
cmd = backend.command.get(:get_inventory_cpu)
ret = backend.run_command(cmd).stdout
parse(ret)
end
|
#parse(cmd_ret) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/specinfra/host_inventory/cpu.rb', line 9
def parse(cmd_ret)
cpuinfo = {}
cpus = cmd_ret.split(/[^^]processor/)
cpuinfo['total'] = cpus.length.to_s
cpus.each_with_index do |cpu, idx|
idx = idx.to_s
cpuinfo[idx] = {}
cpu.each_line do |line|
case line
when /^vendor_id\s*:\s+(.+)$/
cpuinfo[idx]['vendor_id'] = $1
when /^cpu family\s*:\s+(\d+)$/
cpuinfo[idx]['cpu_family'] = $1
when /^model\s*:\s+(\d+)$/
cpuinfo[idx]['model'] = $1
when /^model\sname\s*:\s+(.+)$/
cpuinfo[idx]['model_name'] = $1
when /^stepping\s*:\s+(\d+)$/
cpuinfo[idx]['stepping'] = $1
when /^microcode\s*:\s+(.+)$/
cpuinfo[idx]['microcode'] = $1
when /^cpu MHz\s*:\s+(.+)$/
cpuinfo[idx]['cpu_mhz'] = $1
when /^cache size\s*:\s+(\d+) (.+)$/
cpuinfo[idx]['cache_size'] = "#{$1}#{$2}"
when /^physical id\s*:\s+(\d+)$/
cpuinfo[idx]['physical_id'] = $1
when /^siblings\s*:\s+(\d+)$/
cpuinfo[idx]['siblings'] = $1
when /^core id\s*:\s+(\d+)$/
cpuinfo[idx]['core_id'] = $1
when /^cpu cores\s*:\s+(\d+)$/
cpuinfo[idx]['cpu_cores'] = $1
when /^apicid\s*:\s+(\d+)$/
cpuinfo[idx]['apicid'] = $1
when /^initial apicid\s*:\s+(\d+)$/
cpuinfo[idx]['initial_apicid'] = $1
when /^fpu\s*:\s+(.+)$/
cpuinfo[idx]['fpu'] = $1
when /^fpu_exception\s*:\s+(.+)$/
cpuinfo[idx]['fpu_exception'] = $1
when /^cpuid level\s*:\s+(\d+)$/
cpuinfo[idx]['cpuid_level'] = $1
when /^wp\s*:\s+(.+)$/
cpuinfo[idx]['wp'] = $1
when /^flags\s*:\s+(.+)$/
cpuinfo[idx]['flags'] = $1.split(/\s/)
when /^bogomips\s*:\s+(.+)$/
cpuinfo[idx]['bogomips'] = $1
when /^clflush size\s*:\s+(\d+)$/
cpuinfo[idx]['clflush_size'] = $1
when /^cache_alignment\s*:\s+(\d+)$/
cpuinfo[idx]['cache_alignment'] = $1
when /^address sizes\s*:\s+(.+)$/
cpuinfo[idx]['address_sizes'] = $1
when /^power management\s*:\s+(.*)$/
cpuinfo[idx]['power_management'] = $1
end
end
end
cpuinfo
end
|