mirror of
https://github.com/nicolargo/glances.git
synced 2025-01-07 18:51:34 +03:00
Merge branch 'develop' into glancesv4
This commit is contained in:
commit
9b4afb84cf
47
NEWS.rst
47
NEWS.rst
@ -2,11 +2,56 @@
|
|||||||
Glances changelog
|
Glances changelog
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
|
===============
|
||||||
|
Version 3.3.0
|
||||||
|
===============
|
||||||
|
|
||||||
|
Version under development: see roadmap here https://github.com/nicolargo/glances/milestone/60
|
||||||
|
|
||||||
===============
|
===============
|
||||||
Version 3.2.7
|
Version 3.2.7
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Under development: see roadmap here https://github.com/nicolargo/glances/milestone/59
|
Enhancements:
|
||||||
|
|
||||||
|
* Config to disable all plugins by default (or enable an exclusive list) #2089
|
||||||
|
* Keybind(s) for modifying nice level #2081
|
||||||
|
* [WEBUI] Reorganize help screen #2037
|
||||||
|
* Add a Json stdout option #2060
|
||||||
|
* Improve error message when export error occures
|
||||||
|
* Improve error message when MQTT error occures
|
||||||
|
* Change the way core are displayed
|
||||||
|
* Remove unused key in the process list
|
||||||
|
* Refactor top menu of the curse interface
|
||||||
|
* Improve Irix display for the load plugin
|
||||||
|
|
||||||
|
Bug corrected:
|
||||||
|
|
||||||
|
* In the sensor plugin thresholds in the configuration file should overwrite system ones #2058
|
||||||
|
* Drive names truncated in Web UI #2055
|
||||||
|
* Correct issue with CPU label
|
||||||
|
|
||||||
|
Documentation and CI:
|
||||||
|
|
||||||
|
* Improve makefile help #2078
|
||||||
|
* Add quote to the update command line (already ok for the installation). Related to #2073
|
||||||
|
* Make Glances (almost) compliant with REUSE #2042
|
||||||
|
* Update README for Debian package users
|
||||||
|
* Update documentation for Docker
|
||||||
|
* Update docs for new shortcut
|
||||||
|
* Disable Pyright on the Git actions pipeline
|
||||||
|
* Refactor comments
|
||||||
|
* Except datutil import error
|
||||||
|
* Another dep issue solved in the Alpine Docker + issue in the outdated method
|
||||||
|
|
||||||
|
Contributors for this version:
|
||||||
|
|
||||||
|
* Nicolargo
|
||||||
|
* Sylvain MOUQUET
|
||||||
|
* FastThenLeft
|
||||||
|
* Jiajie Chen
|
||||||
|
* dbrennand
|
||||||
|
* ewuerger
|
||||||
|
|
||||||
===============
|
===============
|
||||||
Version 3.2.6
|
Version 3.2.6
|
||||||
|
47
README.rst
47
README.rst
@ -21,18 +21,21 @@ Glances - An eye on your system
|
|||||||
:target: https://github.com/nicolargo/glances/actions
|
:target: https://github.com/nicolargo/glances/actions
|
||||||
:alt: Linux tests (GitHub Actions)
|
:alt: Linux tests (GitHub Actions)
|
||||||
|
|
||||||
.. image:: https://img.shields.io/appveyor/ci/nicolargo/glances/master.svg?maxAge=3600&label=Windows
|
.. image:: https://img.shields.io/github/contributors/nicolargo/glances
|
||||||
:target: https://ci.appveyor.com/project/nicolargo/glances
|
:target: https://github.com/nicolargo/glances/issues?q=is%3Aissue+is%3Aopen+label%3A%22needs+contributor%22
|
||||||
:alt: Windows tests (Appveyor)
|
:alt: Contibutors
|
||||||
|
|
||||||
.. image:: https://scrutinizer-ci.com/g/nicolargo/glances/badges/quality-score.png?b=develop
|
.. image:: https://scrutinizer-ci.com/g/nicolargo/glances/badges/quality-score.png?b=develop
|
||||||
:target: https://scrutinizer-ci.com/g/nicolargo/glances/?branch=develop
|
:target: https://scrutinizer-ci.com/g/nicolargo/glances/?branch=develop
|
||||||
|
:alt: Code quality
|
||||||
|
|
||||||
.. image:: https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/nicolargo
|
.. image:: https://img.shields.io/github/sponsors/nicolargo
|
||||||
:target: https://github.com/sponsors/nicolargo
|
:target: https://github.com/sponsors/nicolargo
|
||||||
|
:alt: Sponsors
|
||||||
|
|
||||||
.. image:: https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40nicolargo
|
.. image:: https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=Follow%20%40nicolargo
|
||||||
:target: https://twitter.com/nicolargo
|
:target: https://twitter.com/nicolargo
|
||||||
|
:alt: @nicolargo
|
||||||
|
|
||||||
Summary
|
Summary
|
||||||
=======
|
=======
|
||||||
@ -132,8 +135,14 @@ For Windows, just install psutil from the binary installation file.
|
|||||||
*Note 2 (for the Wifi plugin)*: If you want to use the Wifi plugin, you need
|
*Note 2 (for the Wifi plugin)*: If you want to use the Wifi plugin, you need
|
||||||
to install the *wireless-tools* package on your system.
|
to install the *wireless-tools* package on your system.
|
||||||
|
|
||||||
You can also install the following libraries in order to use optional
|
By default, Glances is installed without the Web interface dependencies.
|
||||||
features (like the Web interface, exports modules...):
|
To install it, use the following command:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
pip install --user 'glances[web]'
|
||||||
|
|
||||||
|
For a full installation (with all features:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
@ -144,29 +153,14 @@ To upgrade Glances to the latest version:
|
|||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
pip install --user --upgrade glances
|
pip install --user --upgrade glances
|
||||||
pip install --user --upgrade 'glances[...]''
|
|
||||||
|
|
||||||
If you need to install Glances in a specific user location, use:
|
The current develop branch is published to the test.pypi.org package index.
|
||||||
|
If you want to test the develop version (could be instable), enter:
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
export PYTHONUSERBASE=~/mylocalpath
|
|
||||||
pip install --user glances
|
|
||||||
|
|
||||||
If you are administrator and want to install Glances for all users:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
sudo pip install glances
|
|
||||||
|
|
||||||
The current develop branch is also published to the test.pypi.org package index.
|
|
||||||
If you want to test the develop version, enter:
|
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
pip install --user -i https://test.pypi.org/simple/ Glances
|
pip install --user -i https://test.pypi.org/simple/ Glances
|
||||||
|
|
||||||
|
|
||||||
Glances Auto Install script: the easy way
|
Glances Auto Install script: the easy way
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
@ -205,7 +199,7 @@ Available versions on the Docker Hub repository:
|
|||||||
- *nicolargo/glances:latest-full* for a full Debian Glances image version with all dependencies
|
- *nicolargo/glances:latest-full* for a full Debian Glances image version with all dependencies
|
||||||
- *nicolargo/glances:alpine-latest-full* for a full Alpine Glances image version with all dependencies
|
- *nicolargo/glances:alpine-latest-full* for a full Alpine Glances image version with all dependencies
|
||||||
|
|
||||||
You can also specify a version by replacing latest by 3.2.6.3 (for example).
|
You can also specify a version by replacing latest by 3.2.6.4 (for example).
|
||||||
|
|
||||||
Run last version of Glances container in *console mode*:
|
Run last version of Glances container in *console mode*:
|
||||||
|
|
||||||
@ -246,6 +240,10 @@ able to install it using your favorite package manager. Be aware that
|
|||||||
when you use this method the operating system `package`_ for `Glances`
|
when you use this method the operating system `package`_ for `Glances`
|
||||||
may not be the latest version.
|
may not be the latest version.
|
||||||
|
|
||||||
|
Note: The Debian package (and all other Debian-based distributions) do
|
||||||
|
not include anymore the JS statics files used by the Web interface
|
||||||
|
(see ``issue2021``).
|
||||||
|
|
||||||
FreeBSD
|
FreeBSD
|
||||||
-------
|
-------
|
||||||
|
|
||||||
@ -472,3 +470,4 @@ Glances is distributed under the LGPL version 3 license. See ``COPYING`` for mor
|
|||||||
.. _wiki: https://github.com/nicolargo/glances/wiki/How-to-contribute-to-Glances-%3F
|
.. _wiki: https://github.com/nicolargo/glances/wiki/How-to-contribute-to-Glances-%3F
|
||||||
.. _package: https://repology.org/metapackage/glances/packages
|
.. _package: https://repology.org/metapackage/glances/packages
|
||||||
.. _sponsors: https://github.com/sponsors/nicolargo
|
.. _sponsors: https://github.com/sponsors/nicolargo
|
||||||
|
.. _issue2021: https://github.com/nicolargo/glances/issues/2021#issuecomment-1197831157
|
@ -524,6 +524,7 @@ port=8125
|
|||||||
# Configuration for the --export elasticsearch option
|
# Configuration for the --export elasticsearch option
|
||||||
# Data are available via the ES RESTful API. ex: URL/<index>/cpu
|
# Data are available via the ES RESTful API. ex: URL/<index>/cpu
|
||||||
# https://www.elastic.co
|
# https://www.elastic.co
|
||||||
|
scheme=http
|
||||||
host=localhost
|
host=localhost
|
||||||
port=9200
|
port=9200
|
||||||
index=glances
|
index=glances
|
||||||
@ -547,7 +548,7 @@ queue=glances_queue
|
|||||||
# Configuration for the --export mqtt option
|
# Configuration for the --export mqtt option
|
||||||
host=localhost
|
host=localhost
|
||||||
port=8883
|
port=8883
|
||||||
tls=true
|
tls=false
|
||||||
user=guest
|
user=guest
|
||||||
password=guest
|
password=guest
|
||||||
topic=glances
|
topic=glances
|
||||||
|
@ -54,6 +54,8 @@ RUN CASS_DRIVER_NO_CYTHON=1 pip3 install --no-cache-dir --user -r optional-requi
|
|||||||
FROM build as dev
|
FROM build as dev
|
||||||
ARG PYTHON_VERSION
|
ARG PYTHON_VERSION
|
||||||
|
|
||||||
|
COPY --from=remoteInstall /root/.local/bin /usr/local/bin/
|
||||||
|
COPY --from=remoteInstall /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/lib/python${PYTHON_VERSION}/site-packages/
|
||||||
COPY --from=additional-packages /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/lib/python${PYTHON_VERSION}/site-packages/
|
COPY --from=additional-packages /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/lib/python${PYTHON_VERSION}/site-packages/
|
||||||
COPY . /glances
|
COPY . /glances
|
||||||
COPY ./docker-compose/glances.conf /etc/glances.conf
|
COPY ./docker-compose/glances.conf /etc/glances.conf
|
||||||
@ -85,8 +87,8 @@ COPY --from=remoteInstall /root/.local/bin /usr/local/bin/
|
|||||||
COPY --from=remoteInstall /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/lib/python${PYTHON_VERSION}/site-packages/
|
COPY --from=remoteInstall /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/lib/python${PYTHON_VERSION}/site-packages/
|
||||||
COPY ./docker-compose/glances.conf /etc/glances.conf
|
COPY ./docker-compose/glances.conf /etc/glances.conf
|
||||||
|
|
||||||
# EXPOSE PORT (XMLRPC / WebUI)
|
# EXPOSE PORT (XMLRPC)
|
||||||
EXPOSE 61209 61208
|
EXPOSE 61209
|
||||||
|
|
||||||
# Define default command.
|
# Define default command.
|
||||||
CMD python3 -m glances -C /etc/glances.conf $GLANCES_OPT
|
CMD python3 -m glances -C /etc/glances.conf $GLANCES_OPT
|
||||||
@ -100,3 +102,9 @@ ARG PYTHON_VERSION
|
|||||||
|
|
||||||
COPY --from=additional-packages /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/lib/python${PYTHON_VERSION}/site-packages/
|
COPY --from=additional-packages /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/lib/python${PYTHON_VERSION}/site-packages/
|
||||||
COPY ./docker-compose/glances.conf /etc/glances.conf
|
COPY ./docker-compose/glances.conf /etc/glances.conf
|
||||||
|
|
||||||
|
# EXPOSE PORT (XMLRPC / WebUI)
|
||||||
|
EXPOSE 61209 61208
|
||||||
|
|
||||||
|
# Define default command.
|
||||||
|
CMD python3 -m glances -C /etc/glances.conf $GLANCES_OPT
|
||||||
|
@ -51,6 +51,8 @@ RUN CASS_DRIVER_NO_CYTHON=1 pip3 install --no-cache-dir --user -r optional-requi
|
|||||||
FROM build as dev
|
FROM build as dev
|
||||||
ARG PYTHON_VERSION
|
ARG PYTHON_VERSION
|
||||||
|
|
||||||
|
COPY --from=remoteInstall /root/.local/bin /usr/local/bin/
|
||||||
|
COPY --from=remoteInstall /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/local/lib/python${PYTHON_VERSION}/site-packages/
|
||||||
COPY --from=additional-packages /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/local/lib/python${PYTHON_VERSION}/site-packages/
|
COPY --from=additional-packages /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/local/lib/python${PYTHON_VERSION}/site-packages/
|
||||||
COPY . /glances
|
COPY . /glances
|
||||||
COPY ./docker-compose/glances.conf /etc/glances.conf
|
COPY ./docker-compose/glances.conf /etc/glances.conf
|
||||||
@ -84,8 +86,8 @@ COPY --from=remoteInstall /root/.local/bin /usr/local/bin/
|
|||||||
COPY --from=remoteInstall /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/local/lib/python${PYTHON_VERSION}/site-packages/
|
COPY --from=remoteInstall /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/local/lib/python${PYTHON_VERSION}/site-packages/
|
||||||
COPY ./docker-compose/glances.conf /etc/glances.conf
|
COPY ./docker-compose/glances.conf /etc/glances.conf
|
||||||
|
|
||||||
# EXPOSE PORT (XMLRPC / WebUI)
|
# EXPOSE PORT (XMLRPC)
|
||||||
EXPOSE 61209 61208
|
EXPOSE 61209
|
||||||
|
|
||||||
# Define default command.
|
# Define default command.
|
||||||
CMD python3 -m glances -C /etc/glances.conf $GLANCES_OPT
|
CMD python3 -m glances -C /etc/glances.conf $GLANCES_OPT
|
||||||
@ -99,3 +101,9 @@ ARG PYTHON_VERSION
|
|||||||
|
|
||||||
COPY --from=additional-packages /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/local/lib/python${PYTHON_VERSION}/site-packages/
|
COPY --from=additional-packages /root/.local/lib/python${PYTHON_VERSION}/site-packages /usr/local/lib/python${PYTHON_VERSION}/site-packages/
|
||||||
COPY ./docker-compose/glances.conf /etc/glances.conf
|
COPY ./docker-compose/glances.conf /etc/glances.conf
|
||||||
|
|
||||||
|
# EXPOSE PORT (XMLRPC / WebUI)
|
||||||
|
EXPOSE 61209 61208
|
||||||
|
|
||||||
|
# Define default command.
|
||||||
|
CMD python3 -m glances -C /etc/glances.conf $GLANCES_OPT
|
||||||
|
4
docs/_static/glances-flame.svg
vendored
4
docs/_static/glances-flame.svg
vendored
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 105 KiB |
743
docs/api.rst
743
docs/api.rst
File diff suppressed because it is too large
Load Diff
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||||
..
|
..
|
||||||
.TH "GLANCES" "1" "Jul 24, 2022" "3.2.7_beta01" "Glances"
|
.TH "GLANCES" "1" "Jul 28, 2022" "3.2.7" "Glances"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
glances \- An eye on your system
|
glances \- An eye on your system
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -19,7 +19,7 @@ import sys
|
|||||||
# Global name
|
# Global name
|
||||||
# Version should start and end with a numerical char
|
# Version should start and end with a numerical char
|
||||||
# See https://packaging.python.org/specifications/core-metadata/#version
|
# See https://packaging.python.org/specifications/core-metadata/#version
|
||||||
__version__ = '3.2.7_beta01'
|
__version__ = '3.3.0_beta1'
|
||||||
__author__ = 'Nicolas Hennion <nicolas@nicolargo.com>'
|
__author__ = 'Nicolas Hennion <nicolas@nicolargo.com>'
|
||||||
__license__ = 'LGPLv3'
|
__license__ = 'LGPLv3'
|
||||||
|
|
||||||
|
@ -242,17 +242,17 @@ def pretty_date(time=False):
|
|||||||
if second_diff < 10:
|
if second_diff < 10:
|
||||||
return "just now"
|
return "just now"
|
||||||
if second_diff < 60:
|
if second_diff < 60:
|
||||||
return str(second_diff) + " seconds"
|
return str(second_diff) + " secs"
|
||||||
if second_diff < 120:
|
if second_diff < 120:
|
||||||
return "a minute"
|
return "a min"
|
||||||
if second_diff < 3600:
|
if second_diff < 3600:
|
||||||
return str(second_diff // 60) + " minutes"
|
return str(second_diff // 60) + " mins"
|
||||||
if second_diff < 7200:
|
if second_diff < 7200:
|
||||||
return "an hour"
|
return "an hour"
|
||||||
if second_diff < 86400:
|
if second_diff < 86400:
|
||||||
return str(second_diff // 3600) + " hours"
|
return str(second_diff // 3600) + " hours"
|
||||||
if day_diff == 1:
|
if day_diff == 1:
|
||||||
return "Yesterday"
|
return "yesterday"
|
||||||
if day_diff < 7:
|
if day_diff < 7:
|
||||||
return str(day_diff) + " days"
|
return str(day_diff) + " days"
|
||||||
if day_diff < 31:
|
if day_diff < 31:
|
||||||
|
93
glances/outputs/static/package-lock.json
generated
93
glances/outputs/static/package-lock.json
generated
@ -86,6 +86,55 @@
|
|||||||
"integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==",
|
"integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@jridgewell/gen-mapping": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
|
||||||
|
"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@jridgewell/set-array": "^1.0.1",
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.4.10",
|
||||||
|
"@jridgewell/trace-mapping": "^0.3.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@jridgewell/resolve-uri": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@jridgewell/set-array": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@jridgewell/source-map": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
|
||||||
|
"integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@jridgewell/gen-mapping": "^0.3.0",
|
||||||
|
"@jridgewell/trace-mapping": "^0.3.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@jridgewell/sourcemap-codec": {
|
||||||
|
"version": "1.4.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
|
||||||
|
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@jridgewell/trace-mapping": {
|
||||||
|
"version": "0.3.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
|
||||||
|
"integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@jridgewell/resolve-uri": "^3.0.3",
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@nodelib/fs.scandir": {
|
"@nodelib/fs.scandir": {
|
||||||
"version": "2.1.5",
|
"version": "2.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||||
@ -570,8 +619,7 @@
|
|||||||
"buffer-from": {
|
"buffer-from": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
|
||||||
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
|
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"camel-case": {
|
"camel-case": {
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
@ -3121,8 +3169,7 @@
|
|||||||
"source-map": {
|
"source-map": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"source-map-js": {
|
"source-map-js": {
|
||||||
"version": "0.6.2",
|
"version": "0.6.2",
|
||||||
@ -3278,13 +3325,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"terser": {
|
"terser": {
|
||||||
"version": "5.9.0",
|
"version": "5.14.2",
|
||||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
|
||||||
"integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
|
"integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"@jridgewell/source-map": "^0.3.2",
|
||||||
|
"acorn": "^8.5.0",
|
||||||
"commander": "^2.20.0",
|
"commander": "^2.20.0",
|
||||||
"source-map": "~0.7.2",
|
|
||||||
"source-map-support": "~0.5.20"
|
"source-map-support": "~0.5.20"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -3293,12 +3341,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
|
||||||
"source-map": {
|
|
||||||
"version": "0.7.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
|
||||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
|
||||||
"dev": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -3318,8 +3360,7 @@
|
|||||||
"commander": {
|
"commander": {
|
||||||
"version": "2.20.3",
|
"version": "2.20.3",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"schema-utils": {
|
"schema-utils": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
@ -3345,30 +3386,10 @@
|
|||||||
"version": "0.5.20",
|
"version": "0.5.20",
|
||||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz",
|
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz",
|
||||||
"integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==",
|
"integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"buffer-from": "^1.0.0",
|
"buffer-from": "^1.0.0",
|
||||||
"source-map": "^0.6.0"
|
"source-map": "^0.6.0"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"terser": {
|
|
||||||
"version": "5.9.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
|
|
||||||
"integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"commander": "^2.20.0",
|
|
||||||
"source-map": "~0.7.2",
|
|
||||||
"source-map-support": "~0.5.20"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"source-map": {
|
|
||||||
"version": "0.7.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
|
||||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -80,10 +80,16 @@ another while ensuring that the tasks do not conflict.',
|
|||||||
'unit': 'number',
|
'unit': 'number',
|
||||||
'rate': True,
|
'rate': True,
|
||||||
'min_symbol': 'K',
|
'min_symbol': 'K',
|
||||||
'short_name': 'sw_int',
|
'short_name': 'sys_call',
|
||||||
|
},
|
||||||
|
'cpucore': {
|
||||||
|
'description': 'Total number of CPU core.',
|
||||||
|
'unit': 'number'
|
||||||
|
},
|
||||||
|
'time_since_update': {
|
||||||
|
'description': 'Number of seconds since last update.',
|
||||||
|
'unit': 'seconds'
|
||||||
},
|
},
|
||||||
'cpucore': {'description': 'Total number of CPU core.', 'unit': 'number'},
|
|
||||||
'time_since_update': {'description': 'Number of seconds since last update.', 'unit': 'seconds'},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# SNMP OID
|
# SNMP OID
|
||||||
|
@ -26,7 +26,7 @@ from glances.timer import getTimeSinceLastUpdate
|
|||||||
# https://github.com/docker/docker-py
|
# https://github.com/docker/docker-py
|
||||||
try:
|
try:
|
||||||
import docker
|
import docker
|
||||||
from dateutil import parser
|
from dateutil import parser, tz
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
import_error_tag = True
|
import_error_tag = True
|
||||||
# Display debug message if import KeyError
|
# Display debug message if import KeyError
|
||||||
@ -281,7 +281,8 @@ class PluginModel(GlancesPluginModel):
|
|||||||
container_stats['network_tx'] = container_stats['network'].get('tx', None)
|
container_stats['network_tx'] = container_stats['network'].get('tx', None)
|
||||||
# Uptime
|
# Uptime
|
||||||
container_stats['Uptime'] = pretty_date(
|
container_stats['Uptime'] = pretty_date(
|
||||||
parser.parse(container.attrs['State']['StartedAt']).replace(tzinfo=None)
|
# parser.parse(container.attrs['State']['StartedAt']).replace(tzinfo=None)
|
||||||
|
parser.parse(container.attrs['State']['StartedAt']).astimezone(tz.tzlocal()).replace(tzinfo=None)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
container_stats['cpu'] = {}
|
container_stats['cpu'] = {}
|
||||||
|
Loading…
Reference in New Issue
Block a user