diff options
author | Jack Morgan <jack.morgan@intel.com> | 2016-08-29 18:25:32 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-08-29 18:25:32 +0000 |
commit | e70af736b5c9152f5c8c3b1a44b3a1ddf286cb2c (patch) | |
tree | 6be74477e31e9ad106d83974a49d5e14ebdb3bb0 /tools/pharos-dashboard/jenkins | |
parent | c3338109091fe880d7dd40966b9e7aa2ad7fd132 (diff) | |
parent | b67557fdf3ddab95d2834c8aa01dcc0d120685dd (diff) |
Merge "Add a Resource detail view"
Diffstat (limited to 'tools/pharos-dashboard/jenkins')
-rw-r--r-- | tools/pharos-dashboard/jenkins/models.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/pharos-dashboard/jenkins/models.py b/tools/pharos-dashboard/jenkins/models.py index 438a8827..354887ab 100644 --- a/tools/pharos-dashboard/jenkins/models.py +++ b/tools/pharos-dashboard/jenkins/models.py @@ -1,4 +1,5 @@ from django.db import models +from django.utils import timezone class JenkinsSlave(models.Model): @@ -18,6 +19,18 @@ class JenkinsSlave(models.Model): last_job_installer = models.CharField(max_length=50, default='') last_job_result = models.CharField(max_length=30, default='') + def get_utilization(self, timedelta): + """ + Return a dictionary containing the count of idle, online and offline measurements in the time from + now-timedelta to now + """ + utilization = {'idle': 0, 'online': 0, 'offline': 0} + statistics = self.jenkinsstatistic_set.filter(timestamp__gte=timezone.now() - timedelta) + utilization['idle'] = statistics.filter(idle=True).count() + utilization['online'] = statistics.filter(online=True).count() + utilization['offline'] = statistics.filter(offline=True).count() + return utilization + class Meta: db_table = 'jenkins_slave' |