Skip to content

Commit

Permalink
Add jenkins metrics fix #567
Browse files Browse the repository at this point in the history
Remi Hakim committed Jul 9, 2013
1 parent 2821691 commit 6260603
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions checks.d/jenkins.py
Original file line number Diff line number Diff line change
@@ -53,6 +53,20 @@ def _get_build_metadata(self, dir_name):
d = dict([(k, v.text)
for k, v in kv_pairs
if v is not None])

try:
d['branch'] = tree.find('actions')\
.find('hudson.plugins.git.util.BuildData')\
.find('buildsByBranchName')\
.find('entry')\
.find('hudson.plugins.git.util.Build')\
.find('revision')\
.find('branches')\
.find('hudson.plugins.git.Branch')\
.find('name')\
.text
except Exception:
pass
return d

def _get_build_results(self, instance_key, job_dir):
@@ -106,6 +120,9 @@ def check(self, instance, create_event=True):

job_dirs = glob(os.path.join(jenkins_home, 'jobs', '*'))

if not job_dirs:
raise Exception("Jobs directory is empty! Make sure the jenkins_home path is correct")

build_events = []

for job_dir in job_dirs:
@@ -116,6 +133,16 @@ def check(self, instance, create_event=True):
self.log.debug("Creating event for job: %s" % output['job_name'])
self.event(output)

tags = ['job_name:%s' % output['job_name']]
if 'branch' in output:
tags.append('branch:%s' % output['branch'])
self.gauge("jenkins.job.duration", float(output['duration'])/1000.0, tags=tags)

if output['result'] == 'SUCCESS':
self.increment('jenkins.job.success', tags=tags)
else:
self.increment('jenkins.job.failure', tags=tags)

@staticmethod
def parse_agent_config(agentConfig):
if not agentConfig.get('hudson_home'):

0 comments on commit 6260603

Please sign in to comment.