mirror of
https://github.com/nicolargo/glances.git
synced 2024-12-24 01:35:23 +03:00
ORJson is not mandatory
This commit is contained in:
commit
e9abf1c9af
22
NEWS.rst
22
NEWS.rst
@ -6,7 +6,7 @@
|
||||
Version 4.0.0
|
||||
===============
|
||||
|
||||
See release note in Wiki format here: https://github.com/nicolargo/glances/wiki/Glances-4.0-Release-Note
|
||||
See release note in Wiki format: https://github.com/nicolargo/glances/wiki/Glances-4.0-Release-Note
|
||||
|
||||
**BREAKING CHANGES:**
|
||||
|
||||
@ -27,6 +27,26 @@ Glances version 4.x and higher:
|
||||
* Alert data model change from a list of list to a list of dict #2633
|
||||
* Docker memory usage uses the same algorithm than docker stats #2637
|
||||
|
||||
Special notes for package maintainers:
|
||||
|
||||
Minimal requirements for Glances version 4 are:
|
||||
|
||||
* psutil
|
||||
* defusedxml
|
||||
* packaging
|
||||
* ujson
|
||||
* pydantic
|
||||
* fastapi (for WebUI / RestFull API)
|
||||
* uvicorn (for WebUI / RestFull API)
|
||||
* jinja2 (for WebUI / RestFull API)
|
||||
|
||||
Majors changes between Glances version 3 and version 4:
|
||||
|
||||
* Bottle has been replaced by FastAPI and Uvicorn
|
||||
* CouchDB has been replaced by PyCouchDB
|
||||
* nvidia-ml-py has been replaced by py3nvml
|
||||
* pysnmp has been replaced by pysnmp-lextudio
|
||||
|
||||
Enhancements:
|
||||
|
||||
* Export individual processes stats #794
|
||||
|
@ -110,7 +110,6 @@ Optional dependencies:
|
||||
- ``jinja2`` (for templating, used under the hood by FastAPI)
|
||||
- ``kafka-python`` (for the Kafka export module)
|
||||
- ``netifaces`` (for the IP plugin)
|
||||
- ``orjson`` (fast JSON library, used under the hood by FastAPI)
|
||||
- ``nvidia-ml-py`` (for the GPU plugin)
|
||||
- ``pycouchdb`` (for the CouchDB export module)
|
||||
- ``pika`` (for the RabbitMQ/ActiveMQ export module)
|
||||
@ -224,6 +223,8 @@ Run last version of Glances container in *console mode*:
|
||||
|
||||
By default, the /etc/glances/glances.conf file is used (based on docker-compose/glances.conf).
|
||||
|
||||
By default, the /etc/glances/glances.conf file is used (based on docker-compose/glances.conf).
|
||||
|
||||
Additionally, if you want to use your own glances.conf file, you can
|
||||
create your own Dockerfile:
|
||||
|
||||
@ -325,7 +326,7 @@ Start Termux on your device and enter:
|
||||
$ apt update
|
||||
$ apt upgrade
|
||||
$ apt install clang python
|
||||
$ pip install fastapi uvicorn orjson jinja2
|
||||
$ pip install fastapi uvicorn jinja2
|
||||
$ pip install glances
|
||||
|
||||
And start Glances:
|
||||
|
@ -61,6 +61,9 @@ RUN apk add --no-cache \
|
||||
RUN python${PYTHON_VERSION} -m venv venv-build
|
||||
RUN /venv-build/bin/python${PYTHON_VERSION} -m pip install --upgrade pip
|
||||
|
||||
RUN python${PYTHON_VERSION} -m venv venv-build
|
||||
RUN /venv-build/bin/python${PYTHON_VERSION} -m pip install --upgrade pip
|
||||
|
||||
RUN python${PYTHON_VERSION} -m venv --without-pip venv
|
||||
|
||||
COPY requirements.txt docker-requirements.txt webui-requirements.txt optional-requirements.txt ./
|
||||
@ -105,6 +108,11 @@ COPY docker-bin.sh /usr/local/bin/glances
|
||||
RUN chmod a+x /usr/local/bin/glances
|
||||
ENV PATH="/venv/bin:$PATH"
|
||||
|
||||
# Copy binary and update PATH
|
||||
COPY docker-bin.sh /usr/local/bin/glances
|
||||
RUN chmod a+x /usr/local/bin/glances
|
||||
ENV PATH="/venv/bin:$PATH"
|
||||
|
||||
# EXPOSE PORT (XMLRPC / WebUI)
|
||||
EXPOSE 61209 61208
|
||||
|
||||
|
@ -92,6 +92,11 @@ COPY docker-bin.sh /usr/local/bin/glances
|
||||
RUN chmod a+x /usr/local/bin/glances
|
||||
ENV PATH="/venv/bin:$PATH"
|
||||
|
||||
# Copy binary and update PATH
|
||||
COPY docker-bin.sh /usr/local/bin/glances
|
||||
RUN chmod a+x /usr/local/bin/glances
|
||||
ENV PATH="/venv/bin:$PATH"
|
||||
|
||||
# EXPOSE PORT (XMLRPC / WebUI)
|
||||
EXPOSE 61209 61208
|
||||
|
||||
|
278
docs/api.rst
278
docs/api.rst
@ -141,7 +141,7 @@ Get plugin stats::
|
||||
"refresh": 3.0,
|
||||
"regex": True,
|
||||
"result": None,
|
||||
"timer": 0.3159339427947998},
|
||||
"timer": 0.3663492202758789},
|
||||
{"count": 0,
|
||||
"countmax": 20.0,
|
||||
"countmin": None,
|
||||
@ -150,7 +150,7 @@ Get plugin stats::
|
||||
"refresh": 3.0,
|
||||
"regex": True,
|
||||
"result": None,
|
||||
"timer": 0.3158426284790039}]
|
||||
"timer": 0.36623501777648926}]
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -178,7 +178,7 @@ Get a specific item when field matches the given value::
|
||||
"refresh": 3.0,
|
||||
"regex": True,
|
||||
"result": None,
|
||||
"timer": 0.3159339427947998}]}
|
||||
"timer": 0.3663492202758789}]}
|
||||
|
||||
GET cloud
|
||||
---------
|
||||
@ -228,14 +228,14 @@ Get plugin stats::
|
||||
"image": ["catthehacker/ubuntu:act-22.04"],
|
||||
"io": {"cumulative_ior": 100855808, "cumulative_iow": 0},
|
||||
"key": "name",
|
||||
"memory": {"inactive_file": 97996800,
|
||||
"memory": {"inactive_file": 101560320,
|
||||
"limit": 16422473728,
|
||||
"usage": 229437440},
|
||||
"memory_usage": 229437440,
|
||||
"usage": 138932224},
|
||||
"memory_usage": 138932224,
|
||||
"name": "act-test-test-freebsd-700362a4fd49fe930f7ab89909c5ca853cd3a832c27b6ac4e363947b0dd29bef",
|
||||
"network": {},
|
||||
"status": "running",
|
||||
"uptime": "3 days"}]
|
||||
"uptime": "5 days"}]
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -276,14 +276,14 @@ Get a specific item when field matches the given value::
|
||||
"io": {"cumulative_ior": 100855808,
|
||||
"cumulative_iow": 0},
|
||||
"key": "name",
|
||||
"memory": {"inactive_file": 97996800,
|
||||
"memory": {"inactive_file": 101560320,
|
||||
"limit": 16422473728,
|
||||
"usage": 229437440},
|
||||
"memory_usage": 229437440,
|
||||
"usage": 138932224},
|
||||
"memory_usage": 138932224,
|
||||
"name": "act-test-test-freebsd-700362a4fd49fe930f7ab89909c5ca853cd3a832c27b6ac4e363947b0dd29bef",
|
||||
"network": {},
|
||||
"status": "running",
|
||||
"uptime": "3 "
|
||||
"uptime": "5 "
|
||||
"days"}]}
|
||||
|
||||
GET core
|
||||
@ -311,18 +311,18 @@ Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/cpu
|
||||
{"cpucore": 16,
|
||||
"ctx_switches": 342229206,
|
||||
"ctx_switches": 417599944,
|
||||
"guest": 0.0,
|
||||
"idle": 2.0,
|
||||
"interrupts": 285412882,
|
||||
"idle": 4.0,
|
||||
"interrupts": 374317125,
|
||||
"iowait": 0.0,
|
||||
"irq": 0.0,
|
||||
"nice": 0.0,
|
||||
"soft_interrupts": 109392255,
|
||||
"soft_interrupts": 133208497,
|
||||
"steal": 0.0,
|
||||
"syscalls": 0,
|
||||
"system": 0.0,
|
||||
"total": 40.0,
|
||||
"total": 25.0,
|
||||
"user": 0.0}
|
||||
|
||||
Fields descriptions:
|
||||
@ -356,7 +356,7 @@ Fields descriptions:
|
||||
Get a specific field::
|
||||
|
||||
# curl http://localhost:61208/api/4/cpu/total
|
||||
{"total": 40.0}
|
||||
{"total": 25.0}
|
||||
|
||||
GET diskio
|
||||
----------
|
||||
@ -366,10 +366,10 @@ Get plugin stats::
|
||||
# curl http://localhost:61208/api/4/diskio
|
||||
[{"disk_name": "nvme0n1",
|
||||
"key": "disk_name",
|
||||
"read_bytes": 6650374656,
|
||||
"read_count": 310580,
|
||||
"write_bytes": 19140867072,
|
||||
"write_count": 813000},
|
||||
"read_bytes": 7890098688,
|
||||
"read_count": 344619,
|
||||
"write_bytes": 24110978048,
|
||||
"write_count": 1078819},
|
||||
{"disk_name": "nvme0n1p1",
|
||||
"key": "disk_name",
|
||||
"read_bytes": 7484416,
|
||||
@ -409,10 +409,10 @@ Get a specific item when field matches the given value::
|
||||
# curl http://localhost:61208/api/4/diskio/disk_name/nvme0n1
|
||||
{"nvme0n1": [{"disk_name": "nvme0n1",
|
||||
"key": "disk_name",
|
||||
"read_bytes": 6650374656,
|
||||
"read_count": 310580,
|
||||
"write_bytes": 19140867072,
|
||||
"write_count": 813000}]}
|
||||
"read_bytes": 7890098688,
|
||||
"read_count": 344619,
|
||||
"write_bytes": 24110978048,
|
||||
"write_count": 1078819}]}
|
||||
|
||||
GET folders
|
||||
-----------
|
||||
@ -439,13 +439,13 @@ Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/fs
|
||||
[{"device_name": "/dev/mapper/ubuntu--vg-ubuntu--lv",
|
||||
"free": 906407231488,
|
||||
"free": 905225412608,
|
||||
"fs_type": "ext4",
|
||||
"key": "mnt_point",
|
||||
"mnt_point": "/",
|
||||
"percent": 4.9,
|
||||
"percent": 5.0,
|
||||
"size": 1003736440832,
|
||||
"used": 46266703872}]
|
||||
"used": 47448522752}]
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -466,13 +466,13 @@ Get a specific item when field matches the given value::
|
||||
|
||||
# curl http://localhost:61208/api/4/fs/mnt_point//
|
||||
{"/": [{"device_name": "/dev/mapper/ubuntu--vg-ubuntu--lv",
|
||||
"free": 906407231488,
|
||||
"free": 905225412608,
|
||||
"fs_type": "ext4",
|
||||
"key": "mnt_point",
|
||||
"mnt_point": "/",
|
||||
"percent": 4.9,
|
||||
"percent": 5.0,
|
||||
"size": 1003736440832,
|
||||
"used": 46266703872}]}
|
||||
"used": 47448522752}]}
|
||||
|
||||
GET gpu
|
||||
-------
|
||||
@ -505,8 +505,8 @@ GET ip
|
||||
Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/ip
|
||||
{"address": "192.168.0.28",
|
||||
"gateway": "192.168.0.254",
|
||||
{"address": "192.168.1.26",
|
||||
"gateway": "192.168.1.1",
|
||||
"mask": "255.255.255.0",
|
||||
"mask_cidr": 24,
|
||||
"public_address": "",
|
||||
@ -524,7 +524,7 @@ Fields descriptions:
|
||||
Get a specific field::
|
||||
|
||||
# curl http://localhost:61208/api/4/ip/gateway
|
||||
{"gateway": "192.168.0.254"}
|
||||
{"gateway": "192.168.1.1"}
|
||||
|
||||
GET irq
|
||||
-------
|
||||
@ -546,9 +546,9 @@ Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/load
|
||||
{"cpucore": 16,
|
||||
"min1": 1.37060546875,
|
||||
"min15": 0.47119140625,
|
||||
"min5": 0.728515625}
|
||||
"min1": 1.19580078125,
|
||||
"min15": 0.728515625,
|
||||
"min5": 0.9990234375}
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -560,7 +560,7 @@ Fields descriptions:
|
||||
Get a specific field::
|
||||
|
||||
# curl http://localhost:61208/api/4/load/min1
|
||||
{"min1": 1.37060546875}
|
||||
{"min1": 1.19580078125}
|
||||
|
||||
GET mem
|
||||
-------
|
||||
@ -568,16 +568,16 @@ GET mem
|
||||
Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/mem
|
||||
{"active": 8055816192,
|
||||
"available": 7524483072,
|
||||
"buffers": 424374272,
|
||||
"cached": 7703969792,
|
||||
"free": 7524483072,
|
||||
"inactive": 5088911360,
|
||||
"percent": 54.2,
|
||||
"shared": 1277902848,
|
||||
{"active": 8123240448,
|
||||
"available": 7505043456,
|
||||
"buffers": 322965504,
|
||||
"cached": 7686283264,
|
||||
"free": 7505043456,
|
||||
"inactive": 5349273600,
|
||||
"percent": 54.3,
|
||||
"shared": 1051676672,
|
||||
"total": 16422473728,
|
||||
"used": 8897990656}
|
||||
"used": 8917430272}
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -604,13 +604,13 @@ GET memswap
|
||||
Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/memswap
|
||||
{"free": 4288933888,
|
||||
"percent": 0.1,
|
||||
{"free": 4288409600,
|
||||
"percent": 0.2,
|
||||
"sin": 4096,
|
||||
"sout": 3973120,
|
||||
"sout": 4055040,
|
||||
"time_since_update": 1,
|
||||
"total": 4294963200,
|
||||
"used": 6029312}
|
||||
"used": 6553600}
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -635,15 +635,15 @@ Get plugin stats::
|
||||
# curl http://localhost:61208/api/4/network
|
||||
[{"alias": None,
|
||||
"bytes_all": 0,
|
||||
"bytes_all_gauge": 5485164328,
|
||||
"bytes_all_gauge": 5895221761,
|
||||
"bytes_recv": 0,
|
||||
"bytes_recv_gauge": 5224129127,
|
||||
"bytes_recv_gauge": 5571082392,
|
||||
"bytes_sent": 0,
|
||||
"bytes_sent_gauge": 261035201,
|
||||
"bytes_sent_gauge": 324139369,
|
||||
"interface_name": "wlp0s20f3",
|
||||
"key": "interface_name",
|
||||
"speed": 0,
|
||||
"time_since_update": 0.32416534423828125}]
|
||||
"time_since_update": 0.37969160079956055}]
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -672,15 +672,15 @@ Get a specific item when field matches the given value::
|
||||
# curl http://localhost:61208/api/4/network/interface_name/wlp0s20f3
|
||||
{"wlp0s20f3": [{"alias": None,
|
||||
"bytes_all": 0,
|
||||
"bytes_all_gauge": 5485164328,
|
||||
"bytes_all_gauge": 5895221761,
|
||||
"bytes_recv": 0,
|
||||
"bytes_recv_gauge": 5224129127,
|
||||
"bytes_recv_gauge": 5571082392,
|
||||
"bytes_sent": 0,
|
||||
"bytes_sent_gauge": 261035201,
|
||||
"bytes_sent_gauge": 324139369,
|
||||
"interface_name": "wlp0s20f3",
|
||||
"key": "interface_name",
|
||||
"speed": 0,
|
||||
"time_since_update": 0.32416534423828125}]}
|
||||
"time_since_update": 0.37969160079956055}]}
|
||||
|
||||
GET now
|
||||
-------
|
||||
@ -688,7 +688,7 @@ GET now
|
||||
Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/now
|
||||
{"custom": "2024-05-09 16:15:16 CEST", "iso": "2024-05-09T16:15:16+02:00"}
|
||||
{"custom": "2024-05-12 09:32:48 CEST", "iso": "2024-05-12T09:32:48+02:00"}
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -698,7 +698,7 @@ Fields descriptions:
|
||||
Get a specific field::
|
||||
|
||||
# curl http://localhost:61208/api/4/now/iso
|
||||
{"iso": "2024-05-09T16:15:16+02:00"}
|
||||
{"iso": "2024-05-12T09:32:48+02:00"}
|
||||
|
||||
GET percpu
|
||||
----------
|
||||
@ -718,7 +718,7 @@ Get plugin stats::
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 100.0,
|
||||
"user": 0.0},
|
||||
"user": 1.0},
|
||||
{"cpu_number": 1,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
@ -760,12 +760,12 @@ Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/ports
|
||||
[{"description": "DefaultGateway",
|
||||
"host": "192.168.0.254",
|
||||
"host": "192.168.1.1",
|
||||
"indice": "port_0",
|
||||
"port": 0,
|
||||
"refresh": 30,
|
||||
"rtt_warning": None,
|
||||
"status": 0.004874,
|
||||
"status": 0.00664,
|
||||
"timeout": 3}]
|
||||
|
||||
Fields descriptions:
|
||||
@ -782,19 +782,19 @@ Fields descriptions:
|
||||
Get a specific field::
|
||||
|
||||
# curl http://localhost:61208/api/4/ports/host
|
||||
{"host": ["192.168.0.254"]}
|
||||
{"host": ["192.168.1.1"]}
|
||||
|
||||
Get a specific item when field matches the given value::
|
||||
|
||||
# curl http://localhost:61208/api/4/ports/host/192.168.0.254
|
||||
{"192.168.0.254": [{"description": "DefaultGateway",
|
||||
"host": "192.168.0.254",
|
||||
"indice": "port_0",
|
||||
"port": 0,
|
||||
"refresh": 30,
|
||||
"rtt_warning": None,
|
||||
"status": 0.004874,
|
||||
"timeout": 3}]}
|
||||
# curl http://localhost:61208/api/4/ports/host/192.168.1.1
|
||||
{"192.168.1.1": [{"description": "DefaultGateway",
|
||||
"host": "192.168.1.1",
|
||||
"indice": "port_0",
|
||||
"port": 0,
|
||||
"refresh": 30,
|
||||
"rtt_warning": None,
|
||||
"status": 0.00664,
|
||||
"timeout": 3}]}
|
||||
|
||||
GET processcount
|
||||
----------------
|
||||
@ -802,7 +802,7 @@ GET processcount
|
||||
Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/processcount
|
||||
{"pid_max": 0, "running": 3, "sleeping": 292, "thread": 1742, "total": 436}
|
||||
{"pid_max": 0, "running": 1, "sleeping": 290, "thread": 1643, "total": 432}
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -815,7 +815,7 @@ Fields descriptions:
|
||||
Get a specific field::
|
||||
|
||||
# curl http://localhost:61208/api/4/processcount/total
|
||||
{"total": 436}
|
||||
{"total": 432}
|
||||
|
||||
GET processlist
|
||||
---------------
|
||||
@ -855,14 +855,14 @@ GET quicklook
|
||||
Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/quicklook
|
||||
{"cpu": 40.0,
|
||||
{"cpu": 25.0,
|
||||
"cpu_hz": 4475000000.0,
|
||||
"cpu_hz_current": 997360250.0,
|
||||
"cpu_hz_current": 1170889250.0,
|
||||
"cpu_log_core": 16,
|
||||
"cpu_name": "13th Gen Intel(R) Core(TM) i7-13620H",
|
||||
"cpu_phys_core": 10,
|
||||
"load": 2.9,
|
||||
"mem": 54.2,
|
||||
"load": 4.6,
|
||||
"mem": 54.3,
|
||||
"percpu": [{"cpu_number": 0,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
@ -875,7 +875,7 @@ Get plugin stats::
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 100.0,
|
||||
"user": 0.0},
|
||||
"user": 1.0},
|
||||
{"cpu_number": 1,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
@ -931,7 +931,7 @@ Get plugin stats::
|
||||
{"cpu_number": 5,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 1.0,
|
||||
"idle": 0.0,
|
||||
"iowait": 0.0,
|
||||
"irq": 0.0,
|
||||
"key": "cpu_number",
|
||||
@ -939,35 +939,9 @@ Get plugin stats::
|
||||
"softirq": 0.0,
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 99.0,
|
||||
"total": 100.0,
|
||||
"user": 0.0},
|
||||
{"cpu_number": 6,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 1.0,
|
||||
"iowait": 0.0,
|
||||
"irq": 0.0,
|
||||
"key": "cpu_number",
|
||||
"nice": 0.0,
|
||||
"softirq": 0.0,
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 99.0,
|
||||
"user": 0.0},
|
||||
{"cpu_number": 7,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 1.0,
|
||||
"iowait": 0.0,
|
||||
"irq": 0.0,
|
||||
"key": "cpu_number",
|
||||
"nice": 0.0,
|
||||
"softirq": 0.0,
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 99.0,
|
||||
"user": 0.0},
|
||||
{"cpu_number": 8,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 0.0,
|
||||
@ -980,7 +954,20 @@ Get plugin stats::
|
||||
"system": 0.0,
|
||||
"total": 100.0,
|
||||
"user": 0.0},
|
||||
{"cpu_number": 9,
|
||||
{"cpu_number": 7,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 0.0,
|
||||
"iowait": 0.0,
|
||||
"irq": 0.0,
|
||||
"key": "cpu_number",
|
||||
"nice": 0.0,
|
||||
"softirq": 0.0,
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 100.0,
|
||||
"user": 0.0},
|
||||
{"cpu_number": 8,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 1.0,
|
||||
@ -993,6 +980,19 @@ Get plugin stats::
|
||||
"system": 0.0,
|
||||
"total": 99.0,
|
||||
"user": 0.0},
|
||||
{"cpu_number": 9,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 0.0,
|
||||
"iowait": 0.0,
|
||||
"irq": 0.0,
|
||||
"key": "cpu_number",
|
||||
"nice": 0.0,
|
||||
"softirq": 0.0,
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 100.0,
|
||||
"user": 0.0},
|
||||
{"cpu_number": 10,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
@ -1009,7 +1009,7 @@ Get plugin stats::
|
||||
{"cpu_number": 11,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 1.0,
|
||||
"idle": 0.0,
|
||||
"iowait": 0.0,
|
||||
"irq": 0.0,
|
||||
"key": "cpu_number",
|
||||
@ -1017,7 +1017,7 @@ Get plugin stats::
|
||||
"softirq": 0.0,
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 99.0,
|
||||
"total": 100.0,
|
||||
"user": 0.0},
|
||||
{"cpu_number": 12,
|
||||
"guest": 0.0,
|
||||
@ -1061,7 +1061,7 @@ Get plugin stats::
|
||||
{"cpu_number": 15,
|
||||
"guest": 0.0,
|
||||
"guest_nice": 0.0,
|
||||
"idle": 0.0,
|
||||
"idle": 1.0,
|
||||
"iowait": 0.0,
|
||||
"irq": 0.0,
|
||||
"key": "cpu_number",
|
||||
@ -1069,9 +1069,9 @@ Get plugin stats::
|
||||
"softirq": 0.0,
|
||||
"steal": 0.0,
|
||||
"system": 0.0,
|
||||
"total": 100.0,
|
||||
"total": 99.0,
|
||||
"user": 0.0}],
|
||||
"swap": 0.1}
|
||||
"swap": 0.2}
|
||||
|
||||
Fields descriptions:
|
||||
|
||||
@ -1109,14 +1109,14 @@ Get plugin stats::
|
||||
"label": "Ambient",
|
||||
"type": "temperature_core",
|
||||
"unit": "C",
|
||||
"value": 34,
|
||||
"value": 32,
|
||||
"warning": 0},
|
||||
{"critical": None,
|
||||
"key": "label",
|
||||
"label": "Ambient 3",
|
||||
"type": "temperature_core",
|
||||
"unit": "C",
|
||||
"value": 31,
|
||||
"value": 26,
|
||||
"warning": 0}]
|
||||
|
||||
Fields descriptions:
|
||||
@ -1177,7 +1177,7 @@ Get a specific item when field matches the given value::
|
||||
"label": "Ambient",
|
||||
"type": "temperature_core",
|
||||
"unit": "C",
|
||||
"value": 34,
|
||||
"value": 32,
|
||||
"warning": 0}]}
|
||||
|
||||
GET smart
|
||||
@ -1221,7 +1221,7 @@ GET uptime
|
||||
Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/uptime
|
||||
"3 days, 6:51:31"
|
||||
"6 days, 0:09:01"
|
||||
|
||||
GET version
|
||||
-----------
|
||||
@ -1238,8 +1238,8 @@ Get plugin stats::
|
||||
|
||||
# curl http://localhost:61208/api/4/wifi
|
||||
[{"key": "ssid",
|
||||
"quality_level": -65.0,
|
||||
"quality_link": 45.0,
|
||||
"quality_level": -63.0,
|
||||
"quality_link": 47.0,
|
||||
"ssid": "wlp0s20f3"}]
|
||||
|
||||
Get a specific field::
|
||||
@ -1251,8 +1251,8 @@ Get a specific item when field matches the given value::
|
||||
|
||||
# curl http://localhost:61208/api/4/wifi/ssid/wlp0s20f3
|
||||
{"wlp0s20f3": [{"key": "ssid",
|
||||
"quality_level": -65.0,
|
||||
"quality_link": 45.0,
|
||||
"quality_level": -63.0,
|
||||
"quality_link": 47.0,
|
||||
"ssid": "wlp0s20f3"}]}
|
||||
|
||||
GET all stats
|
||||
@ -1297,34 +1297,34 @@ GET stats history
|
||||
History of a plugin::
|
||||
|
||||
# curl http://localhost:61208/api/4/cpu/history
|
||||
{"system": [["2024-05-09T16:15:18.123732", 0.0],
|
||||
["2024-05-09T16:15:19.174298", 0.0],
|
||||
["2024-05-09T16:15:20.258556", 0.0]],
|
||||
"user": [["2024-05-09T16:15:18.123722", 0.0],
|
||||
["2024-05-09T16:15:19.174291", 0.0],
|
||||
["2024-05-09T16:15:20.258547", 0.0]]}
|
||||
{"system": [["2024-05-12T09:32:49.897081", 0.0],
|
||||
["2024-05-12T09:32:50.949869", 0.0],
|
||||
["2024-05-12T09:32:52.026236", 0.0]],
|
||||
"user": [["2024-05-12T09:32:49.897070", 0.0],
|
||||
["2024-05-12T09:32:50.949864", 0.0],
|
||||
["2024-05-12T09:32:52.026226", 0.0]]}
|
||||
|
||||
Limit history to last 2 values::
|
||||
|
||||
# curl http://localhost:61208/api/4/cpu/history/2
|
||||
{"system": [["2024-05-09T16:15:19.174298", 0.0],
|
||||
["2024-05-09T16:15:20.258556", 0.0]],
|
||||
"user": [["2024-05-09T16:15:19.174291", 0.0],
|
||||
["2024-05-09T16:15:20.258547", 0.0]]}
|
||||
{"system": [["2024-05-12T09:32:50.949869", 0.0],
|
||||
["2024-05-12T09:32:52.026236", 0.0]],
|
||||
"user": [["2024-05-12T09:32:50.949864", 0.0],
|
||||
["2024-05-12T09:32:52.026226", 0.0]]}
|
||||
|
||||
History for a specific field::
|
||||
|
||||
# curl http://localhost:61208/api/4/cpu/system/history
|
||||
{"system": [["2024-05-09T16:15:16.808048", 0.0],
|
||||
["2024-05-09T16:15:18.123732", 0.0],
|
||||
["2024-05-09T16:15:19.174298", 0.0],
|
||||
["2024-05-09T16:15:20.258556", 0.0]]}
|
||||
{"system": [["2024-05-12T09:32:48.680666", 0.0],
|
||||
["2024-05-12T09:32:49.897081", 0.0],
|
||||
["2024-05-12T09:32:50.949869", 0.0],
|
||||
["2024-05-12T09:32:52.026236", 0.0]]}
|
||||
|
||||
Limit history for a specific field to last 2 values::
|
||||
|
||||
# curl http://localhost:61208/api/4/cpu/system/history
|
||||
{"system": [["2024-05-09T16:15:19.174298", 0.0],
|
||||
["2024-05-09T16:15:20.258556", 0.0]]}
|
||||
{"system": [["2024-05-12T09:32:50.949869", 0.0],
|
||||
["2024-05-12T09:32:52.026236", 0.0]]}
|
||||
|
||||
GET limits (used for thresholds)
|
||||
--------------------------------
|
||||
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "GLANCES" "1" "May 09, 2024" "4.0.0_rc03" "Glances"
|
||||
.TH "GLANCES" "1" "May 12, 2024" "4.0.0_rc03" "Glances"
|
||||
.SH NAME
|
||||
glances \- An eye on your system
|
||||
.SH SYNOPSIS
|
||||
|
@ -146,8 +146,7 @@ class GlancesClientBrowser(object):
|
||||
# Else, the password should be enter by the user
|
||||
# Display a popup to enter password
|
||||
clear_password = self.screen.display_popup(
|
||||
'Password needed for {}: '.format(server['name']),
|
||||
popup_type='input', is_password=True
|
||||
'Password needed for {}: '.format(server['name']), popup_type='input', is_password=True
|
||||
)
|
||||
# Store the password for the selected server
|
||||
if clear_password is not None:
|
||||
|
@ -382,7 +382,7 @@ Examples of use:
|
||||
action='store_true',
|
||||
default=False,
|
||||
dest='webserver',
|
||||
help='run Glances in web server mode (FastAPI, Uvicorn, Jinja2 and OrJsonLib needed)',
|
||||
help='run Glances in web server mode (FastAPI, Uvicorn, Jinja2 libs needed)',
|
||||
)
|
||||
parser.add_argument(
|
||||
'--cached-time',
|
||||
|
@ -921,12 +921,15 @@ class _GlancesCurses(object):
|
||||
self.display_plugin(stat_display[p])
|
||||
|
||||
def display_popup(
|
||||
self, message,
|
||||
size_x=None, size_y=None,
|
||||
self,
|
||||
message,
|
||||
size_x=None,
|
||||
size_y=None,
|
||||
duration=3,
|
||||
popup_type='info',
|
||||
input_size=30, input_value=None,
|
||||
is_password=False
|
||||
input_size=30,
|
||||
input_value=None,
|
||||
is_password=False,
|
||||
):
|
||||
"""
|
||||
Display a centered popup.
|
||||
|
30
glances/outputs/static/package-lock.json
generated
30
glances/outputs/static/package-lock.json
generated
@ -3562,9 +3562,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
|
||||
"version": "3.3.7",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
|
||||
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@ -4059,7 +4059,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.6",
|
||||
"nanoid": "^3.3.7",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
@ -5800,6 +5800,15 @@
|
||||
"integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/word-wrap": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
|
||||
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
@ -8567,9 +8576,9 @@
|
||||
}
|
||||
},
|
||||
"nanoid": {
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
|
||||
"version": "3.3.7",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
|
||||
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
|
||||
},
|
||||
"natural-compare": {
|
||||
"version": "1.4.0",
|
||||
@ -8925,7 +8934,7 @@
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
|
||||
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
|
||||
"requires": {
|
||||
"nanoid": "^3.3.6",
|
||||
"nanoid": "^3.3.7",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
}
|
||||
@ -10142,6 +10151,11 @@
|
||||
"integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"word-wrap": {
|
||||
"version": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
|
||||
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
|
||||
"dev": true
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
|
@ -15,7 +15,6 @@ influxdb-client; python_version >= "3.7" # For InfluxDB >= 1.8
|
||||
jinja2
|
||||
kafka-python
|
||||
netifaces
|
||||
orjson; python_version >= "3.8"
|
||||
packaging; python_version >= "3.7"
|
||||
paho-mqtt
|
||||
pika
|
||||
|
7
setup.py
7
setup.py
@ -8,6 +8,10 @@ from io import open
|
||||
|
||||
from setuptools import setup, Command
|
||||
|
||||
# Predication warning
|
||||
# Glances version 4 will only be compatible with Python 3.7 and above
|
||||
if sys.version_info < (3, 7):
|
||||
print('WARNING: Glances version 4 will only be compatible with Python 3.7 and above.')
|
||||
|
||||
if sys.version_info < (3, 8):
|
||||
print('Glances requires at least Python 3.8 to run.')
|
||||
@ -46,7 +50,6 @@ def get_install_requires():
|
||||
if sys.platform.startswith('win'):
|
||||
requires.append('fastapi')
|
||||
requires.append('uvicorn')
|
||||
requires.append('orjson')
|
||||
requires.append('jinja2')
|
||||
requires.append('requests')
|
||||
|
||||
@ -70,7 +73,7 @@ def get_install_extras_require():
|
||||
'smart': ['pySMART.smartx'],
|
||||
'snmp': ['pysnmp'],
|
||||
'sparklines': ['sparklines'],
|
||||
'web': ['fastapi', 'uvicorn', 'jinja2', 'orjson', 'requests'],
|
||||
'web': ['fastapi', 'uvicorn', 'jinja2', 'requests'],
|
||||
'wifi': ['wifi']
|
||||
}
|
||||
if sys.platform.startswith('linux'):
|
||||
|
@ -3,5 +3,4 @@
|
||||
|
||||
fastapi; python_version >= "3.8"
|
||||
uvicorn; python_version >= "3.8"
|
||||
orjson; python_version >= "3.8"
|
||||
jinja2
|
Loading…
Reference in New Issue
Block a user