Change in vdsm[master]: core: Add boot time to the getVdsStats API

dkuznets at redhat.com dkuznets at redhat.com
Wed Mar 19 07:48:08 UTC 2014


Dima Kuznetsov has uploaded a new change for review.

Change subject: core: Add boot time to the getVdsStats API
......................................................................

core: Add boot time to the getVdsStats API

Calculate boot time from /proc/uptime and encode ISO8601 string with the
assumed boot time

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1070348
Change-Id: I319e619cdaecac2f86d0154e3adbb3beda9c57d6
Signed-off-by: Dima Kuznetsov <dkuznets at redhat.com>
---
M vdsm/sampling.py
M vdsm_api/vdsmapi-schema.json
2 files changed, 17 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/77/25877/1

diff --git a/vdsm/sampling.py b/vdsm/sampling.py
index 6ff0641..62fb57c 100644
--- a/vdsm/sampling.py
+++ b/vdsm/sampling.py
@@ -32,6 +32,7 @@
 import logging
 import errno
 import ethtool
+import datetime
 
 from vdsm import utils
 from vdsm import netinfo
@@ -194,6 +195,17 @@
                 self.thpState = s[s.index('[') + 1:s.index(']')]
         except:
             self.thpState = 'never'
+
+        # Calculate boot time
+        # Maybe we should do it only once??
+        try:
+            with file('/proc/uptime') as f:
+                uptime = float(f.read().split()[0])
+                bootTime = (datetime.datetime.utcnow() -
+                            datetime.timedelta(seconds=uptime))
+                self.bootTime = bootTime.strftime('%FT%T GMT')
+        except:
+            pass
 
 
 class AdvancedStatsFunction(object):
@@ -449,6 +461,8 @@
 
         stats['diskStats'] = hs1.diskStats
         stats['thpState'] = hs1.thpState
+        if hasattr(hs1, 'bootTime'):
+            stats['bootTime'] = hs1.bootTime
         return stats
 
     def _getInterfacesStats(self):
diff --git a/vdsm_api/vdsmapi-schema.json b/vdsm_api/vdsmapi-schema.json
index 4f7cc58..de25ad8 100644
--- a/vdsm_api/vdsmapi-schema.json
+++ b/vdsm_api/vdsmapi-schema.json
@@ -1690,6 +1690,8 @@
 # @haStatus:        The current status of the Hosted Engine HA system
 #                   (new in version 4.14.0)
 #
+# @bootTime:        The boot time of the host in UTC format (new in ???)
+#
 # Since: 4.10.0
 ##
 {'type': 'HostStats',
@@ -1708,7 +1710,7 @@
            'dateTime': 'str', 'ksmState': 'bool', 'ksmPages': 'int',
            'ksmCpu': 'float', 'netConfigDirty': 'bool', 'generationID': 'UUID',
            'momStatus': 'MOMStatus', '*haScore': 'int',
-           'haStatus': 'HostedEngineStatus'}}
+           'haStatus': 'HostedEngineStatus', 'bootTime': 'str'}}
 
 ##
 # @Host.getStats:


-- 
To view, visit http://gerrit.ovirt.org/25877
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I319e619cdaecac2f86d0154e3adbb3beda9c57d6
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dima Kuznetsov <dkuznets at redhat.com>


More information about the vdsm-patches mailing list