mirror of
https://git.yoctoproject.org/poky
synced 2026-05-04 22:39:49 +02:00
bitbake: runqueue/siggen: Log hash equivalence with a different logger
Switches the hash equivalence logging to use a different logger so that it can be easily filtered out with python's structured logging. (Bitbake rev: 20bb29ef973e9c5483eb50a74550ea207637367b) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
64e7ee4376
commit
554894287e
@@ -27,6 +27,7 @@ import pprint
|
||||
|
||||
bblogger = logging.getLogger("BitBake")
|
||||
logger = logging.getLogger("BitBake.RunQueue")
|
||||
hashequiv_logger = logging.getLogger("BitBake.RunQueue.HashEquiv")
|
||||
|
||||
__find_sha256__ = re.compile( r'(?i)(?<![a-z0-9])[a-f0-9]{64}(?![a-z0-9])' )
|
||||
|
||||
@@ -2263,7 +2264,7 @@ class RunQueueExecute:
|
||||
self.updated_taskhash_queue.remove((tid, unihash))
|
||||
|
||||
if unihash != self.rqdata.runtaskentries[tid].unihash:
|
||||
logger.info("Task %s unihash changed to %s" % (tid, unihash))
|
||||
hashequiv_logger.info("Task %s unihash changed to %s" % (tid, unihash))
|
||||
self.rqdata.runtaskentries[tid].unihash = unihash
|
||||
bb.parse.siggen.set_unihash(tid, unihash)
|
||||
toprocess.add(tid)
|
||||
@@ -2308,7 +2309,7 @@ class RunQueueExecute:
|
||||
elif tid in self.scenequeue_covered or tid in self.sq_live:
|
||||
# Already ran this setscene task or it running. Report the new taskhash
|
||||
bb.parse.siggen.report_unihash_equiv(tid, newhash, origuni, newuni, self.rqdata.dataCaches)
|
||||
logger.info("Already covered setscene for %s so ignoring rehash (remap)" % (tid))
|
||||
hashequiv_logger.info("Already covered setscene for %s so ignoring rehash (remap)" % (tid))
|
||||
remapped = True
|
||||
|
||||
if not remapped:
|
||||
@@ -2327,7 +2328,7 @@ class RunQueueExecute:
|
||||
for mc in self.rq.fakeworker:
|
||||
self.rq.fakeworker[mc].process.stdin.write(b"<newtaskhashes>" + pickle.dumps(bb.parse.siggen.get_taskhashes()) + b"</newtaskhashes>")
|
||||
|
||||
logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed)))
|
||||
hashequiv_logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed)))
|
||||
|
||||
for tid in changed:
|
||||
if tid not in self.rqdata.runq_setscene_tids:
|
||||
@@ -2346,7 +2347,7 @@ class RunQueueExecute:
|
||||
# Check no tasks this covers are running
|
||||
for dep in self.sqdata.sq_covered_tasks[tid]:
|
||||
if dep in self.runq_running and dep not in self.runq_complete:
|
||||
logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid))
|
||||
hashequiv_logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid))
|
||||
valid = False
|
||||
break
|
||||
if not valid:
|
||||
@@ -2409,7 +2410,7 @@ class RunQueueExecute:
|
||||
|
||||
for (tid, harddepfail, origvalid) in update_tasks:
|
||||
if tid in self.sqdata.valid and not origvalid:
|
||||
logger.info("Setscene task %s became valid" % tid)
|
||||
hashequiv_logger.info("Setscene task %s became valid" % tid)
|
||||
if harddepfail:
|
||||
self.sq_task_failoutright(tid)
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ from bb import runqueue
|
||||
import hashserv
|
||||
|
||||
logger = logging.getLogger('BitBake.SigGen')
|
||||
hashequiv_logger = logging.getLogger('BitBake.SigGen.HashEquiv')
|
||||
|
||||
def init(d):
|
||||
siggens = [obj for obj in globals().values()
|
||||
@@ -502,9 +503,9 @@ class SignatureGeneratorUniHashMixIn(object):
|
||||
# A unique hash equal to the taskhash is not very interesting,
|
||||
# so it is reported it at debug level 2. If they differ, that
|
||||
# is much more interesting, so it is reported at debug level 1
|
||||
bb.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
|
||||
hashequiv_logger.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
|
||||
else:
|
||||
bb.debug(2, 'No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
|
||||
hashequiv_logger.debug(2, 'No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
|
||||
except hashserv.client.HashConnectionError as e:
|
||||
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
|
||||
|
||||
@@ -578,12 +579,12 @@ class SignatureGeneratorUniHashMixIn(object):
|
||||
new_unihash = data['unihash']
|
||||
|
||||
if new_unihash != unihash:
|
||||
bb.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
|
||||
hashequiv_logger.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
|
||||
bb.event.fire(bb.runqueue.taskUniHashUpdate(fn + ':do_' + task, new_unihash), d)
|
||||
self.set_unihash(tid, new_unihash)
|
||||
d.setVar('BB_UNIHASH', new_unihash)
|
||||
else:
|
||||
bb.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
|
||||
hashequiv_logger.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
|
||||
except hashserv.client.HashConnectionError as e:
|
||||
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
|
||||
finally:
|
||||
@@ -606,7 +607,7 @@ class SignatureGeneratorUniHashMixIn(object):
|
||||
method = method + self.extramethod[tid]
|
||||
|
||||
data = self.client().report_unihash_equiv(taskhash, method, wanted_unihash, extra_data)
|
||||
bb.note('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.server, str(data)))
|
||||
hashequiv_logger.info('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.server, str(data)))
|
||||
|
||||
if data is None:
|
||||
bb.warn("Server unable to handle unihash report")
|
||||
@@ -615,14 +616,14 @@ class SignatureGeneratorUniHashMixIn(object):
|
||||
finalunihash = data['unihash']
|
||||
|
||||
if finalunihash == current_unihash:
|
||||
bb.note('Task %s unihash %s unchanged by server' % (tid, finalunihash))
|
||||
hashequiv_logger.info('Task %s unihash %s unchanged by server' % (tid, finalunihash))
|
||||
elif finalunihash == wanted_unihash:
|
||||
bb.note('Task %s unihash changed %s -> %s as wanted' % (tid, current_unihash, finalunihash))
|
||||
hashequiv_logger.info('Task %s unihash changed %s -> %s as wanted' % (tid, current_unihash, finalunihash))
|
||||
self.set_unihash(tid, finalunihash)
|
||||
return True
|
||||
else:
|
||||
# TODO: What to do here?
|
||||
bb.note('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash))
|
||||
hashequiv_logger.info('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash))
|
||||
|
||||
except hashserv.client.HashConnectionError as e:
|
||||
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
|
||||
|
||||
Reference in New Issue
Block a user