From 9d8219c2657fd0907e5ef3a3bcee030b138ba7ca Mon Sep 17 00:00:00 2001 From: nicolargo Date: Fri, 27 Mar 2015 22:03:12 +0100 Subject: [PATCH] Add the quiet mode (-q) --- NEWS | 1 + docs/glances-doc.rst | 1 + glances/core/glances_main.py | 4 +++- glances/core/glances_standalone.py | 28 +++++++++++++++++++++------- glances/exports/glances_influxdb.py | 10 +++++----- man/glances.1 | 6 ++++++ 6 files changed, 37 insertions(+), 13 deletions(-) diff --git a/NEWS b/NEWS index 6c5b04be..2228d9b4 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,7 @@ Enhancements and news features: * Grab FAN speed in the Glances sensors plugin (issue #501) * Allow logical mounts points in the FS plugin (issue #448) * Add a --disable-hddtemp to disable HDD temperature module at startup (issue #515) + * Add a quiet mode (-q). Can be usefull if you need a Statsd or Influxdb provider only. Bugs corrected: diff --git a/docs/glances-doc.rst b/docs/glances-doc.rst index dcbcf577..16bd1b04 100644 --- a/docs/glances-doc.rst +++ b/docs/glances-doc.rst @@ -188,6 +188,7 @@ Command-Line Options --snmp-force force SNMP mode -t TIME, --time TIME set refresh time in seconds [default: 3 sec] -w, --webserver run Glances in web server mode + -q, --quiet run Glances in quiet mode (nothing is displayed) -f PROCESS_FILTER, --process-filter PROCESS_FILTER set the process filter patern (regular expression) --process-short-name force short name for processes name diff --git a/glances/core/glances_main.py b/glances/core/glances_main.py index 0a6b0186..8bdc7c18 100644 --- a/glances/core/glances_main.py +++ b/glances/core/glances_main.py @@ -173,6 +173,8 @@ Start the client browser (browser mode):\n\ parser.add_argument('-w', '--webserver', action='store_true', default=False, dest='webserver', help=_('run Glances in web server mode (need Bootle lib)')) # Display options + parser.add_argument('-q', '--quiet', default=False, action='store_true', + dest='quiet', help=_('Do not display the Curse interface')) parser.add_argument('-f', '--process-filter', default=None, type=str, dest='process_filter', help=_('set the process filter pattern (regular expression)')) parser.add_argument('--process-short-name', action='store_true', default=False, @@ -189,7 +191,7 @@ Start the client browser (browser mode):\n\ parser.add_argument('--fs-free-space', action='store_false', default=False, dest='fs_free_space', help=_('display FS free space instead of used')) parser.add_argument('--theme-white', action='store_true', default=False, - dest='theme_white', help=_('optimize display for white background')) + dest='theme_white', help=_('optimize display colors for white background')) return parser diff --git a/glances/core/glances_standalone.py b/glances/core/glances_standalone.py index e3d3a6c1..5cb149d0 100644 --- a/glances/core/glances_standalone.py +++ b/glances/core/glances_standalone.py @@ -32,12 +32,12 @@ class GlancesStandalone(object): """This class creates and manages the Glances standalone session.""" def __init__(self, config=None, args=None): + # Quiet mode + self._quiet = args.quiet + # Init stats self.stats = GlancesStats(config=config, args=args) - # Default number of processes to displayed is set to 50 - glances_processes.max_processes = 50 - # If process extended stats is disabled by user if not args.enable_process_extended: logger.debug("Extended stats for top process are disabled") @@ -61,8 +61,20 @@ class GlancesStandalone(object): # Initial system informations update self.stats.update() - # Init screen - self.screen = GlancesCursesStandalone(args=args) + if self.quiet: + logger.info("Quiet mode is ON: Nothing will be displayed") + # In quiet mode, nothing is displayed + glances_processes.max_processes = 0 + else: + # Default number of processes to displayed is set to 50 + glances_processes.max_processes = 50 + + # Init screen + self.screen = GlancesCursesStandalone(args=args) + + @property + def quiet(self): + return self._quiet def serve_forever(self): """Main loop for the CLI.""" @@ -71,14 +83,16 @@ class GlancesStandalone(object): self.stats.update() # Update the screen - self.screen.update(self.stats) + if not self.quiet: + self.screen.update(self.stats) # Export stats using export modules self.stats.export(self.stats) def end(self): """End of the standalone CLI.""" - self.screen.end() + if not self.quiet: + self.screen.end() # Exit from export modules self.stats.end() diff --git a/glances/exports/glances_influxdb.py b/glances/exports/glances_influxdb.py index e75c94f8..3371d3d3 100644 --- a/glances/exports/glances_influxdb.py +++ b/glances/exports/glances_influxdb.py @@ -84,11 +84,11 @@ class Export(GlancesExport): """Init the connection to the InfluxDB server""" if not self.export_enable: return None - db = InfluxDBClient(self.host, - self.port, - self.user, - self.password, - self.db) + db = InfluxDBClient(host=self.host, + port=self.port, + username=self.user, + password=self.password, + database=self.db) try: get_all_db = db.get_list_database()[0].values() except client.InfluxDBClientError as e: diff --git a/man/glances.1 b/man/glances.1 index e593b52d..6f980503 100644 --- a/man/glances.1 +++ b/man/glances.1 @@ -125,6 +125,12 @@ set refresh time in seconds [default: 3 sec] .B \-w, \-\-webserver run Glances in Web server mode .TP +.B \-q, \-\-quiet +run Glances in quiet mode (nothing is displayed) +.TP +.B -\f PROCESS_FILTER, \-\-process\-filter PROCESS_FILTER +set the process filter patern (regular expression) +.TP .B \-1, \-\-percpu start Glances in per CPU mode .TP