Author: justi9
Date: 2008-09-02 13:45:14 -0400 (Tue, 02 Sep 2008)
New Revision: 2378
Modified:
mgmt/trunk/cumin/python/cumin/model.py
mgmt/trunk/cumin/python/cumin/scheduler.py
mgmt/trunk/cumin/python/cumin/scheduler.strings
Log:
Add scheduler stats
Modified: mgmt/trunk/cumin/python/cumin/model.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/model.py 2008-09-02 15:38:17 UTC (rev 2377)
+++ mgmt/trunk/cumin/python/cumin/model.py 2008-09-02 17:45:14 UTC (rev 2378)
@@ -1452,6 +1452,24 @@
prop = CuminProperty(self, "Machine")
prop.title = "Machine"
+ stat = CuminStat(self, "NumUsers")
+ stat.title = "Users"
+
+ stat = CuminStat(self, "TotalHeldJobs")
+ stat.title = "Held Jobs"
+
+ stat = CuminStat(self, "TotalIdleJobs")
+ stat.title = "Idle Jobs"
+
+ stat = CuminStat(self, "TotalJobAds")
+ stat.title = "Job Ads"
+
+ stat = CuminStat(self, "TotalRemovedJobs")
+ stat.title = "Removed Jobs"
+
+ stat = CuminStat(self, "TotalRunningJobs")
+ stat.title = "Running Jobs"
+
def get_title(self, session):
return "Scheduler"
Modified: mgmt/trunk/cumin/python/cumin/scheduler.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/scheduler.py 2008-09-02 15:38:17 UTC (rev 2377)
+++ mgmt/trunk/cumin/python/cumin/scheduler.py 2008-09-02 17:45:14 UTC (rev 2378)
@@ -58,8 +58,33 @@
self.__tabs = TabbedModeSet(app, "tabs")
self.add_child(self.__tabs)
+ stats = SchedulerStats(app, "stats")
+ self.__tabs.add_tab(stats)
+
details = CuminDetails(app, "details")
self.__tabs.add_tab(details)
class SchedulerStatus(CuminStatus):
pass
+
+class SchedulerStats(Widget):
+ def __init__(self, app, name):
+ super(SchedulerStats, self).__init__(app, name)
+
+ stats = StatSet(app, "general", "general")
+ self.add_child(stats)
+
+ chart = self.RunningJobsChart(app, "jobs")
+ self.add_child(chart)
+
+ def render_title(self, session):
+ return "Statistics"
+
+ class RunningJobsChart(StatValueChart):
+ def __init__(self, app, name):
+ super(SchedulerStats.RunningJobsChart, self).__init__(app, name)
+
+ self.stats = ("TotalRunningJobs",)
+
+ def render_title(self, session, sched):
+ return "Running Jobs"
Modified: mgmt/trunk/cumin/python/cumin/scheduler.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/scheduler.strings 2008-09-02 15:38:17 UTC (rev 2377)
+++ mgmt/trunk/cumin/python/cumin/scheduler.strings 2008-09-02 17:45:14 UTC (rev 2378)
@@ -6,3 +6,18 @@
[SchedulerSet.count_sql]
select count(*) from scheduler
+
+[SchedulerStats.html]
+<table class="twocol">
+ <tbody>
+ <tr>
+ <td>
+ <h2>General</h2>
+ {general}
+ </td>
+ <td>
+ {jobs}
+ </td>
+ </tr>
+ </tbody>
+</table>