/[projects]/misc/xenconsole/ajaxdata.php
ViewVC logotype

Diff of /misc/xenconsole/ajaxdata.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1901 by torben, Mon Dec 10 15:40:55 2012 UTC revision 2019 by torben, Thu Jul 18 13:11:54 2013 UTC
# Line 28  include('xenapi.php'); Line 28  include('xenapi.php');
28  /* Establish session with Xenserver */  /* Establish session with Xenserver */
29  $xenserver = new XenApi($url, $login, $password);  $xenserver = new XenApi($url, $login, $password);
30    
31    //Opbyg cache arrays
32    $consolemap = array();
33    $consoles = $xenserver->console__get_all_records();
34    foreach($consoles as $key => $val) {
35        $consolemap[$key] = $val;
36    }
37    
38    $guestmetricmap = array();
39    $guestmetrics = $xenserver->VM_guest_metrics__get_all_records();
40    foreach($guestmetrics as $key => $val) {
41            $guestmetricmap[$key] = $val;
42    }
43    
44    //find data
45    
46  $hosts_array = $xenserver->host__get_all();  $hosts_array = $xenserver->host__get_all();
47  $host = $xenserver->host__get_record($hosts_array[0]);  $host = $xenserver->host__get_record($hosts_array[0]);
48  $host_metrics = $xenserver->host_metrics__get_record($host["metrics"]);  $host_metrics = $xenserver->host_metrics__get_record($host["metrics"]);
# Line 77  foreach($vms_array as $vmref => $vm) { Line 92  foreach($vms_array as $vmref => $vm) {
92    
93          if ( $vm["power_state"] == "Running" ) {          if ( $vm["power_state"] == "Running" ) {
94                  if ($vm["guest_metrics"] != "OpaqueRef:NULL") {//guest tools installed                  if ($vm["guest_metrics"] != "OpaqueRef:NULL") {//guest tools installed
95                          $guest_metrics = $xenserver->VM_guest_metrics__get_record( $vm["guest_metrics"] );                          //$guest_metrics = $xenserver->VM_guest_metrics__get_record( $vm["guest_metrics"] );
96                            $guest_metrics = $guestmetricmap[  $vm["guest_metrics"] ];
97                          $network = implode( ",",  $guest_metrics["networks"])  ;                          $network = implode( ",",  $guest_metrics["networks"])  ;
98                          $tmpos =  explode('|', $guest_metrics["os_version"]["name"]);                          $tmpos =  explode('|', $guest_metrics["os_version"]["name"]);
99                          $os = $tmpos[0];                          $os = $tmpos[0];
# Line 85  foreach($vms_array as $vmref => $vm) { Line 101  foreach($vms_array as $vmref => $vm) {
101    
102                          $maxmem = round($xenserver->VM__query_data_source($vmref, "memory") / (1024*1024) );                          $maxmem = round($xenserver->VM__query_data_source($vmref, "memory") / (1024*1024) );
103                          $free = round( $xenserver->VM__query_data_source($vmref, "memory_internal_free") / 1024 );                                $free = round( $xenserver->VM__query_data_source($vmref, "memory_internal_free") / 1024 );      
104                            $curmem = $maxmem - $free;
105                  }                  }
106                  $cpusum = 0.0;                  $cpusum = 0.0;
107                  for ($i=0; $i<$cpus; $i++) {                  for ($i=0; $i<$cpus; $i++) {
108                          $cpusum += $xenserver->VM__query_data_source($vmref, "cpu" . $i);                          $cpusum += $xenserver->VM__query_data_source($vmref, "cpu" . $i);
109                  }                        }      
110                  $cpuavg = round (  ($cpusum/$cpus) * 100);                  $cpuavg = round (  ($cpusum/$cpus) * 100);
                 $curmem = $maxmem - $free;  
111    
112                  foreach($vm["consoles"] as $conref) {                  foreach($vm["consoles"] as $conref) {
113                          $con = $xenserver->console__get_record( $conref );                          //$con = $xenserver->console__get_record( $conref );
114                                            $con = $consolemap[$conref];
115    
116                          if ($con["protocol"] == "rfb") {                          if ($con["protocol"] == "rfb") {
117                                  $url = urlencode( $con["location"] );                                  $url = urlencode( $con["location"] );
# Line 102  foreach($vms_array as $vmref => $vm) { Line 119  foreach($vms_array as $vmref => $vm) {
119                          }                          }
120                  }                  }
121    
122          }          } else {
123                    $maxmem = $vm["memory_static_max"] / (1024*1024);
124            }
125    
126    
127    
# Line 117  foreach($vms_array as $vmref => $vm) { Line 136  foreach($vms_array as $vmref => $vm) {
136          echo "<cpuavg>{$cpuavg}</cpuavg>";          echo "<cpuavg>{$cpuavg}</cpuavg>";
137          echo "<curmem>{$curmem}</curmem>";          echo "<curmem>{$curmem}</curmem>";
138          echo "<maxmem>{$maxmem}</maxmem>";          echo "<maxmem>{$maxmem}</maxmem>";
139            echo "<cpus>{$cpus}</cpus>";
140                    
141          echo "</vm>";            echo "</vm>";  
142  }  }

Legend:
Removed from v.1901  
changed lines
  Added in v.2019

  ViewVC Help
Powered by ViewVC 1.1.20