Author: tmckay Date: 2011-06-14 19:13:08 +0000 (Tue, 14 Jun 2011) New Revision: 4827
Modified: branches/clarity/cumin/model/rosemary.xml branches/clarity/cumin/python/cumin/grid/dashboard.py branches/clarity/cumin/python/cumin/grid/negotiator.py branches/clarity/cumin/python/cumin/grid/scheduler.py branches/clarity/cumin/python/cumin/objectselector.py branches/clarity/rosemary/python/rosemary/util.py Log: Merge 4779 from trunk. BZ700540
Modified: branches/clarity/cumin/model/rosemary.xml =================================================================== --- branches/clarity/cumin/model/rosemary.xml 2011-06-14 19:11:38 UTC (rev 4826) +++ branches/clarity/cumin/model/rosemary.xml 2011-06-14 19:13:08 UTC (rev 4827) @@ -308,6 +308,7 @@
<statistic name="MonitorSelfAge"> <title>Up-time</title> + <formatter>fmt_timestamp_ddhhmmss</formatter> </statistic>
<statistic name="MonitorSelfImageSize"> @@ -444,6 +445,7 @@
<statistic name="MonitorSelfAge"> <title>Up-time</title> + <formatter>fmt_timestamp_ddhhmmss</formatter> </statistic> </class>
@@ -536,6 +538,7 @@
<statistic name="MonitorSelfAge"> <title>Up-time</title> + <formatter>fmt_timestamp_ddhhmmss</formatter> </statistic> </class> </package>
Modified: branches/clarity/cumin/python/cumin/grid/dashboard.py =================================================================== --- branches/clarity/cumin/python/cumin/grid/dashboard.py 2011-06-14 19:11:38 UTC (rev 4826) +++ branches/clarity/cumin/python/cumin/grid/dashboard.py 2011-06-14 19:13:08 UTC (rev 4827) @@ -13,7 +13,7 @@ from cumin.sqladapter import ObjectSqlAdapter from cumin.stat import StatSet, PieChartPage, StatFlashChart from cumin.objectselector import ObjectSelector, MonitorSelfStatColumn, ObjectTableColumn, ObjectTable,\ - ObjectLinkColumn, CsvStatsExporter, ExportButton + ObjectLinkColumn, CsvStatsExporter, ExportButton, MonitorSelfAgeColumn from cumin.util import rgb_to_string from negotiator import NegotiatorAttribute
@@ -877,7 +877,8 @@ col = ObjectLinkColumn(app, "name", cls.Name, cls._id, frame) self.add_column(col)
- self.add_attribute_column(cls.MonitorSelfAge) + stat = MonitorSelfAgeColumn(app, "monitorSelfAge", cls.MonitorSelfAge) + self.add_column(stat)
self.add_attribute_column(cls.JobSubmissionRate) self.add_attribute_column(cls.JobStartRate) @@ -995,10 +996,10 @@ col.static_header = static self.add_column(col)
- stat = ObjectTableColumn(app, cls.MonitorSelfAge.name, cls.MonitorSelfAge) + stat = MonitorSelfAgeColumn(app, "monitorSelfAge", cls.MonitorSelfAge) stat.static_header = static self.add_column(stat) - + stat = MonitorSelfStatColumn(app, cls.MonitorSelfRegisteredSocketCount.name, cls.MonitorSelfRegisteredSocketCount) stat.static_header = static self.add_column(stat)
Modified: branches/clarity/cumin/python/cumin/grid/negotiator.py =================================================================== --- branches/clarity/cumin/python/cumin/grid/negotiator.py 2011-06-14 19:11:38 UTC (rev 4826) +++ branches/clarity/cumin/python/cumin/grid/negotiator.py 2011-06-14 19:13:08 UTC (rev 4827) @@ -3,7 +3,7 @@ from cumin.objectframe import ObjectFrame, ObjectFrameTask,\ ObjectFrameTaskFeedbackForm from cumin.objectselector import ObjectSelector, ObjectLinkColumn,\ - MonitorSelfStatColumn, ObjectTable + MonitorSelfStatColumn, ObjectTable, MonitorSelfAgeColumn from wooly import Widget, Attribute, Parameter from parsley.stringex import rpartition from cumin.parameters import RosemaryObjectParameter @@ -39,7 +39,7 @@ self.add_attribute_column(cls.Machine) self.add_attribute_column(cls.System)
- stat = MonitorSelfStatColumn(app, cls.MonitorSelfAge.name, cls.MonitorSelfAge) + stat = MonitorSelfAgeColumn(app, cls.MonitorSelfAge.name, cls.MonitorSelfAge) self.add_column(stat) stat = MonitorSelfStatColumn(app, cls.MonitorSelfCPUUsage.name, cls.MonitorSelfCPUUsage) self.add_column(stat)
Modified: branches/clarity/cumin/python/cumin/grid/scheduler.py =================================================================== --- branches/clarity/cumin/python/cumin/grid/scheduler.py 2011-06-14 19:11:38 UTC (rev 4826) +++ branches/clarity/cumin/python/cumin/grid/scheduler.py 2011-06-14 19:13:08 UTC (rev 4827) @@ -9,7 +9,7 @@ from submitter import SubmitterFrame, SubmitterSelector from submission import PoolSubmissionSelector from cumin.objectselector import ObjectSelectorTable, ObjectSelector,\ - ObjectLinkColumn, MonitorSelfStatColumn, ObjectTable + ObjectLinkColumn, MonitorSelfStatColumn, ObjectTable, MonitorSelfAgeColumn from cumin.grid.submission import SubmissionFrame
strings = StringCatalog(__file__) @@ -90,7 +90,7 @@ self.add_attribute_column(cls.TotalRunningJobs) self.add_attribute_column(cls.TotalHeldJobs)
- stat = MonitorSelfStatColumn(app, cls.MonitorSelfAge.name, cls.MonitorSelfAge) + stat = MonitorSelfAgeColumn(app, cls.MonitorSelfAge.name, cls.MonitorSelfAge) self.add_column(stat) stat = MonitorSelfStatColumn(app, cls.MonitorSelfCPUUsage.name, cls.MonitorSelfCPUUsage) self.add_column(stat)
Modified: branches/clarity/cumin/python/cumin/objectselector.py =================================================================== --- branches/clarity/cumin/python/cumin/objectselector.py 2011-06-14 19:11:38 UTC (rev 4826) +++ branches/clarity/cumin/python/cumin/objectselector.py 2011-06-14 19:13:08 UTC (rev 4827) @@ -548,7 +548,14 @@ if parts[0] == "Monitor" and parts[1] == "self": return " ".join(parts[2:]) return title - + +class MonitorSelfAgeColumn(ObjectTableColumn): + def render_cell_content(self, session, record): + mins, secs = divmod(self.field.get_content(session, record), 60) + hours, mins = divmod(mins, 60) + days = hours / 24 + return '%02d:%02d:%02d:%02d' % (days, hours, mins, secs) + class ExportButton(Widget): def __init__(self, app, name, args, exporter, file_name): super(ExportButton, self).__init__(app, name)
Modified: branches/clarity/rosemary/python/rosemary/util.py =================================================================== --- branches/clarity/rosemary/python/rosemary/util.py 2011-06-14 19:11:38 UTC (rev 4826) +++ branches/clarity/rosemary/python/rosemary/util.py 2011-06-14 19:13:08 UTC (rev 4827) @@ -14,4 +14,10 @@ return value and value or "Default exchange"
def fmt_kbmb(value): - return fmt_bytes(value * 1024) \ No newline at end of file + return fmt_bytes(value * 1024) + +def fmt_timestamp_ddhhmmss(value): + mins, secs = divmod(value, 60) + hours, mins = divmod(mins, 60) + days = hours / 24 + return '%02d:%02d:%02d:%02d' % (days, hours, mins, secs) \ No newline at end of file
cumin-developers@lists.fedorahosted.org