Add --logging_level option to crosperf.
Add --logging_level={verbose, average, quiet} option to crosperf,
optionally reducing the amount of logging output. "verbose" gives
the same output Crosperf always gave; "quiet" gives minimal output, and
"average" is in the middle. The default for now is "verbose". Doing this
also involved adding logging levels to the command_executer, and to
image_chromeos (again, with the default being "verbose").
BUG=None
TEST=Tested all three levels of logging, with and without having to
reimage the DUT. It all worked properly.
Change-Id: Icf8c9a6831fe25202adcb624c6c7e1d1a7ac25a5
Reviewed-on: https://chrome-internal-review.googlesource.com/156883
Reviewed-by: Caroline Tice <cmtice@google.com>
Commit-Queue: Caroline Tice <cmtice@google.com>
Tested-by: Caroline Tice <cmtice@google.com>
diff --git a/utils/command_executer.py b/utils/command_executer.py
index a4dca64..137348b 100644
--- a/utils/command_executer.py
+++ b/utils/command_executer.py
@@ -16,6 +16,7 @@
mock_default = False
+LOG_LEVEL=("quiet", "average", "verbose")
def InitCommandExecuter(mock=False):
global mock_default
@@ -23,21 +24,28 @@
mock_default = mock
-def GetCommandExecuter(logger_to_set=None, mock=False):
+def GetCommandExecuter(logger_to_set=None, mock=False, log_level="verbose"):
# If the default is a mock executer, always return one.
if mock_default or mock:
return MockCommandExecuter(logger_to_set)
else:
- return CommandExecuter(logger_to_set)
+ return CommandExecuter(log_level, logger_to_set)
class CommandExecuter:
- def __init__(self, logger_to_set=None):
+ def __init__(self, log_level, logger_to_set=None):
+ self.log_level = log_level
if logger_to_set is not None:
self.logger = logger_to_set
else:
self.logger = logger.GetLogger()
+ def GetLogLevel(self):
+ return self.log_level
+
+ def SetLogLevel(self, log_level):
+ self.log_level = log_level
+
def RunCommand(self, cmd, return_output=False, machine=None,
username=None, command_terminator=None,
command_timeout=None,
@@ -47,7 +55,11 @@
cmd = str(cmd)
- self.logger.LogCmd(cmd, machine, username, print_to_console)
+ if self.log_level == "quiet":
+ print_to_console=False
+
+ if self.log_level == "verbose":
+ self.logger.LogCmd(cmd, machine, username, print_to_console)
if command_terminator and command_terminator.IsTerminated():
self.logger.LogError("Command was terminated!", print_to_console)
if return_output:
@@ -170,7 +182,11 @@
terminated_timeout=10,
print_to_console=True):
"""Run a command on a chromeos box"""
- self.logger.LogCmd(cmd, print_to_console)
+
+ if self.log_level != "verbose":
+ print_to_console=False
+
+ self.logger.LogCmd(cmd, print_to_console=print_to_console)
self.logger.LogFatalIf(not machine, "No machine provided!")
self.logger.LogFatalIf(not chromeos_root, "chromeos_root not given!")
chromeos_root = os.path.expanduser(chromeos_root)
@@ -213,7 +229,11 @@
terminated_timeout=10,
print_to_console=True,
cros_sdk_options=""):
- self.logger.LogCmd(command, print_to_console)
+
+ if self.log_level != "verbose":
+ print_to_console = False
+
+ self.logger.LogCmd(command, print_to_console=print_to_console)
handle, command_file = tempfile.mkstemp(dir=os.path.join(chromeos_root,
"src/scripts"),