You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by no...@apache.org on 2020/12/29 12:49:44 UTC

[buildstream] 10/12: hack for benchmark

This is an automated email from the ASF dual-hosted git repository.

not-in-ldap pushed a commit to branch juerg/cache-query-job-benchmark
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 91368618e014b535b929a3e747610f941a1055cf
Author: Jürg Billeter <j...@bitron.ch>
AuthorDate: Tue Dec 15 07:14:58 2020 +0100

    hack for benchmark
---
 src/buildstream/_scheduler/jobs/job.py | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/buildstream/_scheduler/jobs/job.py b/src/buildstream/_scheduler/jobs/job.py
index aa71b6e..c7e2624 100644
--- a/src/buildstream/_scheduler/jobs/job.py
+++ b/src/buildstream/_scheduler/jobs/job.py
@@ -22,6 +22,7 @@
 
 # System imports
 import asyncio
+import contextlib
 import datetime
 import itertools
 import multiprocessing
@@ -495,13 +496,19 @@ class ChildJob:
         self._pipe_w = pipe_w
         self._messenger.set_message_handler(self._child_message_handler)
 
+        # FIXME
+        silence = self.action_name == "Cache-query"
+
         # Time, log and and run the action function
         #
-        with self._messenger.timed_suspendable() as timeinfo, self._messenger.recorded_messages(
-            self._logfile, self._logdir
-        ) as filename:
+        if silence:
+            record_cm = contextlib.suppress()
+        else:
+            record_cm = self._messenger.recorded_messages(self._logfile, self._logdir)
+        with self._messenger.timed_suspendable() as timeinfo, record_cm as filename:
             try:
-                self.message(MessageType.START, self.action_name, logfile=filename)
+                if not silence:
+                    self.message(MessageType.START, self.action_name, logfile=filename)
 
                 with self._terminate_lock:
                     self._thread_id = threading.current_thread().ident
@@ -513,7 +520,8 @@ class ChildJob:
                     result = self.child_process()  # pylint: disable=assignment-from-no-return
                 except SkipJob as e:
                     elapsed = datetime.datetime.now() - timeinfo.start_time
-                    self.message(MessageType.SKIPPED, str(e), elapsed=elapsed, logfile=filename)
+                    if not silence:
+                        self.message(MessageType.SKIPPED, str(e), elapsed=elapsed, logfile=filename)
 
                     # Alert parent of skip by return code
                     return _ReturnCode.SKIPPED, None
@@ -560,7 +568,8 @@ class ChildJob:
                 else:
                     # No exception occurred in the action
                     elapsed = datetime.datetime.now() - timeinfo.start_time
-                    self.message(MessageType.SUCCESS, self.action_name, elapsed=elapsed, logfile=filename)
+                    if not silence:
+                        self.message(MessageType.SUCCESS, self.action_name, elapsed=elapsed, logfile=filename)
 
                     # Shutdown needs to stay outside of the above context manager,
                     # make sure we dont try to handle SIGTERM while the process