From c227ea4619ab073183a981a99c2bd976688953b8 Mon Sep 17 00:00:00 2001 From: nicolargo Date: Thu, 29 Jan 2026 08:46:52 +0100 Subject: [PATCH] Avoid empty space when Quicklook plugin is displayed #3413 --- all-requirements.txt | 24 +- dev-requirements.txt | 39 +- docker-requirements.txt | 12 +- docs/api/python.rst | 337 +++++++------ docs/api/restful.rst | 651 ++++++++++++-------------- docs/man/glances.1 | 2 +- glances/plugins/quicklook/__init__.py | 19 +- requirements.txt | 6 +- 8 files changed, 509 insertions(+), 581 deletions(-) diff --git a/all-requirements.txt b/all-requirements.txt index 442d292a..54377913 100644 --- a/all-requirements.txt +++ b/all-requirements.txt @@ -36,7 +36,7 @@ click==8.1.8 # uvicorn colorama==0.4.6 ; sys_platform == 'win32' # via click -cryptography==46.0.3 +cryptography==46.0.4 # via # pysnmpcrypto # python-jose @@ -78,7 +78,7 @@ importlib-metadata==8.7.1 # via pygal influxdb==5.3.2 # via glances -influxdb-client==1.49.0 +influxdb-client==1.50.0 # via glances influxdb3-python==0.17.0 # via glances @@ -94,9 +94,9 @@ msgpack==1.1.2 # via influxdb nats-py==2.12.0 # via glances -nvidia-ml-py==13.590.44 +nvidia-ml-py==13.590.48 # via glances -packaging==25.0 +packaging==26.0 # via glances paho-mqtt==2.1.0 # via glances @@ -106,7 +106,7 @@ pika==1.3.2 # via glances ply==3.11 # via pysmi-lextudio -podman==5.6.0 +podman==5.7.0 # via glances potsdb==1.0.3 # via glances @@ -114,22 +114,20 @@ prometheus-client==0.24.1 # via glances protobuf==6.33.4 # via bernhard -psutil==7.1.1 ; platform_version < '11.' and sys_platform == 'darwin' - # via glances -psutil==7.2.1 ; platform_version >= '11.' or sys_platform != 'darwin' +psutil==7.1.1 # via glances psycopg==3.3.2 # via glances psycopg-binary==3.3.2 ; implementation_name != 'pypy' # via psycopg -pyarrow==22.0.0 +pyarrow==23.0.0 # via influxdb3-python pyasn1==0.6.2 # via # pysnmp-lextudio # python-jose # rsa -pycparser==2.23 ; (implementation_name != 'PyPy' and platform_python_implementation != 'PyPy') or (implementation_name == 'pypy' and platform_python_implementation == 'PyPy') +pycparser==3.0 ; (implementation_name != 'PyPy' and platform_python_implementation != 'PyPy') or (implementation_name == 'pypy' and platform_python_implementation == 'PyPy') # via cffi pydantic==2.12.5 # via fastapi @@ -187,10 +185,8 @@ requests==2.32.5 # pysmi-lextudio rsa==4.9.1 # via python-jose -setuptools==80.9.0 - # via - # influxdb-client - # wifi +setuptools==80.10.2 + # via wifi shtab==1.8.0 ; sys_platform != 'win32' # via glances six==1.17.0 diff --git a/dev-requirements.txt b/dev-requirements.txt index 3d8a511e..9d1791d1 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -10,6 +10,8 @@ anyio==4.12.1 # mcp # sse-starlette # starlette +async-generator==1.10 + # via trio-typing attrs==25.4.0 # via # glom @@ -66,7 +68,7 @@ contourpy==1.3.2 ; python_full_version < '3.11' # via matplotlib contourpy==1.3.3 ; python_full_version >= '3.11' # via matplotlib -cryptography==46.0.3 +cryptography==46.0.4 # via pyjwt cycler==0.12.1 # via matplotlib @@ -122,7 +124,9 @@ idna==3.11 imagesize==1.4.1 # via sphinx importlib-metadata==8.7.1 - # via opentelemetry-api + # via + # opentelemetry-api + # trio-typing iniconfig==2.3.0 # via pytest jinja2==3.1.6 @@ -149,6 +153,8 @@ mcp==1.23.3 mdurl==0.1.2 # via markdown-it-py memory-profiler==0.61.0 +mypy-extensions==1.1.0 + # via trio-typing nodeenv==1.10.0 # via # pre-commit @@ -201,7 +207,7 @@ outcome==1.3.0.post0 # via # trio # trio-websocket -packaging==25.0 +packaging==26.0 # via # matplotlib # opentelemetry-instrumentation @@ -209,6 +215,7 @@ packaging==25.0 # requirements-parser # semgrep # sphinx + # trio-typing # webdriver-manager peewee==3.19.0 # via semgrep @@ -223,12 +230,10 @@ protobuf==6.33.4 # via # googleapis-common-protos # opentelemetry-proto -psutil==7.1.1 ; platform_version < '11.' and sys_platform == 'darwin' - # via memory-profiler -psutil==7.2.1 ; platform_version >= '11.' or sys_platform != 'darwin' +psutil==7.1.1 # via memory-profiler py-spy==0.4.1 -pycparser==2.23 ; (implementation_name != 'PyPy' and implementation_name != 'pypy' and os_name == 'nt' and platform_version >= '11.') or (implementation_name != 'PyPy' and implementation_name != 'pypy' and os_name == 'nt' and sys_platform != 'darwin') or (implementation_name != 'PyPy' and platform_python_implementation != 'PyPy') +pycparser==3.0 ; (implementation_name != 'PyPy' and implementation_name != 'pypy' and os_name == 'nt' and platform_version >= '11.') or (implementation_name != 'PyPy' and implementation_name != 'pypy' and os_name == 'nt' and sys_platform != 'darwin') or (implementation_name != 'PyPy' and platform_python_implementation != 'PyPy') # via cffi pydantic==2.12.5 # via @@ -247,7 +252,7 @@ pygments==2.19.2 pyinstrument==5.1.2 pyjwt==2.10.1 # via mcp -pyparsing==3.3.1 +pyparsing==3.3.2 # via matplotlib pyright==1.1.408 pysocks==1.7.1 @@ -263,7 +268,7 @@ python-dotenv==1.2.1 # webdriver-manager python-magic==0.4.27 # via reuse -python-multipart==0.0.21 +python-multipart==0.0.22 # via mcp pywin32==311 ; sys_platform == 'win32' # via @@ -300,10 +305,10 @@ ruamel-yaml==0.19.1 # via semgrep ruamel-yaml-clib==0.2.14 # via semgrep -ruff==0.14.13 -selenium==4.39.0 -semgrep==1.148.0 -setuptools==80.9.0 +ruff==0.14.14 +selenium==4.40.0 +semgrep==1.149.0 +setuptools==80.10.2 shellingham==1.5.4 # via typer six==1.17.0 @@ -357,11 +362,18 @@ tomlkit==0.14.0 trio==0.32.0 # via # selenium + # trio-typing # trio-websocket +trio-typing==0.10.0 + # via selenium trio-websocket==0.12.2 # via selenium typer==0.21.1 # via rstcheck +types-certifi==2021.10.8.3 + # via selenium +types-urllib3==1.26.25.14 + # via selenium typing-extensions==4.15.0 # via # anyio @@ -378,6 +390,7 @@ typing-extensions==4.15.0 # selenium # semgrep # starlette + # trio-typing # typer # typing-inspection # uvicorn diff --git a/docker-requirements.txt b/docker-requirements.txt index f1f0f540..566ea884 100644 --- a/docker-requirements.txt +++ b/docker-requirements.txt @@ -16,7 +16,7 @@ click==8.1.8 # via uvicorn colorama==0.4.6 ; sys_platform == 'win32' # via click -cryptography==46.0.3 +cryptography==46.0.4 # via python-jose defusedxml==0.7.1 # via glances @@ -38,19 +38,17 @@ jinja2==3.1.6 # via glances markupsafe==3.0.3 # via jinja2 -packaging==25.0 +packaging==26.0 # via glances -podman==5.6.0 +podman==5.7.0 # via glances -psutil==7.1.1 ; platform_version < '11.' and sys_platform == 'darwin' - # via glances -psutil==7.2.1 ; platform_version >= '11.' or sys_platform != 'darwin' +psutil==7.1.1 # via glances pyasn1==0.6.2 # via # python-jose # rsa -pycparser==2.23 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy' +pycparser==3.0 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy' # via cffi pydantic==2.12.5 # via fastapi diff --git a/docs/api/python.rst b/docs/api/python.rst index 1126782d..24fadac2 100644 --- a/docs/api/python.rst +++ b/docs/api/python.rst @@ -22,25 +22,25 @@ use the following code: >>> gl = api.GlancesAPI() >>> gl.cpu {'cpucore': 16, - 'ctx_switches': 1081162869, + 'ctx_switches': 1091115555, 'guest': 0.0, - 'idle': 93.1, - 'interrupts': 907471396, - 'iowait': 0.5, + 'idle': 93.6, + 'interrupts': 914037547, + 'iowait': 0.4, 'irq': 0.0, 'nice': 0.0, - 'soft_interrupts': 383687418, + 'soft_interrupts': 386738689, 'steal': 0.0, 'syscalls': 0, - 'system': 4.4, - 'total': 6.1, + 'system': 4.0, + 'total': 6.5, 'user': 2.0} >>> gl.cpu.get("total") - 6.1 + 6.5 >>> gl.mem.get("used") - 13140776984 + 13211744280 >>> gl.auto_unit(gl.mem.get("used")) - 12.2G + 12.3G If the stats return a list of items (like network interfaces or processes), you can access them by their name: @@ -51,19 +51,19 @@ access them by their name: ['wlp0s20f3', 'vethba20a37'] >>> gl.network["wlp0s20f3"] {'alias': None, - 'bytes_all': 250, - 'bytes_all_gauge': 19020572996, - 'bytes_all_rate_per_sec': 1412.0, - 'bytes_recv': 164, - 'bytes_recv_gauge': 16507803055, + 'bytes_all': 416, + 'bytes_all_gauge': 19232953377, + 'bytes_all_rate_per_sec': 3035.0, + 'bytes_recv': 127, + 'bytes_recv_gauge': 16711418307, 'bytes_recv_rate_per_sec': 926.0, - 'bytes_sent': 86, - 'bytes_sent_gauge': 2512769941, - 'bytes_sent_rate_per_sec': 486.0, + 'bytes_sent': 289, + 'bytes_sent_gauge': 2521535070, + 'bytes_sent_rate_per_sec': 2108.0, 'interface_name': 'wlp0s20f3', 'key': 'interface_name', 'speed': 0, - 'time_since_update': 0.17694664001464844} + 'time_since_update': 0.1370394229888916} Init Glances Python API ----------------------- @@ -95,30 +95,30 @@ Alert stats: >>> type(gl.alert) >>> gl.alert - [{'avg': 99.71752139808788, - 'begin': 1769359723, + [{'avg': 99.62205850797511, + 'begin': 1769671120, 'count': 2, 'desc': '', 'end': -1, 'global_msg': 'High swap (paging) usage', - 'max': 99.71752139808788, - 'min': 99.71752139808788, + 'max': 99.62205850797511, + 'min': 99.62205850797511, 'sort': 'memory_percent', 'state': 'CRITICAL', - 'sum': 199.43504279617576, + 'sum': 199.24411701595022, 'top': ['code', 'code', 'code'], 'type': 'MEMSWAP'}, - {'avg': 79.97414391893248, - 'begin': 1769359723, + {'avg': 80.38286285722846, + 'begin': 1769671120, 'count': 2, 'desc': '', 'end': -1, 'global_msg': 'High swap (paging) usage', - 'max': 80.01532133874188, - 'min': 79.93296649912308, + 'max': 80.4474473082257, + 'min': 80.31827840623122, 'sort': 'memory_percent', 'state': 'WARNING', - 'sum': 159.94828783786497, + 'sum': 160.76572571445692, 'top': [], 'type': 'MEM'}] @@ -161,7 +161,7 @@ Ports stats: 'port': 0, 'refresh': 30, 'rtt_warning': None, - 'status': 0.005, + 'status': 0.007405, 'timeout': 3}] Ports fields description: @@ -202,14 +202,14 @@ Diskio stats: >>> gl.diskio.get("nvme0n1") {'disk_name': 'nvme0n1', 'key': 'disk_name', - 'read_bytes': 59929319936, - 'read_count': 2321710, + 'read_bytes': 62285909504, + 'read_count': 2479766, 'read_latency': 0, - 'read_time': 745355, - 'write_bytes': 80205739008, - 'write_count': 5979499, + 'read_time': 769398, + 'write_bytes': 82178950144, + 'write_count': 6045542, 'write_latency': 0, - 'write_time': 5732100} + 'write_time': 5814353} Diskio fields description: @@ -320,11 +320,11 @@ Processcount stats: >>> type(gl.processcount) >>> gl.processcount - {'pid_max': 0, 'running': 1, 'sleeping': 449, 'thread': 2419, 'total': 597} + {'pid_max': 0, 'running': 1, 'sleeping': 451, 'thread': 2420, 'total': 592} >>> gl.processcount.keys() ['total', 'running', 'sleeping', 'thread', 'pid_max'] >>> gl.processcount.get("total") - 597 + 592 Processcount fields description: @@ -351,17 +351,7 @@ Gpu stats: >>> type(gl.gpu) >>> gl.gpu - Return a dict of dict with key= - >>> gl.gpu.keys() - ['amd0'] - >>> gl.gpu.get("amd0") - {'fan_speed': None, - 'gpu_id': 'amd0', - 'key': 'gpu_id', - 'mem': 1, - 'name': 'AMD GPU', - 'proc': 10, - 'temperature': 24} + [] Gpu fields description: @@ -399,17 +389,7 @@ Npu stats: >>> type(gl.npu) >>> gl.npu - [{'freq': 53, - 'freq_current': 800000000, - 'freq_max': 1500000000, - 'load': None, - 'mem': None, - 'memory_total': None, - 'memory_used': None, - 'name': 'AMD NPU (Strix Point)', - 'npu_id': 'amd_1', - 'power': None, - 'temperature': None}] + [] Npu fields description: @@ -457,7 +437,7 @@ Percpu stats: 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 27.0, + 'idle': 24.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -465,8 +445,8 @@ Percpu stats: 'nice': 0.0, 'softirq': 0.0, 'steal': 0.0, - 'system': 9.0, - 'total': 73.0, + 'system': 5.0, + 'total': 76.0, 'user': 0.0} Percpu fields description: @@ -557,18 +537,18 @@ Network stats: >>> gl.network.get("wlp0s20f3") {'alias': None, 'bytes_all': 0, - 'bytes_all_gauge': 19020572996, + 'bytes_all_gauge': 19232953377, 'bytes_all_rate_per_sec': 0.0, 'bytes_recv': 0, - 'bytes_recv_gauge': 16507803055, + 'bytes_recv_gauge': 16711418307, 'bytes_recv_rate_per_sec': 0.0, 'bytes_sent': 0, - 'bytes_sent_gauge': 2512769941, + 'bytes_sent_gauge': 2521535070, 'bytes_sent_rate_per_sec': 0.0, 'interface_name': 'wlp0s20f3', 'key': 'interface_name', 'speed': 0, - 'time_since_update': 0.002484560012817383} + 'time_since_update': 0.0035347938537597656} Network fields description: @@ -609,23 +589,23 @@ Cpu stats: >>> gl.cpu {'cpucore': 16, - 'ctx_switches': 1081162869, + 'ctx_switches': 1091115555, 'guest': 0.0, - 'idle': 93.1, - 'interrupts': 907471396, - 'iowait': 0.5, + 'idle': 93.6, + 'interrupts': 914037547, + 'iowait': 0.4, 'irq': 0.0, 'nice': 0.0, - 'soft_interrupts': 383687418, + 'soft_interrupts': 386738689, 'steal': 0.0, 'syscalls': 0, - 'system': 4.4, - 'total': 6.1, + 'system': 4.0, + 'total': 6.5, 'user': 2.0} >>> gl.cpu.keys() ['total', 'user', 'nice', 'system', 'idle', 'iowait', 'irq', 'steal', 'guest', 'ctx_switches', 'interrupts', 'soft_interrupts', 'syscalls', 'cpucore'] >>> gl.cpu.get("total") - 6.1 + 6.5 Cpu fields description: @@ -697,7 +677,7 @@ Amps stats: 'refresh': 3.0, 'regex': True, 'result': None, - 'timer': 0.19056487083435059} + 'timer': 0.1684107780456543} Amps fields description: @@ -728,32 +708,32 @@ Processlist stats: >>> gl.processlist Return a dict of dict with key= >>> gl.processlist.keys() - [1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 121, 122, 123, 124, 125, 126, 127, 128, 133, 135, 136, 137, 138, 139, 140, 142, 143, 144, 145, 146, 147, 148, 150, 154, 156, 157, 158, 166, 179, 188, 189, 218, 219, 239, 240, 258, 267, 268, 269, 270, 271, 273, 279, 280, 364, 367, 369, 370, 371, 372, 373, 450, 452, 613, 618, 619, 620, 627, 659, 660, 726, 757, 758, 787, 795, 970, 971, 986, 1037, 1040, 1042, 1043, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1056, 1058, 1059, 1064, 1065, 1218, 1219, 1223, 1275, 1277, 1278, 1279, 1320, 1327, 1534, 1537, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2017, 2018, 2019, 2020, 2021, 2023, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2117, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2149, 2603, 2604, 2605, 2606, 2613, 2615, 2744, 2745, 2746, 2750, 2751, 2755, 2762, 2774, 2788, 2791, 2796, 2799, 2802, 2813, 2820, 2823, 2887, 2904, 2905, 2916, 3031, 3038, 3081, 3181, 3182, 3186, 3191, 3192, 3240, 3382, 3383, 3670, 3671, 3695, 3698, 3807, 3817, 3818, 3822, 3827, 3828, 3846, 3853, 3874, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3982, 4194, 4596, 5166, 6562, 36430, 481055, 813640, 813665, 813669, 813681, 813682, 813683, 813685, 813687, 813689, 813699, 813749, 813753, 813760, 813779, 813795, 813873, 813876, 813892, 813903, 813906, 813949, 813962, 813963, 814046, 814083, 814091, 814092, 814106, 814107, 814128, 814129, 814130, 814133, 814135, 814138, 814140, 814143, 814147, 814150, 814152, 814156, 814158, 814162, 814170, 814177, 814191, 814192, 814284, 814293, 814295, 814306, 814324, 814353, 814356, 814384, 814388, 814397, 814410, 814429, 814438, 814507, 814547, 814577, 814588, 814592, 814614, 814657, 814874, 814875, 814918, 814987, 814992, 815007, 815154, 815196, 815236, 815252, 815324, 815555, 815952, 815959, 815967, 816178, 816198, 816205, 816560, 816572, 818223, 818964, 820306, 896873, 929174, 1046355, 1046357, 1046358, 1046373, 1046415, 1046473, 1046506, 1046561, 1046578, 1046579, 1046654, 1046695, 1046913, 1047076, 1047144, 1047145, 1047146, 1047147, 1047434, 1047704, 1047831, 1048026, 1060640, 1060641, 1060689, 1060886, 1060909, 1081783, 1081790, 1081799, 1081805, 1081812, 1081818, 1081850, 1081870, 1085550, 1085551, 1085606, 1085617, 1117073, 1119112, 1136053, 1158334, 1158351, 1158371, 1158400, 1158403, 1166781, 1180098, 1182119, 1182137, 1182599, 1182609, 1213837, 1314746, 1318703, 1438249, 1438258, 1439516, 1485933, 1486694, 1559615, 1570874, 1576682, 1584189, 1598703, 1600590, 1601558, 1601671, 1601800, 1602059, 1609895, 1611147, 1611940, 1615476, 1616249, 1619957, 1621252, 1621982, 1623991, 1624242, 1625935, 1627199, 1628092, 1628569, 1628649, 1629504, 1629545, 1630412, 1637312, 1638007, 1638999, 1640165, 1640178, 1640179, 1640211, 1640456, 1640459, 1642237, 1642829, 1642993, 1645601, 1645609, 1647309, 1650451, 1651847, 1651956, 1651958, 1654986, 1655735, 1656222, 1656414, 1656764, 1657068, 1657431, 1657716, 1658892, 1659981, 1660136, 1660137, 1660138, 1660139, 1660140, 1660141, 1660158, 1660209, 1660582, 1660971, 1660998, 1660999, 1661032, 1661089, 1661478, 1661934, 1664237, 1664242, 1665968, 1665971, 1665972, 1665975] + [1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 121, 122, 123, 124, 125, 126, 127, 128, 133, 135, 136, 137, 138, 139, 140, 142, 143, 144, 145, 146, 147, 148, 150, 154, 156, 157, 158, 166, 179, 188, 189, 218, 219, 239, 240, 258, 267, 268, 269, 270, 271, 273, 279, 280, 364, 367, 369, 370, 371, 372, 373, 450, 452, 613, 618, 619, 620, 627, 659, 660, 726, 757, 758, 787, 795, 970, 971, 986, 1037, 1040, 1042, 1043, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1056, 1058, 1059, 1064, 1065, 1218, 1219, 1223, 1275, 1277, 1278, 1279, 1320, 1327, 1534, 1537, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2016, 2017, 2018, 2019, 2020, 2021, 2023, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2117, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2149, 2603, 2604, 2605, 2606, 2613, 2615, 2744, 2745, 2746, 2750, 2751, 2755, 2762, 2774, 2788, 2791, 2796, 2799, 2802, 2813, 2820, 2823, 2887, 2904, 2905, 2916, 3031, 3038, 3081, 3191, 3192, 3240, 3382, 3383, 3698, 3807, 3817, 3818, 3822, 3827, 3828, 3846, 3853, 3874, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3982, 4194, 4596, 5166, 6562, 36430, 481055, 813640, 813665, 813669, 813681, 813682, 813683, 813685, 813687, 813689, 813699, 813749, 813753, 813760, 813779, 813795, 813873, 813876, 813892, 813903, 813906, 813949, 813962, 813963, 814046, 814083, 814091, 814092, 814106, 814107, 814128, 814129, 814130, 814133, 814135, 814138, 814140, 814143, 814147, 814150, 814152, 814156, 814158, 814162, 814170, 814177, 814191, 814192, 814284, 814293, 814295, 814306, 814324, 814353, 814356, 814384, 814388, 814397, 814410, 814429, 814438, 814507, 814547, 814577, 814588, 814592, 814614, 814657, 814874, 814875, 814918, 814987, 814992, 815007, 815154, 815196, 815236, 815252, 815324, 815555, 815952, 815959, 815967, 816178, 816198, 816205, 816560, 816572, 818223, 818964, 820306, 896873, 929174, 1046355, 1046357, 1046358, 1046373, 1046415, 1046473, 1046506, 1046561, 1046578, 1046579, 1046654, 1046695, 1046913, 1047076, 1047144, 1047145, 1047146, 1047147, 1047434, 1047704, 1047831, 1048026, 1060640, 1060641, 1060689, 1060886, 1060909, 1081783, 1081790, 1081799, 1081805, 1081812, 1081818, 1081850, 1081870, 1085550, 1085551, 1085606, 1085617, 1117073, 1119112, 1136053, 1158334, 1158351, 1158371, 1158400, 1158403, 1166781, 1180098, 1182119, 1182137, 1182599, 1182609, 1213837, 1318703, 1439516, 1485933, 1486694, 1570874, 1576682, 1598703, 1601558, 1611147, 1611940, 1616249, 1621252, 1628092, 1628569, 1638999, 1640211, 1640456, 1642829, 1645601, 1645609, 1647309, 1658892, 1659981, 1660138, 1667866, 1668097, 1668559, 1668572, 1668576, 1668579, 1668585, 1668592, 1668616, 1668617, 1668634, 1668723, 1668843, 1669097, 1669162, 1669214, 1669275, 1669312, 1669482, 1671448, 1671481, 1671593, 1673235, 1673269, 1673528, 1673898, 1674027, 1675027, 1675077, 1675275, 1675650, 1676662, 1676743, 1676744, 1676971, 1677432, 1678032, 1678036, 1678120, 1678362, 1678363, 1678564, 1678565, 1678568, 1678836, 1679060, 1680024, 1681483, 1681543, 1681896, 1681963, 1682110, 1682154, 1682274, 1682486, 1682558, 1682643, 1683269, 1683539, 1683837, 1683840, 1683841, 1683844] >>> gl.processlist.get("1") {'cmdline': ['/sbin/init', 'splash'], 'cpu_percent': 0.0, - 'cpu_times': {'children_system': 11434.28, - 'children_user': 47203.22, + 'cpu_times': {'children_system': 11597.7, + 'children_user': 47323.97, 'iowait': 0.0, - 'system': 19.94, - 'user': 32.47}, + 'system': 22.02, + 'user': 37.43}, 'gids': {'effective': 0, 'real': 0, 'saved': 0}, 'io_counters': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'key': 'pid', 'memory_info': {'data': 7282688, 'dirty': 0, 'lib': 0, - 'rss': 11141120, - 'shared': 4952064, + 'rss': 11882496, + 'shared': 5230592, 'text': 45056, 'vms': 26632192}, - 'memory_percent': 0.06783923796583047, + 'memory_percent': 0.07235354019811552, 'name': 'systemd', 'nice': 0, 'num_threads': 1, 'pid': 1, 'status': 'S', - 'time_since_update': 0.4083402156829834, + 'time_since_update': 0.34056949615478516, 'username': 'root'} Processlist fields description: @@ -839,14 +819,11 @@ Load stats: >>> type(gl.load) >>> gl.load - {'cpucore': 16, - 'min1': 0.712890625, - 'min15': 0.5927734375, - 'min5': 0.60302734375} + {'cpucore': 16, 'min1': 0.39453125, 'min15': 0.685546875, 'min5': 0.572265625} >>> gl.load.keys() ['min1', 'min5', 'min15', 'cpucore'] >>> gl.load.get("min1") - 0.712890625 + 0.39453125 Load fields description: @@ -885,7 +862,7 @@ Sensors stats: 'label': 'Ambient', 'type': 'temperature_core', 'unit': 'C', - 'value': 36, + 'value': 35, 'warning': 0} Sensors fields description: @@ -923,7 +900,7 @@ Uptime stats: >>> type(gl.uptime) >>> gl.uptime - '29 days, 1:22:39' + '32 days, 15:52:36' Uptime limits: @@ -942,11 +919,11 @@ Now stats: >>> type(gl.now) >>> gl.now - {'custom': '2026-01-25 17:48:43 CET', 'iso': '2026-01-25T17:48:43+01:00'} + {'custom': '2026-01-29 08:18:40 CET', 'iso': '2026-01-29T08:18:40+01:00'} >>> gl.now.keys() ['iso', 'custom'] >>> gl.now.get("iso") - '2026-01-25T17:48:43+01:00' + '2026-01-29T08:18:40+01:00' Now fields description: @@ -975,14 +952,14 @@ Fs stats: ['/', '/zsfpool'] >>> gl.fs.get("/") {'device_name': '/dev/mapper/ubuntu--vg-ubuntu--lv', - 'free': 578540687360, + 'free': 578879549440, 'fs_type': 'ext4', 'key': 'mnt_point', 'mnt_point': '/', 'options': 'rw,relatime', - 'percent': 39.3, + 'percent': 39.2, 'size': 1003736440832, - 'used': 374133248000} + 'used': 373794385920} Fs fields description: @@ -1022,8 +999,8 @@ Wifi stats: ['wlp0s20f3'] >>> gl.wifi.get("wlp0s20f3") {'key': 'ssid', - 'quality_level': -57.0, - 'quality_link': 53.0, + 'quality_level': -58.0, + 'quality_link': 52.0, 'ssid': 'wlp0s20f3'} Wifi limits: @@ -1151,16 +1128,16 @@ Mem stats: >>> type(gl.mem) >>> gl.mem - {'active': 3400482816, - 'available': 3282049000, - 'buffers': 170029056, - 'cached': 3658005352, - 'free': 536829952, - 'inactive': 10466312192, - 'percent': 80.0, - 'shared': 859062272, + {'active': 8421834752, + 'available': 3211081704, + 'buffers': 192659456, + 'cached': 3846081384, + 'free': 426901504, + 'inactive': 5558714368, + 'percent': 80.4, + 'shared': 936468480, 'total': 16422825984, - 'used': 13140776984} + 'used': 13211744280} >>> gl.mem.keys() ['total', 'available', 'percent', 'used', 'free', 'active', 'inactive', 'buffers', 'cached', 'shared'] >>> gl.mem.get("total") @@ -1230,19 +1207,19 @@ Quicklook stats: >>> type(gl.quicklook) >>> gl.quicklook - {'cpu': 6.1, + {'cpu': 6.5, 'cpu_hz': 4475000000.0, - 'cpu_hz_current': 804293625.0, + 'cpu_hz_current': 789946562.5, 'cpu_log_core': 16, 'cpu_name': '13th Gen Intel(R) Core(TM) i7-13620H', 'cpu_phys_core': 10, - 'load': 3.7, - 'mem': 80.0, + 'load': 4.3, + 'mem': 80.4, 'percpu': [{'cpu_number': 0, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 27.0, + 'idle': 24.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1250,14 +1227,14 @@ Quicklook stats: 'nice': 0.0, 'softirq': 0.0, 'steal': 0.0, - 'system': 9.0, - 'total': 73.0, + 'system': 5.0, + 'total': 76.0, 'user': 0.0}, {'cpu_number': 1, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 29.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1265,14 +1242,14 @@ Quicklook stats: 'nice': 0.0, 'softirq': 0.0, 'steal': 0.0, - 'system': 1.0, - 'total': 63.0, - 'user': 1.0}, + 'system': 0.0, + 'total': 71.0, + 'user': 0.0}, {'cpu_number': 2, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 29.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1281,13 +1258,13 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 63.0, - 'user': 1.0}, + 'total': 71.0, + 'user': 0.0}, {'cpu_number': 3, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 38.0, + 'idle': 30.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1296,28 +1273,28 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 62.0, + 'total': 70.0, 'user': 0.0}, {'cpu_number': 4, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 12.0, + 'idle': 28.0, 'interrupt': None, - 'iowait': 1.0, + 'iowait': 0.0, 'irq': 0.0, 'key': 'cpu_number', 'nice': 0.0, 'softirq': 0.0, 'steal': 0.0, - 'system': 14.0, - 'total': 88.0, - 'user': 6.0}, + 'system': 1.0, + 'total': 72.0, + 'user': 0.0}, {'cpu_number': 5, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 30.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1326,28 +1303,28 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 63.0, + 'total': 70.0, 'user': 0.0}, {'cpu_number': 6, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 7.0, 'interrupt': None, - 'iowait': 0.0, + 'iowait': 2.0, 'irq': 0.0, 'key': 'cpu_number', 'nice': 0.0, 'softirq': 0.0, 'steal': 0.0, - 'system': 0.0, - 'total': 63.0, - 'user': 0.0}, + 'system': 11.0, + 'total': 93.0, + 'user': 8.0}, {'cpu_number': 7, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 30.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1356,13 +1333,13 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 63.0, + 'total': 70.0, 'user': 0.0}, {'cpu_number': 8, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 36.0, + 'idle': 25.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1370,14 +1347,14 @@ Quicklook stats: 'nice': 0.0, 'softirq': 0.0, 'steal': 0.0, - 'system': 0.0, - 'total': 64.0, + 'system': 3.0, + 'total': 75.0, 'user': 1.0}, {'cpu_number': 9, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 30.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1386,13 +1363,13 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 63.0, + 'total': 70.0, 'user': 0.0}, {'cpu_number': 10, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 36.0, + 'idle': 29.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1401,13 +1378,13 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 64.0, - 'user': 1.0}, + 'total': 71.0, + 'user': 0.0}, {'cpu_number': 11, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 29.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1416,28 +1393,13 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 63.0, + 'total': 71.0, 'user': 0.0}, {'cpu_number': 12, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 36.0, - 'interrupt': None, - 'iowait': 0.0, - 'irq': 0.0, - 'key': 'cpu_number', - 'nice': 0.0, - 'softirq': 0.0, - 'steal': 0.0, - 'system': 1.0, - 'total': 64.0, - 'user': 1.0}, - {'cpu_number': 13, - 'dpc': None, - 'guest': 0.0, - 'guest_nice': 0.0, - 'idle': 36.0, + 'idle': 30.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1446,13 +1408,28 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 64.0, - 'user': 1.0}, + 'total': 70.0, + 'user': 0.0}, + {'cpu_number': 13, + 'dpc': None, + 'guest': 0.0, + 'guest_nice': 0.0, + 'idle': 29.0, + 'interrupt': None, + 'iowait': 0.0, + 'irq': 0.0, + 'key': 'cpu_number', + 'nice': 0.0, + 'softirq': 0.0, + 'steal': 0.0, + 'system': 0.0, + 'total': 71.0, + 'user': 0.0}, {'cpu_number': 14, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 29.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1461,13 +1438,13 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 1.0, - 'total': 63.0, + 'total': 71.0, 'user': 0.0}, {'cpu_number': 15, 'dpc': None, 'guest': 0.0, 'guest_nice': 0.0, - 'idle': 37.0, + 'idle': 29.0, 'interrupt': None, 'iowait': 0.0, 'irq': 0.0, @@ -1476,9 +1453,9 @@ Quicklook stats: 'softirq': 0.0, 'steal': 0.0, 'system': 0.0, - 'total': 63.0, + 'total': 71.0, 'user': 0.0}], - 'swap': 99.7} + 'swap': 99.6} >>> gl.quicklook.keys() ['cpu_name', 'cpu_hz_current', 'cpu_hz', 'cpu', 'percpu', 'mem', 'swap', 'cpu_log_core', 'cpu_phys_core', 'load'] >>> gl.quicklook.get("cpu_name") @@ -1528,13 +1505,13 @@ Memswap stats: >>> type(gl.memswap) >>> gl.memswap - {'free': 12132352, - 'percent': 99.7, - 'sin': 3607220224, - 'sout': 13537800192, - 'time_since_update': 0.39128684997558594, + {'free': 16232448, + 'percent': 99.6, + 'sin': 3649384448, + 'sout': 13578919936, + 'time_since_update': 0.3369176387786865, 'total': 4294963200, - 'used': 4282830848} + 'used': 4278730752} >>> gl.memswap.keys() ['total', 'used', 'free', 'percent', 'sin', 'sout', 'time_since_update'] >>> gl.memswap.get("total") @@ -1569,10 +1546,10 @@ Use auto_unit() function to generate a human-readable string with the unit: .. code-block:: python >>> gl.mem.get("used") - 13140776984 + 13211744280 >>> gl.auto_unit(gl.mem.get("used")) - 12.2G + 12.3G Args: @@ -1628,7 +1605,7 @@ Use top_process() function to generate a list of top processes sorted by CPU or .. code-block:: python >>> gl.top_process() - [{'io_counters': [1789727744, 1042509824, 1789727744, 1042509824, 1], 'memory_info': {'rss': 1376223232, 'vms': 1501663428608, 'shared': 38875136, 'text': 148733952, 'lib': 0, 'data': 3162791936, 'dirty': 0}, 'pid': 1046561, 'name': 'code', 'memory_percent': 8.379941633314452, 'num_threads': 23, 'nice': 0, 'gids': {'real': 1000, 'effective': 1000, 'saved': 1000}, 'cpu_times': {'user': 3052.89, 'system': 1193.84, 'children_user': 947.66, 'children_system': 1015.48, 'iowait': 0.0}, 'status': 'S', 'cpu_percent': 2.6, 'key': 'pid', 'time_since_update': 0.4083402156829834, 'cmdline': ['/proc/self/exe', '--type=utility', '--utility-sub-type=node.mojom.NodeService', '--lang=en-US', '--service-sandbox-type=none', '--no-sandbox', '--dns-result-order=ipv4first', '--experimental-network-inspection', '--inspect-port=0', '--crashpad-handler-pid=1046373', '--enable-crash-reporter=864d4bb7-dd20-4851-830f-29e81dd93517,no_channel', '--user-data-dir=/home/nicolargo/.config/Code', '--standard-schemes=vscode-webview,vscode-file', '--secure-schemes=vscode-webview,vscode-file', '--cors-schemes=vscode-webview,vscode-file', '--fetch-schemes=vscode-webview,vscode-file', '--service-worker-schemes=vscode-webview', '--code-cache-schemes=vscode-webview,vscode-file', '--shared-files=v8_context_snapshot_data:100', '--field-trial-handle=3,i,17809207692588680227,6048650121133861189,262144', '--enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EarlyEstablishGpuChannel,EstablishGpuChannelAsync', '--disable-features=CalculateNativeWinOcclusion,FontationsLinuxSystemFonts,ScreenAIOCREnabled,SpareRendererForSitePerProcess', '--variations-seed-version'], 'username': 'nicolargo'}, {'io_counters': [69005312, 0, 69005312, 0, 1], 'memory_info': {'rss': 523079680, 'vms': 4503519232, 'shared': 104763392, 'text': 708608, 'lib': 0, 'data': 801980416, 'dirty': 0}, 'pid': 816205, 'name': 'Isolated Web Co', 'memory_percent': 3.185077163392052, 'num_threads': 33, 'nice': 0, 'gids': {'real': 1000, 'effective': 1000, 'saved': 1000}, 'cpu_times': {'user': 1491.37, 'system': 167.85, 'children_user': 0.0, 'children_system': 0.0, 'iowait': 0.0}, 'status': 'S', 'cpu_percent': 2.6, 'key': 'pid', 'time_since_update': 0.4083402156829834, 'cmdline': ['/snap/firefox/7559/usr/lib/firefox/firefox', '-contentproc', '-isForBrowser', '-prefsHandle', '0:45796', '-prefMapHandle', '1:280269', '-jsInitHandle', '2:223356', '-parentBuildID', '20251217233610', '-sandboxReporter', '3', '-chrootClient', '4', '-ipcHandle', '5', '-initialChannelId', '{9d32b0c3-0383-4497-8d41-70450152d0b9}', '-parentPid', '814875', '-crashReporter', '6', '-crashHelper', '7', '-greomni', '/snap/firefox/7559/usr/lib/firefox/omni.ja', '-appomni', '/snap/firefox/7559/usr/lib/firefox/browser/omni.ja', '-appDir', '/snap/firefox/7559/usr/lib/firefox/browser', '11', 'tab'], 'username': 'nicolargo'}, {'io_counters': [2899968, 21729280, 2899968, 21729280, 1], 'memory_info': {'rss': 223498240, 'vms': 76846993408, 'shared': 50962432, 'text': 61407232, 'lib': 0, 'data': 74437554176, 'dirty': 0}, 'pid': 1182137, 'name': 'claude', 'memory_percent': 1.3609000072079191, 'num_threads': 17, 'nice': 0, 'gids': {'real': 1000, 'effective': 1000, 'saved': 1000}, 'cpu_times': {'user': 234.97, 'system': 105.63, 'children_user': 2.37, 'children_system': 1.9, 'iowait': 0.0}, 'status': 'S', 'cpu_percent': 2.6, 'key': 'pid', 'time_since_update': 0.4083402156829834, 'cmdline': ['/home/nicolargo/.vscode/extensions/anthropic.claude-code-2.0.75-linux-x64/resources/native-binary/claude', '--output-format', 'stream-json', '--verbose', '--input-format', 'stream-json', '--max-thinking-tokens', '0', '--model', 'default', '--permission-prompt-tool', 'stdio', '--mcp-config', '{"mcpServers":{"claude-vscode":{"type":"sdk","name":"claude-vscode"}}}', '--setting-sources', 'user,project,local', '--permission-mode', 'default', '--include-partial-messages', '--debug', '--debug-to-stderr', '--enable-auth-status'], 'username': 'nicolargo'}] + [{'cpu_times': {'user': 1668.42, 'system': 88.0, 'children_user': 2.83, 'children_system': 2.5, 'iowait': 0.0}, 'gids': {'real': 1000, 'effective': 1000, 'saved': 1000}, 'memory_info': {'rss': 1103269888, 'vms': 1501589229568, 'shared': 26664960, 'text': 148733952, 'lib': 0, 'data': 2084085760, 'dirty': 0}, 'status': 'S', 'cpu_percent': 3.1, 'memory_percent': 6.717905244047917, 'io_counters': [357675008, 1413120, 357675008, 1413120, 1], 'num_threads': 16, 'nice': 0, 'name': 'code', 'pid': 1047434, 'key': 'pid', 'time_since_update': 0.34056949615478516, 'cmdline': ['/snap/code/211/usr/share/code/code', '/home/nicolargo/.vscode/extensions/ms-python.vscode-pylance-2025.10.4/dist/server.bundle.js', '--cancellationReceive=file:6f0e26e57de3d118bd143e07a60d69d9c0dcfafde4', '--node-ipc', '--clientProcessId=1046561'], 'username': 'nicolargo'}, {'cpu_times': {'user': 365.24, 'system': 168.04, 'children_user': 2.46, 'children_system': 1.91, 'iowait': 0.0}, 'gids': {'real': 1000, 'effective': 1000, 'saved': 1000}, 'memory_info': {'rss': 182128640, 'vms': 76532375552, 'shared': 24219648, 'text': 61407232, 'lib': 0, 'data': 75415621632, 'dirty': 0}, 'status': 'S', 'cpu_percent': 3.1, 'memory_percent': 1.1089969544671514, 'io_counters': [27238400, 21704704, 27238400, 21704704, 1], 'num_threads': 14, 'nice': 0, 'name': 'claude', 'pid': 1182119, 'key': 'pid', 'time_since_update': 0.34056949615478516, 'cmdline': ['/home/nicolargo/.vscode/extensions/anthropic.claude-code-2.0.75-linux-x64/resources/native-binary/claude', '--output-format', 'stream-json', '--verbose', '--input-format', 'stream-json', '--max-thinking-tokens', '0', '--model', 'default', '--permission-prompt-tool', 'stdio', '--setting-sources', 'user,project,local', '--permission-mode', 'default', '--include-partial-messages', '--debug', '--debug-to-stderr', '--enable-auth-status'], 'username': 'nicolargo'}, {'cpu_times': {'user': 240.4, 'system': 103.64, 'children_user': 49.85, 'children_system': 22.51, 'iowait': 0.0}, 'gids': {'real': 0, 'effective': 0, 'saved': 0}, 'memory_info': {'rss': 89559040, 'vms': 7925121024, 'shared': 9117696, 'text': 32280576, 'lib': 0, 'data': 814161920, 'dirty': 0}, 'status': 'S', 'cpu_percent': 3.1, 'memory_percent': 0.5453326978392953, 'io_counters': [0, 0, 0, 0, 0], 'num_threads': 74, 'nice': 0, 'name': 'dockerd', 'pid': 3807, 'key': 'pid', 'time_since_update': 0.34056949615478516, 'cmdline': ['/usr/bin/dockerd', '-H', 'fd://', '--containerd=/run/containerd/containerd.sock'], 'username': 'root'}] Args: diff --git a/docs/api/restful.rst b/docs/api/restful.rst index 557f82bd..f4a63ec4 100644 --- a/docs/api/restful.rst +++ b/docs/api/restful.rst @@ -253,7 +253,7 @@ Get plugin stats:: "refresh": 3.0, "regex": True, "result": None, - "timer": 0.3581230640411377}, + "timer": 0.2993171215057373}, {"count": 0, "countmax": 20.0, "countmin": None, @@ -262,7 +262,7 @@ Get plugin stats:: "refresh": 3.0, "regex": True, "result": None, - "timer": 0.3580656051635742}] + "timer": 0.29926037788391113}] Fields descriptions: @@ -290,7 +290,7 @@ Get a specific item when field matches the given value:: "refresh": 3.0, "regex": True, "result": None, - "timer": 0.3581230640411377}]} + "timer": 0.2993171215057373}]} GET cloud --------- @@ -338,17 +338,17 @@ Get plugin stats:: "engine": "docker", "id": "2af41a66456c7bfdd014aa03e2696354f7aeabbda3a867ed5f7290b74824bd4d", "image": ["nats:latest"], - "io": {"cumulative_ior": 16023552, "cumulative_iow": 0}, + "io": {"cumulative_ior": 16338944, "cumulative_iow": 0}, "io_rx": None, "io_wx": None, "key": "name", - "memory": {"inactive_file": 1789952, "limit": 16422825984, "usage": 8523776}, - "memory_inactive_file": 1789952, + "memory": {"inactive_file": 376832, "limit": 16422825984, "usage": 8245248}, + "memory_inactive_file": 376832, "memory_limit": 16422825984, "memory_percent": None, - "memory_usage": 8523776, + "memory_usage": 8245248, "name": "nats-for-glances", - "network": {"cumulative_rx": 584699, "cumulative_tx": 0}, + "network": {"cumulative_rx": 596418, "cumulative_tx": 0}, "network_rx": None, "network_tx": None, "ports": "4222->4222/tcp,6222->6222/tcp,8222->8222/tcp", @@ -392,19 +392,19 @@ Get a specific item when field matches the given value:: "engine": "docker", "id": "2af41a66456c7bfdd014aa03e2696354f7aeabbda3a867ed5f7290b74824bd4d", "image": ["nats:latest"], - "io": {"cumulative_ior": 16023552, "cumulative_iow": 0}, + "io": {"cumulative_ior": 16338944, "cumulative_iow": 0}, "io_rx": None, "io_wx": None, "key": "name", - "memory": {"inactive_file": 1789952, + "memory": {"inactive_file": 376832, "limit": 16422825984, - "usage": 8523776}, - "memory_inactive_file": 1789952, + "usage": 8245248}, + "memory_inactive_file": 376832, "memory_limit": 16422825984, "memory_percent": None, - "memory_usage": 8523776, + "memory_usage": 8245248, "name": "nats-for-glances", - "network": {"cumulative_rx": 584699, "cumulative_tx": 0}, + "network": {"cumulative_rx": 596418, "cumulative_tx": 0}, "network_rx": None, "network_tx": None, "ports": "4222->4222/tcp,6222->6222/tcp,8222->8222/tcp", @@ -436,19 +436,19 @@ Get plugin stats:: # curl http://localhost:61208/api/4/cpu {"cpucore": 16, - "ctx_switches": 1081186476, + "ctx_switches": 1091136161, "guest": 0.0, - "idle": 87.7, - "interrupts": 907532962, - "iowait": 0.3, + "idle": 92.1, + "interrupts": 914051530, + "iowait": 0.6, "irq": 0.0, "nice": 0.0, - "soft_interrupts": 383696946, + "soft_interrupts": 386746769, "steal": 0.0, "syscalls": 0, - "system": 4.8, - "total": 11.1, - "user": 7.2} + "system": 3.0, + "total": 6.6, + "user": 4.4} Fields descriptions: @@ -481,7 +481,7 @@ Fields descriptions: Get a specific field:: # curl http://localhost:61208/api/4/cpu/total - {"total": 11.1} + {"total": 6.6} GET diskio ---------- @@ -491,20 +491,20 @@ Get plugin stats:: # curl http://localhost:61208/api/4/diskio [{"disk_name": "nvme0n1", "key": "disk_name", - "read_bytes": 59929451008, - "read_count": 2321711, + "read_bytes": 62299278848, + "read_count": 2480093, "read_latency": 0, - "read_time": 745365, - "write_bytes": 80206201856, - "write_count": 5979569, + "read_time": 769456, + "write_bytes": 82179634176, + "write_count": 6045623, "write_latency": 0, - "write_time": 5732740}, + "write_time": 5815106}, {"disk_name": "nvme0n1p1", "key": "disk_name", - "read_bytes": 18506752, - "read_count": 2103, + "read_bytes": 19609600, + "read_count": 2519, "read_latency": 0, - "read_time": 1889, + "read_time": 2446, "write_bytes": 1024, "write_count": 2, "write_latency": 0, @@ -550,14 +550,14 @@ Get a specific item when field matches the given value:: # curl http://localhost:61208/api/4/diskio/disk_name/value/nvme0n1 {"nvme0n1": [{"disk_name": "nvme0n1", "key": "disk_name", - "read_bytes": 59929451008, - "read_count": 2321711, + "read_bytes": 62299278848, + "read_count": 2480093, "read_latency": 0, - "read_time": 745365, - "write_bytes": 80206201856, - "write_count": 5979569, + "read_time": 769456, + "write_bytes": 82179634176, + "write_count": 6045623, "write_latency": 0, - "write_time": 5732740}]} + "write_time": 5815106}]} GET folders ----------- @@ -584,14 +584,14 @@ Get plugin stats:: # curl http://localhost:61208/api/4/fs [{"device_name": "/dev/mapper/ubuntu--vg-ubuntu--lv", - "free": 578540703744, + "free": 578879565824, "fs_type": "ext4", "key": "mnt_point", "mnt_point": "/", "options": "rw,relatime", - "percent": 39.3, + "percent": 39.2, "size": 1003736440832, - "used": 374133231616}, + "used": 373794369536}, {"device_name": "zsfpool", "free": 41680896, "fs_type": "zfs", @@ -622,14 +622,14 @@ Get a specific item when field matches the given value:: # curl http://localhost:61208/api/4/fs/mnt_point/value// {"/": [{"device_name": "/dev/mapper/ubuntu--vg-ubuntu--lv", - "free": 578540703744, + "free": 578879565824, "fs_type": "ext4", "key": "mnt_point", "mnt_point": "/", "options": "rw,relatime", - "percent": 39.3, + "percent": 39.2, "size": 1003736440832, - "used": 374133231616}]} + "used": 373794369536}]} GET gpu ------- @@ -637,13 +637,7 @@ GET gpu Get plugin stats:: # curl http://localhost:61208/api/4/gpu - [{"fan_speed": None, - "gpu_id": "amd0", - "key": "gpu_id", - "mem": 1, - "name": "AMD GPU", - "proc": 10, - "temperature": 24}] + [] Fields descriptions: @@ -654,22 +648,6 @@ Fields descriptions: * **temperature**: GPU temperature (unit is *celsius*) * **fan_speed**: GPU fan speed (unit is *roundperminute*) -Get a specific field:: - - # curl http://localhost:61208/api/4/gpu/gpu_id - {"gpu_id": ["amd0"]} - -Get a specific item when field matches the given value:: - - # curl http://localhost:61208/api/4/gpu/gpu_id/value/amd0 - {"amd0": [{"fan_speed": None, - "gpu_id": "amd0", - "key": "gpu_id", - "mem": 1, - "name": "AMD GPU", - "proc": 10, - "temperature": 24}]} - GET help -------- @@ -719,10 +697,7 @@ GET load Get plugin stats:: # curl http://localhost:61208/api/4/load - {"cpucore": 16, - "min1": 0.81640625, - "min15": 0.6005859375, - "min5": 0.62646484375} + {"cpucore": 16, "min1": 0.443359375, "min15": 0.6875, "min5": 0.57958984375} Fields descriptions: @@ -734,7 +709,7 @@ Fields descriptions: Get a specific field:: # curl http://localhost:61208/api/4/load/min1 - {"min1": 0.81640625} + {"min1": 0.443359375} GET mem ------- @@ -742,16 +717,16 @@ GET mem Get plugin stats:: # curl http://localhost:61208/api/4/mem - {"active": 3404247040, - "available": 3171633128, - "buffers": 170037248, - "cached": 3711257448, - "free": 459456512, - "inactive": 10466213888, - "percent": 80.7, - "shared": 912199680, + {"active": 8427999232, + "available": 3210090472, + "buffers": 192962560, + "cached": 3840908136, + "free": 412540928, + "inactive": 5561991168, + "percent": 80.5, + "shared": 918220800, "total": 16422825984, - "used": 13251192856} + "used": 13212735512} Fields descriptions: @@ -778,13 +753,13 @@ GET memswap Get plugin stats:: # curl http://localhost:61208/api/4/memswap - {"free": 12132352, - "percent": 99.7, - "sin": 3607220224, - "sout": 13537800192, + {"free": 16232448, + "percent": 99.6, + "sin": 3649384448, + "sout": 13578919936, "time_since_update": 1, "total": 4294963200, - "used": 4282830848} + "used": 4278730752} Fields descriptions: @@ -809,32 +784,32 @@ Get plugin stats:: # curl http://localhost:61208/api/4/network [{"alias": None, "bytes_all": 0, - "bytes_all_gauge": 19020576480, + "bytes_all_gauge": 19232981477, "bytes_all_rate_per_sec": 0, "bytes_recv": 0, - "bytes_recv_gauge": 16507804216, + "bytes_recv_gauge": 16711432467, "bytes_recv_rate_per_sec": 0, "bytes_sent": 0, - "bytes_sent_gauge": 2512772264, + "bytes_sent_gauge": 2521549010, "bytes_sent_rate_per_sec": 0, "interface_name": "wlp0s20f3", "key": "interface_name", "speed": 0, - "time_since_update": 0.36458849906921387}, + "time_since_update": 0.3050692081451416}, {"alias": None, "bytes_all": 0, - "bytes_all_gauge": 584699, + "bytes_all_gauge": 596418, "bytes_all_rate_per_sec": 0, "bytes_recv": 0, "bytes_recv_gauge": 0, "bytes_recv_rate_per_sec": 0, "bytes_sent": 0, - "bytes_sent_gauge": 584699, + "bytes_sent_gauge": 596418, "bytes_sent_rate_per_sec": 0, "interface_name": "vethba20a37", "key": "interface_name", "speed": 10485760000, - "time_since_update": 0.36458849906921387}] + "time_since_update": 0.3050692081451416}] Fields descriptions: @@ -863,18 +838,18 @@ Get a specific item when field matches the given value:: # curl http://localhost:61208/api/4/network/interface_name/value/wlp0s20f3 {"wlp0s20f3": [{"alias": None, "bytes_all": 0, - "bytes_all_gauge": 19020576480, + "bytes_all_gauge": 19232981477, "bytes_all_rate_per_sec": 0, "bytes_recv": 0, - "bytes_recv_gauge": 16507804216, + "bytes_recv_gauge": 16711432467, "bytes_recv_rate_per_sec": 0, "bytes_sent": 0, - "bytes_sent_gauge": 2512772264, + "bytes_sent_gauge": 2521549010, "bytes_sent_rate_per_sec": 0, "interface_name": "wlp0s20f3", "key": "interface_name", "speed": 0, - "time_since_update": 0.36458849906921387}]} + "time_since_update": 0.3050692081451416}]} GET now ------- @@ -882,7 +857,7 @@ GET now Get plugin stats:: # curl http://localhost:61208/api/4/now - {"custom": "2026-01-25 17:48:47 CET", "iso": "2026-01-25T17:48:47+01:00"} + {"custom": "2026-01-29 08:18:44 CET", "iso": "2026-01-29T08:18:44+01:00"} Fields descriptions: @@ -892,7 +867,7 @@ Fields descriptions: Get a specific field:: # curl http://localhost:61208/api/4/now/iso - {"iso": "2026-01-25T17:48:47+01:00"} + {"iso": "2026-01-29T08:18:44+01:00"} GET npu ------- @@ -900,17 +875,7 @@ GET npu Get plugin stats:: # curl http://localhost:61208/api/4/npu - [{"freq": 53, - "freq_current": 800000000, - "freq_max": 1500000000, - "load": None, - "mem": None, - "memory_total": None, - "memory_used": None, - "name": "AMD NPU (Strix Point)", - "npu_id": "amd_1", - "power": None, - "temperature": None}] + [] Fields descriptions: @@ -926,26 +891,6 @@ Fields descriptions: * **temperature**: NPU temperature (unit is *celsius*) * **power**: NPU power consumption (unit is *watt*) -Get a specific field:: - - # curl http://localhost:61208/api/4/npu/npu_id - {"npu_id": ["amd_1"]} - -Get a specific item when field matches the given value:: - - # curl http://localhost:61208/api/4/npu/npu_id/value/amd_1 - {"amd_1": [{"freq": 53, - "freq_current": 800000000, - "freq_max": 1500000000, - "load": None, - "mem": None, - "memory_total": None, - "memory_used": None, - "name": "AMD NPU (Strix Point)", - "npu_id": "amd_1", - "power": None, - "temperature": None}]} - GET percpu ---------- @@ -956,7 +901,7 @@ Get plugin stats:: "dpc": None, "guest": 0.0, "guest_nice": 0.0, - "idle": 22.0, + "idle": 25.0, "interrupt": None, "iowait": 0.0, "irq": 0.0, @@ -964,23 +909,23 @@ Get plugin stats:: "nice": 0.0, "softirq": 0.0, "steal": 0.0, - "system": 8.0, - "total": 78.0, - "user": 3.0}, + "system": 4.0, + "total": 75.0, + "user": 0.0}, {"cpu_number": 1, "dpc": None, "guest": 0.0, "guest_nice": 0.0, - "idle": 33.0, + "idle": 29.0, "interrupt": None, - "iowait": 1.0, + "iowait": 0.0, "irq": 0.0, "key": "cpu_number", "nice": 0.0, "softirq": 0.0, "steal": 0.0, "system": 0.0, - "total": 67.0, + "total": 71.0, "user": 0.0}] Fields descriptions: @@ -1017,7 +962,7 @@ Get plugin stats:: "port": 0, "refresh": 30, "rtt_warning": None, - "status": 0.005507, + "status": 0.008446, "timeout": 3}] Fields descriptions: @@ -1045,7 +990,7 @@ Get a specific item when field matches the given value:: "port": 0, "refresh": 30, "rtt_warning": None, - "status": 0.005507, + "status": 0.008446, "timeout": 3}]} GET processcount @@ -1054,7 +999,7 @@ GET processcount Get plugin stats:: # curl http://localhost:61208/api/4/processcount - {"pid_max": 0, "running": 2, "sleeping": 448, "thread": 2425, "total": 597} + {"pid_max": 0, "running": 1, "sleeping": 451, "thread": 2409, "total": 592} Fields descriptions: @@ -1067,7 +1012,7 @@ Fields descriptions: Get a specific field:: # curl http://localhost:61208/api/4/processcount/total - {"total": 597} + {"total": 592} GET processlist --------------- @@ -1077,22 +1022,22 @@ Get plugin stats:: # curl http://localhost:61208/api/4/processlist [{"cmdline": ["/sbin/init", "splash"], "cpu_percent": 0.0, - "cpu_times": {"children_system": 11434.28, - "children_user": 47203.22, + "cpu_times": {"children_system": 11597.7, + "children_user": 47323.97, "iowait": 0.0, - "system": 19.94, - "user": 32.47}, + "system": 22.02, + "user": 37.43}, "gids": {"effective": 0, "real": 0, "saved": 0}, "io_counters": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "key": "pid", "memory_info": {"data": 7282688, "dirty": 0, "lib": 0, - "rss": 11141120, - "shared": 4952064, + "rss": 11882496, + "shared": 5230592, "text": 45056, "vms": 26632192}, - "memory_percent": 0.06783923796583047, + "memory_percent": 0.07235354019811552, "name": "systemd", "nice": 0, "num_threads": 1, @@ -1105,7 +1050,7 @@ Get plugin stats:: "cpu_times": {"children_system": 0.0, "children_user": 0.0, "iowait": 0.0, - "system": 0.51, + "system": 0.52, "user": 0.0}, "gids": {"effective": 0, "real": 0, "saved": 0}, "io_counters": [0, 0, 0, 0, 0], @@ -1152,17 +1097,17 @@ Get plugin stats:: [{"childrens": [1, 813665], "cmdline": ["systemd"], "cpu_percent": 0, - "cpu_times": {"children_system": 12713.240000000002, - "children_user": 55217.06, - "system": 23.26, - "user": 58.37}, + "cpu_times": {"children_system": 12878.35, + "children_user": 55346.990000000005, + "system": 25.55, + "user": 64.05}, "io_counters": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "memory_info": {"data": 10776576, - "rss": 22200320, - "shared": 12914688, + "memory_info": {"data": 10772480, + "rss": 22867968, + "shared": 13119488, "text": 90112, - "vms": 49475584}, - "memory_percent": 0.1351796580054416, + "vms": 49471488}, + "memory_percent": 0.13924502410412926, "name": "systemd", "nice": 0, "nprocs": 2, @@ -1177,7 +1122,7 @@ Get plugin stats:: "cpu_times": {"children_system": 0.0, "children_user": 0.0, "iowait": 0.0, - "system": 0.51, + "system": 0.52, "user": 0.0}, "io_counters": [0, 0, 0, 0, 0], "memory_info": {"data": 0, @@ -1228,79 +1173,19 @@ GET quicklook Get plugin stats:: # curl http://localhost:61208/api/4/quicklook - {"cpu": 11.1, + {"cpu": 6.6, "cpu_hz": 4475000000.0, - "cpu_hz_current": 1295746687.5000002, + "cpu_hz_current": 600809500.0000001, "cpu_log_core": 16, "cpu_name": "13th Gen Intel(R) Core(TM) i7-13620H", "cpu_phys_core": 10, - "load": 3.8, - "mem": 80.7, + "load": 4.3, + "mem": 80.5, "percpu": [{"cpu_number": 0, "dpc": None, "guest": 0.0, "guest_nice": 0.0, - "idle": 22.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, - "system": 8.0, - "total": 78.0, - "user": 3.0}, - {"cpu_number": 1, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 33.0, - "interrupt": None, - "iowait": 1.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, - "system": 0.0, - "total": 67.0, - "user": 0.0}, - {"cpu_number": 2, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 34.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, - "system": 0.0, - "total": 66.0, - "user": 0.0}, - {"cpu_number": 3, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 33.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, - "system": 0.0, - "total": 67.0, - "user": 1.0}, - {"cpu_number": 4, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 24.0, + "idle": 25.0, "interrupt": None, "iowait": 0.0, "irq": 0.0, @@ -1309,13 +1194,13 @@ Get plugin stats:: "softirq": 0.0, "steal": 0.0, "system": 4.0, - "total": 76.0, - "user": 7.0}, - {"cpu_number": 5, + "total": 75.0, + "user": 0.0}, + {"cpu_number": 1, "dpc": None, "guest": 0.0, "guest_nice": 0.0, - "idle": 35.0, + "idle": 29.0, "interrupt": None, "iowait": 0.0, "irq": 0.0, @@ -1324,13 +1209,103 @@ Get plugin stats:: "softirq": 0.0, "steal": 0.0, "system": 0.0, - "total": 65.0, + "total": 71.0, + "user": 0.0}, + {"cpu_number": 2, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 28.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 0.0, + "total": 72.0, + "user": 2.0}, + {"cpu_number": 3, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 29.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 0.0, + "total": 71.0, + "user": 0.0}, + {"cpu_number": 4, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 21.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 8.0, + "total": 79.0, + "user": 1.0}, + {"cpu_number": 5, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 29.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 0.0, + "total": 71.0, "user": 0.0}, {"cpu_number": 6, "dpc": None, "guest": 0.0, "guest_nice": 0.0, - "idle": 24.0, + "idle": 17.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 4.0, + "total": 83.0, + "user": 7.0}, + {"cpu_number": 7, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 29.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 0.0, + "total": 71.0, + "user": 0.0}, + {"cpu_number": 8, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 25.0, "interrupt": None, "iowait": 2.0, "irq": 0.0, @@ -1338,44 +1313,14 @@ Get plugin stats:: "nice": 0.0, "softirq": 0.0, "steal": 0.0, - "system": 8.0, - "total": 76.0, - "user": 2.0}, - {"cpu_number": 7, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 23.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, - "system": 4.0, - "total": 77.0, - "user": 8.0}, - {"cpu_number": 8, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 31.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, "system": 1.0, - "total": 69.0, - "user": 3.0}, + "total": 75.0, + "user": 0.0}, {"cpu_number": 9, "dpc": None, "guest": 0.0, "guest_nice": 0.0, - "idle": 35.0, + "idle": 29.0, "interrupt": None, "iowait": 0.0, "irq": 0.0, @@ -1384,9 +1329,24 @@ Get plugin stats:: "softirq": 0.0, "steal": 0.0, "system": 0.0, - "total": 65.0, - "user": 1.0}, + "total": 71.0, + "user": 0.0}, {"cpu_number": 10, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 29.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 0.0, + "total": 71.0, + "user": 1.0}, + {"cpu_number": 11, "dpc": None, "guest": 0.0, "guest_nice": 0.0, @@ -1398,74 +1358,14 @@ Get plugin stats:: "nice": 0.0, "softirq": 0.0, "steal": 0.0, - "system": 2.0, - "total": 70.0, - "user": 1.0}, - {"cpu_number": 11, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 35.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, "system": 0.0, - "total": 65.0, + "total": 70.0, "user": 0.0}, {"cpu_number": 12, "dpc": None, "guest": 0.0, "guest_nice": 0.0, - "idle": 34.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, - "system": 1.0, - "total": 66.0, - "user": 1.0}, - {"cpu_number": 13, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 33.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, - "system": 1.0, - "total": 67.0, - "user": 1.0}, - {"cpu_number": 14, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 34.0, - "interrupt": None, - "iowait": 0.0, - "irq": 0.0, - "key": "cpu_number", - "nice": 0.0, - "softirq": 0.0, - "steal": 0.0, - "system": 1.0, - "total": 66.0, - "user": 1.0}, - {"cpu_number": 15, - "dpc": None, - "guest": 0.0, - "guest_nice": 0.0, - "idle": 34.0, + "idle": 29.0, "interrupt": None, "iowait": 0.0, "irq": 0.0, @@ -1474,9 +1374,54 @@ Get plugin stats:: "softirq": 0.0, "steal": 0.0, "system": 0.0, - "total": 66.0, + "total": 71.0, + "user": 0.0}, + {"cpu_number": 13, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 28.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 0.0, + "total": 72.0, + "user": 0.0}, + {"cpu_number": 14, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 30.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 1.0, + "total": 70.0, + "user": 0.0}, + {"cpu_number": 15, + "dpc": None, + "guest": 0.0, + "guest_nice": 0.0, + "idle": 30.0, + "interrupt": None, + "iowait": 0.0, + "irq": 0.0, + "key": "cpu_number", + "nice": 0.0, + "softirq": 0.0, + "steal": 0.0, + "system": 0.0, + "total": 70.0, "user": 0.0}], - "swap": 99.7} + "swap": 99.6} Fields descriptions: @@ -1514,14 +1459,14 @@ Get plugin stats:: "label": "Ambient", "type": "temperature_core", "unit": "C", - "value": 37, + "value": 35, "warning": 0}, {"critical": None, "key": "label", "label": "Ambient 3", "type": "temperature_core", "unit": "C", - "value": 28, + "value": 30, "warning": 0}] Fields descriptions: @@ -1584,7 +1529,7 @@ Get a specific item when field matches the given value:: "label": "Ambient", "type": "temperature_core", "unit": "C", - "value": 37, + "value": 35, "warning": 0}]} GET smart @@ -1628,7 +1573,7 @@ GET uptime Get plugin stats:: # curl http://localhost:61208/api/4/uptime - "29 days, 1:22:43" + "32 days, 15:52:40" GET version ----------- @@ -1673,8 +1618,8 @@ Get plugin stats:: # curl http://localhost:61208/api/4/wifi [{"key": "ssid", - "quality_level": -57.0, - "quality_link": 53.0, + "quality_level": -61.0, + "quality_link": 49.0, "ssid": "wlp0s20f3"}] Get a specific field:: @@ -1686,8 +1631,8 @@ Get a specific item when field matches the given value:: # curl http://localhost:61208/api/4/wifi/ssid/value/wlp0s20f3 {"wlp0s20f3": [{"key": "ssid", - "quality_level": -57.0, - "quality_link": 53.0, + "quality_level": -61.0, + "quality_link": 49.0, "ssid": "wlp0s20f3"}]} GET all stats @@ -1751,34 +1696,34 @@ GET stats history History of a plugin:: # curl http://localhost:61208/api/4/cpu/history - {"system": [["2026-01-25T16:48:48.546946+00:00", 4.8], - ["2026-01-25T16:48:49.611256+00:00", 1.7], - ["2026-01-25T16:48:50.647996+00:00", 1.7]], - "user": [["2026-01-25T16:48:48.546944+00:00", 7.2], - ["2026-01-25T16:48:49.611254+00:00", 5.2], - ["2026-01-25T16:48:50.647993+00:00", 5.2]]} + {"system": [["2026-01-29T07:18:45.516819+00:00", 3.0], + ["2026-01-29T07:18:46.585038+00:00", 0.8], + ["2026-01-29T07:18:47.617787+00:00", 0.8]], + "user": [["2026-01-29T07:18:45.516817+00:00", 4.4], + ["2026-01-29T07:18:46.585036+00:00", 1.3], + ["2026-01-29T07:18:47.617783+00:00", 1.3]]} Limit history to last 2 values:: # curl http://localhost:61208/api/4/cpu/history/2 - {"system": [["2026-01-25T16:48:49.611256+00:00", 1.7], - ["2026-01-25T16:48:50.647996+00:00", 1.7]], - "user": [["2026-01-25T16:48:49.611254+00:00", 5.2], - ["2026-01-25T16:48:50.647993+00:00", 5.2]]} + {"system": [["2026-01-29T07:18:46.585038+00:00", 0.8], + ["2026-01-29T07:18:47.617787+00:00", 0.8]], + "user": [["2026-01-29T07:18:46.585036+00:00", 1.3], + ["2026-01-29T07:18:47.617783+00:00", 1.3]]} History for a specific field:: # curl http://localhost:61208/api/4/cpu/system/history - {"system": [["2026-01-25T16:48:47.415118+00:00", 4.8], - ["2026-01-25T16:48:48.546946+00:00", 4.8], - ["2026-01-25T16:48:49.611256+00:00", 1.7], - ["2026-01-25T16:48:50.647996+00:00", 1.7]]} + {"system": [["2026-01-29T07:18:44.377180+00:00", 3.0], + ["2026-01-29T07:18:45.516819+00:00", 3.0], + ["2026-01-29T07:18:46.585038+00:00", 0.8], + ["2026-01-29T07:18:47.617787+00:00", 0.8]]} Limit history for a specific field to last 2 values:: # curl http://localhost:61208/api/4/cpu/system/history - {"system": [["2026-01-25T16:48:49.611256+00:00", 1.7], - ["2026-01-25T16:48:50.647996+00:00", 1.7]]} + {"system": [["2026-01-29T07:18:46.585038+00:00", 0.8], + ["2026-01-29T07:18:47.617787+00:00", 0.8]]} GET limits (used for thresholds) -------------------------------- diff --git a/docs/man/glances.1 b/docs/man/glances.1 index 2f8f5dd5..5302d29c 100644 --- a/docs/man/glances.1 +++ b/docs/man/glances.1 @@ -29,7 +29,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" "Jan 25, 2026" "4.5.0_dev1" "Glances" +.TH "GLANCES" "1" "Jan 29, 2026" "4.5.0_dev1" "Glances" .SH NAME glances \- An eye on your system .SH SYNOPSIS diff --git a/glances/plugins/quicklook/__init__.py b/glances/plugins/quicklook/__init__.py index c86bf6ca..ac9ba06a 100644 --- a/glances/plugins/quicklook/__init__.py +++ b/glances/plugins/quicklook/__init__.py @@ -189,15 +189,6 @@ class QuicklookPlugin(GlancesPluginModel): logger.debug(f"No max_width defined for the {self.plugin_name} plugin, it will not be displayed.") return ret - # Define the data: Bar (default behavior) or Sparkline - data = {} - for key in self.stats_list: - if self.args.sparkline and self.history_enable() and not self.args.client: - data[key] = Sparkline(max_width) - else: - # Fallback to bar if Sparkline module is not installed - data[key] = Bar(max_width, bar_char=self.get_conf_value('bar_char', default=['|'])[0]) - # Build the string message ########################## @@ -222,6 +213,16 @@ class QuicklookPlugin(GlancesPluginModel): ret.append(self.curse_new_line()) # Loop over CPU, MEM and LOAD + # Define the data: Bar (default behavior) or Sparkline + data = {} + for key in self.stats_list: + bar_size = max(len(msg_name) + len(msg_freq) - 7, max_width) + if self.args.sparkline and self.history_enable() and not self.args.client: + data[key] = Sparkline(bar_size) + else: + # Fallback to bar if Sparkline module is not installed + data[key] = Bar(bar_size, bar_char=self.get_conf_value('bar_char', default=['|'])[0]) + for key in self.stats_list: if key == 'cpu' and args.percpu: ret.extend(self._msg_per_cpu(data, key, max_width)) diff --git a/requirements.txt b/requirements.txt index 9f93ad47..dc5cc5ec 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,11 +6,9 @@ jinja2==3.1.6 # via glances markupsafe==3.0.3 # via jinja2 -packaging==25.0 +packaging==26.0 # via glances -psutil==7.1.1 ; platform_version < '11.' and sys_platform == 'darwin' - # via glances -psutil==7.2.1 ; platform_version >= '11.' or sys_platform != 'darwin' +psutil==7.1.1 # via glances shtab==1.8.0 ; sys_platform != 'win32' # via glances