Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(719)

Unified Diff: telemetry/telemetry/internal/browser/browser_options.py

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: telemetry/telemetry/internal/browser/browser_options.py
diff --git a/telemetry/telemetry/internal/browser/browser_options.py b/telemetry/telemetry/internal/browser/browser_options.py
index d2ba8fa39c06de694737c3055cc42eaaf5e57c11..21dddcc7e5973fa6e7ff7990dcc5af2a44c191e4 100644
--- a/telemetry/telemetry/internal/browser/browser_options.py
+++ b/telemetry/telemetry/internal/browser/browser_options.py
@@ -230,6 +230,15 @@ class BrowserFinderOptions(optparse.Values):
class BrowserOptions(object):
"""Options to be used for launching a browser."""
+
+ # Levels of browser logging.
+ NO_LOGGING = 'none'
+ NON_VERBOSE_LOGGING = 'non-verbose'
+ VERBOSE_LOGGING = 'verbose'
+
+ _LOGGING_LEVELS = (NO_LOGGING, NON_VERBOSE_LOGGING, VERBOSE_LOGGING)
+ _DEFAULT_LOGGING_LEVEL = NO_LOGGING
+
def __init__(self):
self.browser_type = None
self.show_stdout = False
@@ -266,7 +275,8 @@ class BrowserOptions(object):
# Disable default apps.
self.disable_default_apps = True
- self.enable_logging = False
+ self.logging_verbosity = self._DEFAULT_LOGGING_LEVEL
+
# The cloud storage bucket & path for uploading logs data produced by the
# browser to.
# If logs_cloud_remote_path is None, a random remote path is generated every
@@ -324,12 +334,20 @@ class BrowserOptions(object):
group.add_option('--show-stdout',
action='store_true',
help='When possible, will display the stdout of the process')
+
+ group.add_option('--browser-logging-verbosity',
+ dest='logging_verbosity',
+ type='choice',
+ choices=cls._LOGGING_LEVELS,
+ help=('Browser logging verbosity. The log file is saved in temp '
+ "directory. Note that logging affects the browser's "
+ 'performance. Supported values: %s. Defaults to %s.' % (
+ ', '.join(cls._LOGGING_LEVELS), cls._DEFAULT_LOGGING_LEVEL)))
group.add_option('--enable-browser-logging',
dest='enable_logging',
action='store_true',
- help=('Enable browser logging. The log file is saved in temp directory.'
- "Note that enabling this flag affects the browser's "
- 'performance'))
+ help=('This flag is deprecated and will be removed after August 31, '
+ '2016. Please use --browser-logging-verbosity instead.'))
parser.add_option_group(group)
group = optparse.OptionGroup(parser, 'Compatibility options')
@@ -342,7 +360,6 @@ class BrowserOptions(object):
browser_options_list = [
'extra_browser_args_as_string',
'extra_wpr_args_as_string',
- 'enable_logging',
'profile_dir',
'profile_type',
'show_stdout',
@@ -385,10 +402,43 @@ class BrowserOptions(object):
if not self.profile_dir:
self.profile_dir = profile_types.GetProfileDir(self.profile_type)
+ if getattr(finder_options, 'enable_logging'):
+ if getattr(finder_options, 'logging_verbosity'):
+ # Both --enable-browser-logging and --browser-logging-verbosity were
+ # provided (fail).
+ logging.critical("It's illegal to provide both --enable-browser-logging"
+ ' and --browser-logging-verbosity.')
+ sys.exit(1)
+ # Only --enable-browser-logging was provided.
+ self.logging_verbosity = self.VERBOSE_LOGGING
+ delattr(finder_options, 'enable_logging')
+ elif getattr(finder_options, 'logging_verbosity'):
+ # Only --browser-logging-verbosity was provided (verbose logging).
+ self.logging_verbosity = finder_options.logging_verbosity
+ delattr(finder_options, 'logging_verbosity')
+
# This deferred import is necessary because browser_options is imported in
# telemetry/telemetry/__init__.py.
finder_options.browser_options = CreateChromeBrowserOptions(self)
+ # Deprecated: Please use |logging_verbosity| instead.
+ @property
+ def enable_logging(self):
+ logging.warning('enable_logging is deprecated and will be removed after '
+ 'August 31, 2016. Please use logging_verbosity instead.')
+ return self.logging_verbosity in [self.NON_VERBOSE_LOGGING,
+ self.VERBOSE_LOGGING]
+
+ # Deprecated: Please use |logging_verbosity| instead.
+ @enable_logging.setter
+ def enable_logging(self, value):
+ logging.warning('enable_logging is deprecated and will be removed after '
+ 'August 31, 2016. Please use logging_verbosity instead.')
+ if value:
+ self.logging_verbosity = self.NON_VERBOSE_LOGGING
+ else:
+ self.logging_verbosity = self.NO_LOGGING
+
@property
def finder_options(self):
return self._finder_options
« no previous file with comments | « telemetry/telemetry/internal/browser/browser.py ('k') | telemetry/telemetry/internal/browser/browser_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698