From a96403c6254e74c7939748f0917f0d6d606eda49 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 15 Dec 2019 17:45:20 +0000 Subject: bitbake: lib/bb: Optimise out debug messages from cooker We have bb.debug(2, xxx) messages in cooker which are useful for debugging but have really bad effects on performance, 640,000 calls on recent profile graphs taking tens of seconds. Rather than commenting out debug which can be useful for debugging, don't create events for debug log messages from cooker which would never be seen. We already stop the messages hitting the IPC but this avoids the overhead of creating the log messages too, which has been shown to be signficiant on the profiles. This allows the code to perform whilst allowing debug messages to be availble when wanted/enabled. (Bitbake rev: f04cd931091fb0508badf3e002d70a6952700495) Signed-off-by: Richard Purdie --- bitbake/lib/bb/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py index b9d8bfa769..88641e280b 100644 --- a/bitbake/lib/bb/__init__.py +++ b/bitbake/lib/bb/__init__.py @@ -43,6 +43,11 @@ class BBLogger(Logger): Logger.__init__(self, name) def bbdebug(self, level, msg, *args, **kwargs): + if not bb.event.worker_pid: + if self.name in bb.msg.loggerDefaultDomains and level > (bb.msg.loggerDefaultDomains[self.name]): + return + if level > (bb.msg.loggerDefaultDebugLevel): + return return self.log(logging.DEBUG - level + 1, msg, *args, **kwargs) def plain(self, msg, *args, **kwargs): -- cgit v1.2.3-54-g00ecf