[oe-commits] org.oe.dev oestats-client.bbclass: include elapsed time in task reports

jeremy_laine commit oe at amethyst.openembedded.net
Fri May 16 16:29:13 UTC 2008


oestats-client.bbclass: include elapsed time in task reports

Author: jeremy_laine at openembedded.org
Branch: org.openembedded.dev
Revision: 87aa8e8cdbee54b3d7ff294da220db58798e8c12
ViewMTN: http://monotone.openembedded.org/revision/info/87aa8e8cdbee54b3d7ff294da220db58798e8c12
Files:
1
classes/oestats-client.bbclass
Diffs:

#
# mt diff -rb47bc0e30f4c53b5084a5a0d17620df682fa41b8 -r87aa8e8cdbee54b3d7ff294da220db58798e8c12
#
#
#
# patch "classes/oestats-client.bbclass"
#  from [c9260fde7f5ef0dc89229f308c6ec355d98efd23]
#    to [78b88551bd771649a9f72a86d627426a00214ad0]
#
============================================================
--- classes/oestats-client.bbclass	c9260fde7f5ef0dc89229f308c6ec355d98efd23
+++ classes/oestats-client.bbclass	78b88551bd771649a9f72a86d627426a00214ad0
@@ -8,6 +8,16 @@
 # OESTATS_SERVER = "some.server.org:8000"
 # OESTATS_BUILDER = "some title"
 
+def oestats_setid(d, val):
+	import bb
+	f = file(bb.data.getVar('TMPDIR', d, True) + '/oestats.id', 'w')
+	f.write(val)
+
+def oestats_getid(d):
+	import bb
+	f = file(bb.data.getVar('TMPDIR', d, True) + '/oestats.id', 'r')
+	return f.read()
+	
 def oestats_revision(dir):
 	import re
 	try:
@@ -34,7 +44,7 @@ def oestats_start(server, builder, d):
 	import os.path
 
 	# collect information about revisions
-	path_bb = bb.data.getVar('BBPATH', d, 1)
+	path_bb = bb.data.getVar('BBPATH', d, True)
 	for p in (path_bb or "").split(':'):
 		revision = oestats_revision(p)
 		if revision:
@@ -44,22 +54,19 @@ def oestats_start(server, builder, d):
 	response = oestats_send(server, "/builds/start/", {
 		'builder': builder,
 		'revision': revision,
-		'machine': bb.data.getVar( 'MACHINE', d, True ),
-		'distro': bb.data.getVar( 'DISTRO', d, True ),
+		'machine': bb.data.getVar('MACHINE', d, True),
+		'distro': bb.data.getVar('DISTRO', d, True),
 	})
 	id = response.read()
 
 	# save the build id
-	bb.note("Stats id: %s" % id)
-	f = file(bb.data.getVar('TMPDIR', d, True)+"/oestats.id", 'w')
-	f.write(id)
+	oestats_setid(d, id)
 
 def oestats_stop(server, d, status):
 	import bb
 
 	# retrieve build id
-	f = file(bb.data.getVar('TMPDIR',d,True)+"/oestats.id", 'r')
-	id = f.read()
+	id = oestats_getid(d)
 
 	# send report
 	response = oestats_send(server, "/builds/stop/%s/" % id, {
@@ -68,10 +75,14 @@ def oestats_task(server, d, task, status
 
 def oestats_task(server, d, task, status):
 	import bb
+	import time
 
 	# retrieve build id
-	f = file(bb.data.getVar('TMPDIR',d,True)+"/oestats.id", 'r')
-	id = f.read()
+	id = oestats_getid(d)
+	try:
+		elapsed = time.time() - float(bb.data.getVar('OESTATS_STAMP', d, True))
+	except:
+		elapsed = 0
 
 	# send report
 	response = oestats_send(server, "/builds/task/%s/" % id, {
@@ -80,12 +91,14 @@ def oestats_task(server, d, task, status
 		'revision': bb.data.getVar('PR', d, True),
 		'task': task,
 		'status': status,
+		'time': elapsed,
 	})
 
 addhandler oestats_eventhandler
 python oestats_eventhandler () {
 	from bb.event import getName
 	import bb
+	import time
 
 	if e.data is None or getName(e) == "MsgNote":
 		return NotHandled
@@ -99,6 +112,8 @@ python oestats_eventhandler () {
 		oestats_start(server, builder, e.data)
 	elif getName(e) == 'BuildCompleted':
 		oestats_stop(server, e.data, 'Completed')
+	elif getName(e) == 'TaskStarted':
+		bb.data.setVar('OESTATS_STAMP', repr(time.time()), e.data)
 	elif getName(e) == 'TaskSucceeded':
 		oestats_task(server, e.data, e.task, 'Succeeded')
 	elif getName(e) == 'TaskFailed':






More information about the Openembedded-commits mailing list