summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolargo <nicolas@nicolargo.com>2021-07-16 15:39:24 +0200
committernicolargo <nicolas@nicolargo.com>2021-07-16 15:39:24 +0200
commit04bad352e6a054a9e001282f797c8e71608fe0b8 (patch)
treeaff2e7e0ac7de864cb21039946d4b69f8e49fa73
parenta0aa5b479d08a54e28aad25fb18a108f774a9108 (diff)
Get specific item
-rw-r--r--Makefile3
-rw-r--r--glances/__init__.py2
-rw-r--r--glances/main.py4
-rw-r--r--glances/outputs/glances_stdout_fields.py84
-rw-r--r--glances/plugins/glances_memswap.py6
-rw-r--r--glances/processes.py3
-rw-r--r--glances/standalone.py6
7 files changed, 12 insertions, 96 deletions
diff --git a/Makefile b/Makefile
index ebc54687..9f5a80b5 100644
--- a/Makefile
+++ b/Makefile
@@ -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