]>
Commit | Line | Data |
---|---|---|
19a6b9f1 DM |
1 | package PVE::API2Tools; |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | ||
16b69b6c DM |
6 | sub extract_node_stats { |
7 | my ($node, $members, $rrd) = @_; | |
8 | ||
9 | my $entry = { | |
10 | id => "node/$node", | |
11 | node => $node, | |
12 | type => "node", | |
13 | }; | |
14 | ||
15 | if (my $d = $rrd->{"pve2-node/$node"}) { | |
16 | ||
17 | if (!$members || # no cluster | |
18 | ($members->{$node} && $members->{$node}->{online})) { | |
19 | $entry->{uptime} = ($d->[0] || 0) + 0; | |
20 | $entry->{cpu} = ($d->[5] || 0) + 0; | |
21 | $entry->{mem} = ($d->[8] || 0) + 0; | |
22 | $entry->{disk} = ($d->[12] || 0) + 0; | |
23 | } | |
24 | $entry->{level} = $d->[1]; | |
25 | $entry->{maxcpu} = ($d->[4] || 0) + 0; | |
26 | $entry->{maxmem} = ($d->[7] || 0) + 0; | |
27 | $entry->{maxdisk} = ($d->[11] || 0) + 0; | |
28 | } | |
29 | ||
30 | return $entry; | |
31 | } | |
19a6b9f1 DM |
32 | |
33 | sub extract_vm_stats { | |
34 | my ($vmid, $data, $rrd) = @_; | |
35 | ||
36 | my $entry = { | |
37 | id => "$data->{type}/$vmid", | |
38 | vmid => $vmid + 0, | |
39 | node => $data->{node}, | |
40 | type => $data->{type}, | |
41 | }; | |
42 | ||
43 | if (my $d = $rrd->{"pve2-vm/$vmid"}) { | |
44 | ||
45 | $entry->{uptime} = ($d->[0] || 0) + 0; | |
46 | $entry->{name} = $d->[1]; | |
47 | ||
48 | $entry->{maxcpu} = ($d->[3] || 0) + 0; | |
49 | $entry->{cpu} = ($d->[4] || 0) + 0; | |
50 | $entry->{maxmem} = ($d->[5] || 0) + 0; | |
51 | $entry->{mem} = ($d->[6] || 0) + 0; | |
52 | $entry->{maxdisk} = ($d->[7] || 0) + 0; | |
53 | $entry->{disk} = ($d->[8] || 0) + 0; | |
54 | }; | |
55 | ||
56 | return $entry; | |
57 | }; | |
58 | ||
59 | sub extract_storage_stats { | |
60 | my ($storeid, $scfg, $node, $rrd) = @_; | |
61 | ||
62 | my $entry = { | |
63 | id => "storage/$node/$storeid", | |
64 | storage => $storeid, | |
65 | node => $node, | |
66 | type => 'storage', | |
67 | }; | |
68 | ||
69 | if (my $d = $rrd->{"pve2-storage/$node/$storeid"}) { | |
70 | $entry->{maxdisk} = ($d->[1] || 0) + 0; | |
71 | $entry->{disk} = ($d->[2] || 0) + 0; | |
72 | } | |
73 | ||
74 | return $entry; | |
75 | }; | |
76 | ||
77 | 1; |