diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2013-11-23 07:11:37 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2013-11-23 07:11:37 (GMT) |
commit | a181951a95ea19225807aa7c716347192c8af1ee (patch) | |
tree | c13871acb363533e9576dfb46dbf83001613cf0b /sugar_network/toolkit/rrd.py | |
parent | 6b1d747f40416c8a70b70953c7c0349e08d46507 (diff) |
Replace rrd ABSOLUTE fields by GAUGE to easy understand node stats
Diffstat (limited to 'sugar_network/toolkit/rrd.py')
-rw-r--r-- | sugar_network/toolkit/rrd.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/sugar_network/toolkit/rrd.py b/sugar_network/toolkit/rrd.py index da58aff..bafe6d1 100644 --- a/sugar_network/toolkit/rrd.py +++ b/sugar_network/toolkit/rrd.py @@ -107,13 +107,25 @@ class _DbSet(object): @property def first(self): - if self._revisions: - return self._revisions[0].first + if not self._revisions: + return + return self._revisions[0].first @property def last(self): - if self._revisions: - return self._revisions[-1].last + if not self._revisions: + return + return self._revisions[-1].last + + @property + def last_ds(self): + if not self._revisions or not self._field_names: + return {} + info = _rrdtool.info(self._revisions[-1].path) + result = {} + for field in self._field_names: + result[field] = float(info.get('ds[%s].last_ds' % field) or 0) + return result def load(self, filename, revision): _logger.debug('Load %s database from %s with revision %s', |