]> xenbits.xensource.com Git - xen.git/commitdiff
Add VM_metrics.start_time, and use this to implement xm uptime through the
authorEwan Mellor <ewan@xensource.com>
Thu, 22 Mar 2007 16:32:18 +0000 (16:32 +0000)
committerEwan Mellor <ewan@xensource.com>
Thu, 22 Mar 2007 16:32:18 +0000 (16:32 +0000)
Xen-API.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
tools/python/xen/xend/XendAPI.py
tools/python/xen/xend/XendVMMetrics.py
tools/python/xen/xm/main.py

index a67744e4adb2774980df3dace84c671a590d143e..480bf66b1ce66acf341097d8a13934ca40b5c4d4 100644 (file)
@@ -1592,7 +1592,8 @@ class XendAPI(object):
                           'VCPUs_utilisation',
                           'VCPUs_CPU',
                           'VCPUs_flags',
-                          'VCPUs_params']
+                          'VCPUs_params',
+                          'start_time']
     VM_metrics_attr_rw = []
     VM_metrics_methods = []
 
@@ -1623,6 +1624,9 @@ class XendAPI(object):
     def VM_metrics_get_VCPUs_params(self, _, ref):
         return xen_api_success(self._VM_metrics_get(ref).get_VCPUs_params())
 
+    def VM_metrics_get_start_time(self, _, ref):
+        return xen_api_success(self._VM_metrics_get(ref).get_start_time())
+
 
     # Xen API: Class VBD
     # ----------------------------------------------------------------
index 94a9c3205ecb9e90d52a0ada4019cf84ff4e5099..217d9c2096233357f2690d92468b23fa63ba1bd0 100644 (file)
@@ -113,6 +113,9 @@ class XendVMMetrics:
         else:
             return {}
 
+    def get_start_time(self):
+        return self.xend_domain_instance.info.get("start_time", -1)
+    
     def get_record(self):
         return { 'uuid'              : self.uuid,
                  'memory_actual'     : self.get_memory_actual(),
@@ -120,5 +123,6 @@ class XendVMMetrics:
                  'VCPUs_utilisation' : self.get_VCPUs_utilisation(),
                  'VCPUs_CPU'         : self.get_VCPUs_CPU(),
                  'VCPUs_flags'       : self.get_VCPUs_flags(),
-                 'VCPUs_params'      : self.get_VCPUs_params()
+                 'VCPUs_params'      : self.get_VCPUs_params(),
+                 'start_time'        : self.get_start_time(),
                }
index af5adf7ff48c505ee87b3763f9cd3a7909d609f4..686166fab425e37a0875fbdec95fd9a276e75b43 100644 (file)
@@ -709,7 +709,8 @@ def getDomains(domain_names, state, full = 0):
                             'memory_actual': int(dom_metrics['memory_actual'])/1024,
                             'vcpus':    dom_metrics['VCPUs_number'],
                             'state':    '-----',
-                            'cpu_time': dom_metrics['VCPUs_utilisation']})
+                            'cpu_time': dom_metrics['VCPUs_utilisation'],
+                            'start_time': dom_metrics['start_time']})
                        
             doms_sxp.append(['domain'] + map2sxp(dom_rec))
             doms_dict.append(dom_rec)