--- misc/xenconsole/ajaxdata.php 2013/03/25 12:47:31 1952
+++ misc/xenconsole/ajaxdata.php 2013/07/18 13:11:54 2019
@@ -28,6 +28,21 @@
/* Establish session with Xenserver */
$xenserver = new XenApi($url, $login, $password);
+//Opbyg cache arrays
+$consolemap = array();
+$consoles = $xenserver->console__get_all_records();
+foreach($consoles as $key => $val) {
+ $consolemap[$key] = $val;
+}
+
+$guestmetricmap = array();
+$guestmetrics = $xenserver->VM_guest_metrics__get_all_records();
+foreach($guestmetrics as $key => $val) {
+ $guestmetricmap[$key] = $val;
+}
+
+//find data
+
$hosts_array = $xenserver->host__get_all();
$host = $xenserver->host__get_record($hosts_array[0]);
$host_metrics = $xenserver->host_metrics__get_record($host["metrics"]);
@@ -77,7 +92,8 @@
if ( $vm["power_state"] == "Running" ) {
if ($vm["guest_metrics"] != "OpaqueRef:NULL") {//guest tools installed
- $guest_metrics = $xenserver->VM_guest_metrics__get_record( $vm["guest_metrics"] );
+ //$guest_metrics = $xenserver->VM_guest_metrics__get_record( $vm["guest_metrics"] );
+ $guest_metrics = $guestmetricmap[ $vm["guest_metrics"] ];
$network = implode( ",", $guest_metrics["networks"]) ;
$tmpos = explode('|', $guest_metrics["os_version"]["name"]);
$os = $tmpos[0];
@@ -94,7 +110,8 @@
$cpuavg = round ( ($cpusum/$cpus) * 100);
foreach($vm["consoles"] as $conref) {
- $con = $xenserver->console__get_record( $conref );
+ //$con = $xenserver->console__get_record( $conref );
+ $con = $consolemap[$conref];
if ($con["protocol"] == "rfb") {
$url = urlencode( $con["location"] );
@@ -119,6 +136,7 @@
echo "{$cpuavg}";
echo "{$curmem}";
echo "{$maxmem}";
+ echo "{$cpus}";
echo "";
}