From: Joshua Watt <jpewhacker@gmail.com> To: bitbake-devel@lists.openembedded.org Cc: docs@lists.yoctoproject.org Subject: [PATCH 12/15] bitbake: Log hash equivalence with a different logger Date: Mon, 9 Mar 2020 11:33:50 -0500 [thread overview] Message-ID: <20200309163353.15362-13-JPEWhacker@gmail.com> (raw) In-Reply-To: <20200309163353.15362-1-JPEWhacker@gmail.com> Switches the hash equivalence logging to use a different logger so that it can be easily filtered out with python's structured logging. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> --- bitbake/lib/bb/runqueue.py | 11 ++++++----- bitbake/lib/bb/siggen.py | 17 +++++++++-------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 4106fa4bc4..e84890b8b7 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -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) diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index c2d0c736cf..0357b544b5 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -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))) -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: "Joshua Watt" <JPEWhacker@gmail.com> To: bitbake-devel@lists.openembedded.org Cc: docs@lists.yoctoproject.org, Joshua Watt <JPEWhacker@gmail.com> Subject: [bitbake-devel][PATCH 12/15] bitbake: Log hash equivalence with a different logger Date: Mon, 9 Mar 2020 11:33:50 -0500 [thread overview] Message-ID: <20200309163353.15362-13-JPEWhacker@gmail.com> (raw) In-Reply-To: <20200309163353.15362-1-JPEWhacker@gmail.com> Switches the hash equivalence logging to use a different logger so that it can be easily filtered out with python's structured logging. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> --- bitbake/lib/bb/runqueue.py | 11 ++++++----- bitbake/lib/bb/siggen.py | 17 +++++++++-------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 4106fa4bc4..e84890b8b7 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -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) diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index c2d0c736cf..0357b544b5 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -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))) -- 2.17.1
next prev parent reply other threads:[~2020-03-09 16:34 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-09 16:33 [PATCH 00/15] Add support for python structured logging Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 01/15] bitbake: lib/bb/msg.py: Convert default domains to a dictionary Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 02/15] bitbake: knotty: Handle logging messages with specific logger Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 03/15] bitbake: lib/bb/msg.py: Use log level instead of debug count Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 04/15] bitbake: lib/bb/msg.py: Add repr for BBLogFormatter Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 05/15] bitbake: knotty: Add commented logging_tree code Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 06/15] bitbake: lib/bb/msg.py: Add filter utilities Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 07/15] bitbake: lib/bb/msg.py: Remove unused filters Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 08/15] bitbake: lib/bb/msg.py: Add helper to set logging config Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 09/15] bitbake: knotty: Remove dependency on format variable Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 10/15] bitbake: knotty: Setup logs with config helper Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 11/15] bitbake: worker: Remove unnecessary addDefaultLogFilter Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` Joshua Watt [this message] 2020-03-09 16:33 ` [bitbake-devel][PATCH 12/15] bitbake: Log hash equivalence with a different logger Joshua Watt 2020-03-09 16:33 ` [PATCH 13/15] bitbake: Add autobuilder logging configuration Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 14/15] bitbake: Lower hash equivalence logging Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-09 16:33 ` [PATCH 15/15] bitbake-user-manual: Add documentation for BB_LOGCONFIG Joshua Watt 2020-03-09 16:33 ` [bitbake-devel][PATCH " Joshua Watt 2020-03-12 23:50 ` [docs] [PATCH " Rich Persaud 2020-03-13 1:42 ` Joshua Watt 2020-03-13 1:42 ` [docs] [bitbake-devel][PATCH " Joshua Watt
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200309163353.15362-13-JPEWhacker@gmail.com \ --to=jpewhacker@gmail.com \ --cc=bitbake-devel@lists.openembedded.org \ --cc=docs@lists.yoctoproject.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.