Author: eallen
Date: 2008-10-29 16:24:51 -0400 (Wed, 29 Oct 2008)
New Revision: 2699
Modified:
mgmt/trunk/cumin/python/cumin/pool.py
mgmt/trunk/cumin/python/cumin/pool.strings
Log:
Added job status grid on pool statistics page
Modified: mgmt/trunk/cumin/python/cumin/pool.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/pool.py 2008-10-29 20:24:01 UTC (rev 2698)
+++ mgmt/trunk/cumin/python/cumin/pool.py 2008-10-29 20:24:51 UTC (rev 2699)
@@ -252,9 +252,59 @@
stats = PoolStatSet(app, "general", "general")
self.add_child(stats)
+ self.grid = self.JobUtilizationGrid(app, "job_grid")
+ self.add_child(self.grid)
+
def render_title(self, session):
return "Statistics"
+ class JobUtilizationGrid(StatUtilizationGrid):
+ def get_args(self, session):
+ pool = self.frame.get_args(session)[0]
+ action = self.app.model.pool.jobs
+ return action.get_jobs(pool)
+
+ def render_title(self, session, jobs):
+ return ""
+
+ def get_object_count(self, session, jobs):
+ return jobs.count()
+
+ def render_override_style(self, session, jobs):
+ count = self.get_object_count(session, jobs)
+ if count > 100:
+ return "style=\"width: 15em; height: 15em;\""
+
+ def get_colors(self, session):
+ action = self.app.model.pool.jobs
+ return action.get_colors()
+
+ def render_color(self, session, count, job):
+ action = self.app.model.pool.jobs
+ return action.get_color(job)
+
+ def render_contents(self, session, count, job):
+ return ""
+
+ def render_cell_id(self, session, count, job):
+ return "%i" % job.sourceObjectId
+
+ def get_url(self, session):
+ pool = self.parent.frame.get_args(session)[0]
+ return "call.xml?class=pool;method=jobs"
+
+ def get_fn(self, session):
+ return self.parent.grid.name
+
+ def got_fn(self, session):
+ return self.parent.grid.name
+
+ def elem_id(self, session):
+ return self.parent.grid.name
+
+ def do_get_sticky_info(self, session):
+ return [("name", "ID"), ("submitter",
"Submitter"), ("status", "Status")]
+
class PoolStatSet(StatSet):
def __init__(self, app, name, category):
super(PoolStatSet, self).__init__(app, name, category)
Modified: mgmt/trunk/cumin/python/cumin/pool.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/pool.strings 2008-10-29 20:24:01 UTC (rev 2698)
+++ mgmt/trunk/cumin/python/cumin/pool.strings 2008-10-29 20:24:51 UTC (rev 2699)
@@ -22,7 +22,40 @@
</div>
[PoolStats.html]
+<div style="width: 50%; float: left;">
<h2>General</h2>
- <div style="width:50%;">
+ <div>
{general}
</div>
+</div>
+<div style="width: 25%; float: left; margin-left: 4em;">
+ <h2>Job Activity</h2>
+ {job_grid}
+</div>
+<div style="clear:left;"><!-- --></div>
+
+
+[JobUtilizationGrid.javascript]
+function got_job_grid(obj, id) {
+ for (var cell in obj.jobs.job) {
+ var job = obj.jobs.job[cell]
+ var ojob_Button = document.getElementById("button_"+cell);
+ if (ojob_Button) {
+ ojob_Button.className = "btn "+job.color;
+ }
+ var ojob_Name = document.getElementById("cell_name_"+cell);
+ if (ojob_Name) {
+ ojob_Name.innerHTML = job.name;
+ }
+ var ojob_Machine = document.getElementById("cell_submitter_"+cell);
+ if (ojob_Machine) {
+ ojob_Machine.innerHTML = job.submitter;
+ }
+ var ojob_Job = document.getElementById("cell_status_"+cell);
+ if (ojob_Job) {
+ ojob_Job.innerHTML = job.status;
+ }
+ }
+ setTimeout("get_job_grid()", 1000);
+}
+