]>
git.proxmox.com Git - pve-manager-legacy.git/blob - PVE/API2Tools.pm
1 package PVE
::API2Tools
;
6 sub extract_node_stats
{
7 my ($node, $members, $rrd) = @_;
15 if (my $d = $rrd->{"pve2-node/$node"}) {
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;
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;
33 sub extract_vm_stats
{
34 my ($vmid, $data, $rrd) = @_;
37 id
=> "$data->{type}/$vmid",
39 node
=> $data->{node
},
40 type
=> $data->{type
},
45 if ($d = $rrd->{"pve2-vm/$vmid"}) {
47 $entry->{uptime
} = ($d->[0] || 0) + 0;
48 $entry->{name
} = $d->[1];
49 $entry->{status
} = $entry->{uptime
} ?
'running' : 'stopped';
50 $entry->{maxcpu
} = ($d->[3] || 0) + 0;
51 $entry->{cpu
} = ($d->[4] || 0) + 0;
52 $entry->{maxmem
} = ($d->[5] || 0) + 0;
53 $entry->{mem
} = ($d->[6] || 0) + 0;
54 $entry->{maxdisk
} = ($d->[7] || 0) + 0;
55 $entry->{disk
} = ($d->[8] || 0) + 0;
56 $entry->{netin
} = ($d->[9] || 0) + 0;
57 $entry->{netout
} = ($d->[10] || 0) + 0;
58 $entry->{diskread
} = ($d->[11] || 0) + 0;
59 $entry->{diskwrite
} = ($d->[12] || 0) + 0;
61 } elsif ($d = $rrd->{"pve2.3-vm/$vmid"}) {
63 $entry->{uptime
} = ($d->[0] || 0) + 0;
64 $entry->{name
} = $d->[1];
65 $entry->{status
} = $d->[2];
66 $entry->{template
} = $d->[3] + 0;
68 $entry->{maxcpu
} = ($d->[5] || 0) + 0;
69 $entry->{cpu
} = ($d->[6] || 0) + 0;
70 $entry->{maxmem
} = ($d->[7] || 0) + 0;
71 $entry->{mem
} = ($d->[8] || 0) + 0;
72 $entry->{maxdisk
} = ($d->[9] || 0) + 0;
73 $entry->{disk
} = ($d->[10] || 0) + 0;
74 $entry->{netin
} = ($d->[11] || 0) + 0;
75 $entry->{netout
} = ($d->[12] || 0) + 0;
76 $entry->{diskread
} = ($d->[13] || 0) + 0;
77 $entry->{diskwrite
} = ($d->[14] || 0) + 0;
83 sub extract_storage_stats
{
84 my ($storeid, $scfg, $node, $rrd) = @_;
87 id
=> "storage/$node/$storeid",
93 if (my $d = $rrd->{"pve2-storage/$node/$storeid"}) {
94 $entry->{maxdisk
} = ($d->[1] || 0) + 0;
95 $entry->{disk
} = ($d->[2] || 0) + 0;