diff options
author | nicolargo <nicolas@nicolargo.com> | 2021-07-16 15:39:24 +0200 |
---|---|---|
committer | nicolargo <nicolas@nicolargo.com> | 2021-07-16 15:39:24 +0200 |
commit | 04bad352e6a054a9e001282f797c8e71608fe0b8 (patch) | |
tree | aff2e7e0ac7de864cb21039946d4b69f8e49fa73 | |
parent | a0aa5b479d08a54e28aad25fb18a108f774a9108 (diff) |
Get specific item
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | glances/__init__.py | 2 | ||||
-rw-r--r-- | glances/main.py | 4 | ||||
-rw-r--r-- | glances/outputs/glances_stdout_fields.py | 84 | ||||
-rw-r--r-- | glances/plugins/glances_memswap.py | 6 | ||||
-rw-r--r-- | glances/processes.py | 3 | ||||
-rw-r--r-- | glances/standalone.py | 6 |
7 files changed, 12 insertions, 96 deletions
@@ -48,6 +48,9 @@ run-debug: venv run-webserver: venv ./venv/bin/python -m glances -C ./conf/glances.conf -w +run-restapiserver: venv + ./venv/bin/python -m glances -C ./conf/glances.conf -w --disable-webui + run-server: venv ./venv/bin/python -m glances -C ./conf/glances.conf -s diff --git a/glances/__init__.py b/glances/__init__.py index 40002a77..dfe1591c 100644 --- a/glances/__init__.py +++ b/glances/__init__.py @@ -110,7 +110,7 @@ def start(config, args): # Start the main loop logger.debug("Glances started in {} seconds".format(start_duration.get())) - if args.stdout_issue or args.stdout_fields: + if args.stdout_issue or args.stdout_apidoc: # Serve once for issue/test mode mode.serve_issue() else: diff --git a/glances/main.py b/glances/main.py index d7ba181e..ae23dbf0 100644 --- a/glances/main.py +++ b/glances/main.py @@ -230,8 +230,8 @@ Examples of use: dest='stdout_csv', help='display stats to stdout, csv format (comma separated list of plugins/plugins.attribute)') parser.add_argument('--issue', default=None, action='store_true', dest='stdout_issue', help='test all plugins and exit (please copy/paste the output if you open an issue)') - parser.add_argument('--fields', '--api-doc', default=None, action='store_true', - dest='stdout_fields', help='display fields descriptions') + parser.add_argument('--api-doc', default=None, action='store_true', + dest='stdout_apidoc', help='display fields descriptions') if not WINDOWS: parser.add_argument('--hide-kernel-threads', action='store_true', default=False, dest='no_kernel_threads', help='hide kernel threads in process list (not available on Windows)') diff --git a/glances/outputs/glances_stdout_fields.py b/glances/outputs/glances_stdout_fields.py deleted file mode 100644 index b61d89da..00000000 --- a/glances/outputs/glances_stdout_fields.py +++ /dev/null @@ -1,84 +0,0 @@ -# -*- coding: utf-8 -*- -# -# This file is part of Glances. -# -# Copyright (C) 2021 Nicolargo <nicolas@nicolargo.com> -# -# Glances is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Glances is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -"""Fields description interface class.""" - -from pprint import pformat - -from glances.logger import logger -from glances.compat import iteritems - - -class GlancesStdoutFieldsDescription(object): - - """ - This class manages the fields description display. - """ - - def __init__(self, config=None, args=None): - # Init - self.config = config - self.args = args - - def end(self): - pass - - def update(self, - stats, - duration=3): - """Display issue - """ - print('.. _apidoc:') - print('') - print('Restfull/API plugins documentation') - print('==================================') - print('') - print('The Glances Restfull/API server could be ran using the following command line:') - print('') - print('.. code-block:: bash') - print('') - print(' # glances -w --disable-webui') - print('') - for plugin in sorted(stats._plugins): - if stats._plugins[plugin].fields_description: - print('{}'.format(plugin)) - print('-' * len(plugin)) - print('') - for field, description in iteritems(stats._plugins[plugin].fields_description): - print('* **{}**: {} (unit is *{}*)'.format(field, - description['description'][:-1] if description['description'].endswith('.') else description['description'], - description['unit'])) - print('') - print('GET {} plugin stats:'.format(plugin)) - print('') - print('.. code-block:: json') - print('') - print(' # curl http://localhost:61208/api/3/{}'.format(plugin)) - stat = stats._plugins[plugin].get_export() - if isinstance(stat, list) and len(stat) > 1: - # Only display two first items - print(' ' + pformat(stat[0:2]).replace('\n', '\n ')) - else: - print(' ' + pformat(stat).replace('\n', '\n ')) - print('') - else: - logger.error('No fields_description variable defined for plugin {}'.format(plugin)) - - # Return True to exit directly (no refresh) - return True diff --git a/glances/plugins/glances_memswap.py b/glances/plugins/glances_memswap.py index 7f3f0726..d305d0c3 100644 --- a/glances/plugins/glances_memswap.py +++ b/glances/plugins/glances_memswap.py @@ -26,12 +26,6 @@ from glances.plugins.glances_plugin import GlancesPlugin import psutil # Fields description - # total: total swap memory in bytes - # used: used swap memory in bytes - # free: free swap memory in bytes - # percent: the percentage usage - # sin: the number of bytes the system has swapped in from disk (cumulative) - # sout: the number of bytes the system has swapped out from disk (cumulative) fields_description = { 'total': {'description': 'Total swap memory.', 'unit': 'bytes'}, diff --git a/glances/processes.py b/glances/processes.py index 84650588..8fcda569 100644 --- a/glances/processes.py +++ b/glances/processes.py @@ -363,6 +363,9 @@ class GlancesProcesses(object): first = False # /End of extended stats + # PID is the key + proc['key'] = 'pid' + # Time since last update (for disk_io rate computation) proc['time_since_update'] = time_since_update diff --git a/glances/standalone.py b/glances/standalone.py index f95d79ff..d042873f 100644 --- a/glances/standalone.py +++ b/glances/standalone.py @@ -30,7 +30,7 @@ from glances.outputs.glances_curses import GlancesCursesStandalone from glances.outputs.glances_stdout import GlancesStdout from glances.outputs.glances_stdout_csv import GlancesStdoutCsv from glances.outputs.glances_stdout_issue import GlancesStdoutIssue -from glances.outputs.glances_stdout_fields import GlancesStdoutFieldsDescription +from glances.outputs.glances_stdout_apidoc import GlancesStdoutApiDoc from glances.outdated import Outdated from glances.timer import Counter @@ -88,10 +88,10 @@ class GlancesStandalone(object): logger.info("Issue mode is ON") # Init screen self.screen = GlancesStdoutIssue(config=config, args=args) - elif args.stdout_fields: + elif args.stdout_apidoc: logger.info("Fields descriptions mode is ON") # Init screen - self.screen = GlancesStdoutFieldsDescription(config=config, args=args) + self.screen = GlancesStdoutApiDoc(config=config, args=args) elif args.stdout: logger.info("Stdout mode is ON, following stats will be displayed: {}".format(args.stdout)) # Init screen |