]>
git.proxmox.com Git - pve-manager.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
},
43 if (my $d = $rrd->{"pve2-vm/$vmid"}) {
45 $entry->{uptime
} = ($d->[0] || 0) + 0;
46 $entry->{name
} = $d->[1];
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 $entry->{netin
} = ($d->[9] || 0) + 0;
55 $entry->{netout
} = ($d->[10] || 0) + 0;
56 $entry->{diskread
} = ($d->[11] || 0) + 0;
57 $entry->{diskwrite
} = ($d->[12] || 0) + 0;
63 sub extract_storage_stats
{
64 my ($storeid, $scfg, $node, $rrd) = @_;
67 id
=> "storage/$node/$storeid",
73 if (my $d = $rrd->{"pve2-storage/$node/$storeid"}) {
74 $entry->{maxdisk
} = ($d->[1] || 0) + 0;
75 $entry->{disk
} = ($d->[2] || 0) + 0;