When Glances is installed via venv, default configuration file is not used #2803

This commit is contained in:
nicolargo 2024-05-28 13:31:22 +02:00
parent c187c14b5f
commit a55970af83
4 changed files with 119 additions and 96 deletions

View File

@ -141,7 +141,7 @@ Get plugin stats::
"refresh": 3.0, "refresh": 3.0,
"regex": True, "regex": True,
"result": None, "result": None,
"timer": 0.14174199104309082}, "timer": 0.3478415012359619},
{"count": 0, {"count": 0,
"countmax": 20.0, "countmax": 20.0,
"countmin": None, "countmin": None,
@ -150,7 +150,7 @@ Get plugin stats::
"refresh": 3.0, "refresh": 3.0,
"regex": True, "regex": True,
"result": None, "result": None,
"timer": 0.1416921615600586}] "timer": 0.3477509021759033}]
Fields descriptions: Fields descriptions:
@ -178,7 +178,7 @@ Get a specific item when field matches the given value::
"refresh": 3.0, "refresh": 3.0,
"regex": True, "regex": True,
"result": None, "result": None,
"timer": 0.14174199104309082}]} "timer": 0.3478415012359619}]}
GET cloud GET cloud
--------- ---------
@ -265,14 +265,14 @@ Get plugin stats::
# curl http://localhost:61208/api/4/cpu # curl http://localhost:61208/api/4/cpu
{"cpucore": 16, {"cpucore": 16,
"ctx_switches": 30813084, "ctx_switches": 308044421,
"guest": 0.0, "guest": 0.0,
"idle": 2.0, "idle": 1.0,
"interrupts": 37331978, "interrupts": 272946404,
"iowait": 0.0, "iowait": 0.0,
"irq": 0.0, "irq": 0.0,
"nice": 0.0, "nice": 0.0,
"soft_interrupts": 9264867, "soft_interrupts": 94947380,
"steal": 0.0, "steal": 0.0,
"syscalls": 0, "syscalls": 0,
"system": 0.0, "system": 0.0,
@ -320,14 +320,14 @@ Get plugin stats::
# curl http://localhost:61208/api/4/diskio # curl http://localhost:61208/api/4/diskio
[{"disk_name": "nvme0n1", [{"disk_name": "nvme0n1",
"key": "disk_name", "key": "disk_name",
"read_bytes": 3991489024, "read_bytes": 5076893184,
"read_count": 136511, "read_count": 211280,
"write_bytes": 4227564544, "write_bytes": 16891180032,
"write_count": 174572}, "write_count": 974804},
{"disk_name": "nvme0n1p1", {"disk_name": "nvme0n1p1",
"key": "disk_name", "key": "disk_name",
"read_bytes": 7476224, "read_bytes": 8103936,
"read_count": 576, "read_count": 815,
"write_bytes": 1024, "write_bytes": 1024,
"write_count": 2}] "write_count": 2}]
@ -363,10 +363,10 @@ Get a specific item when field matches the given value::
# curl http://localhost:61208/api/4/diskio/disk_name/nvme0n1 # curl http://localhost:61208/api/4/diskio/disk_name/nvme0n1
{"nvme0n1": [{"disk_name": "nvme0n1", {"nvme0n1": [{"disk_name": "nvme0n1",
"key": "disk_name", "key": "disk_name",
"read_bytes": 3991489024, "read_bytes": 5076893184,
"read_count": 136511, "read_count": 211280,
"write_bytes": 4227564544, "write_bytes": 16891180032,
"write_count": 174572}]} "write_count": 974804}]}
GET folders GET folders
----------- -----------
@ -393,13 +393,13 @@ Get plugin stats::
# curl http://localhost:61208/api/4/fs # curl http://localhost:61208/api/4/fs
[{"device_name": "/dev/mapper/ubuntu--vg-ubuntu--lv", [{"device_name": "/dev/mapper/ubuntu--vg-ubuntu--lv",
"free": 905282502656, "free": 904218632192,
"fs_type": "ext4", "fs_type": "ext4",
"key": "mnt_point", "key": "mnt_point",
"mnt_point": "/", "mnt_point": "/",
"percent": 5.0, "percent": 5.1,
"size": 1003736440832, "size": 1003736440832,
"used": 47391432704}] "used": 48455303168}]
Fields descriptions: Fields descriptions:
@ -420,13 +420,13 @@ Get a specific item when field matches the given value::
# curl http://localhost:61208/api/4/fs/mnt_point// # curl http://localhost:61208/api/4/fs/mnt_point//
{"/": [{"device_name": "/dev/mapper/ubuntu--vg-ubuntu--lv", {"/": [{"device_name": "/dev/mapper/ubuntu--vg-ubuntu--lv",
"free": 905282502656, "free": 904218632192,
"fs_type": "ext4", "fs_type": "ext4",
"key": "mnt_point", "key": "mnt_point",
"mnt_point": "/", "mnt_point": "/",
"percent": 5.0, "percent": 5.1,
"size": 1003736440832, "size": 1003736440832,
"used": 47391432704}]} "used": 48455303168}]}
GET gpu GET gpu
------- -------
@ -500,9 +500,9 @@ Get plugin stats::
# curl http://localhost:61208/api/4/load # curl http://localhost:61208/api/4/load
{"cpucore": 16, {"cpucore": 16,
"min1": 0.3486328125, "min1": 1.04150390625,
"min15": 0.724609375, "min15": 0.9111328125,
"min5": 0.78466796875} "min5": 1.05859375}
Fields descriptions: Fields descriptions:
@ -514,7 +514,7 @@ Fields descriptions:
Get a specific field:: Get a specific field::
# curl http://localhost:61208/api/4/load/min1 # curl http://localhost:61208/api/4/load/min1
{"min1": 0.3486328125} {"min1": 1.04150390625}
GET mem GET mem
------- -------
@ -522,16 +522,16 @@ GET mem
Get plugin stats:: Get plugin stats::
# curl http://localhost:61208/api/4/mem # curl http://localhost:61208/api/4/mem
{"active": 5943754752, {"active": 8740761600,
"available": 10590150656, "available": 7811407872,
"buffers": 254464000, "buffers": 431038464,
"cached": 5853790208, "cached": 7773085696,
"free": 10590150656, "free": 7811407872,
"inactive": 3587186688, "inactive": 4876947456,
"percent": 35.5, "percent": 52.4,
"shared": 660152320, "shared": 893501440,
"total": 16422486016, "total": 16422486016,
"used": 5832335360} "used": 8611078144}
Fields descriptions: Fields descriptions:
@ -558,13 +558,13 @@ GET memswap
Get plugin stats:: Get plugin stats::
# curl http://localhost:61208/api/4/memswap # curl http://localhost:61208/api/4/memswap
{"free": 4294963200, {"free": 4293652480,
"percent": 0.0, "percent": 0.0,
"sin": 0, "sin": 0,
"sout": 0, "sout": 118784,
"time_since_update": 1, "time_since_update": 1,
"total": 4294963200, "total": 4294963200,
"used": 0} "used": 1310720}
Fields descriptions: Fields descriptions:
@ -589,15 +589,15 @@ Get plugin stats::
# curl http://localhost:61208/api/4/network # curl http://localhost:61208/api/4/network
[{"alias": None, [{"alias": None,
"bytes_all": 0, "bytes_all": 0,
"bytes_all_gauge": 458925635, "bytes_all_gauge": 2577813495,
"bytes_recv": 0, "bytes_recv": 0,
"bytes_recv_gauge": 430825924, "bytes_recv_gauge": 2223235128,
"bytes_sent": 0, "bytes_sent": 0,
"bytes_sent_gauge": 28099711, "bytes_sent_gauge": 354578367,
"interface_name": "wlp0s20f3", "interface_name": "wlp0s20f3",
"key": "interface_name", "key": "interface_name",
"speed": 0, "speed": 0,
"time_since_update": 0.14712095260620117}] "time_since_update": 0.35242390632629395}]
Fields descriptions: Fields descriptions:
@ -626,15 +626,15 @@ Get a specific item when field matches the given value::
# curl http://localhost:61208/api/4/network/interface_name/wlp0s20f3 # curl http://localhost:61208/api/4/network/interface_name/wlp0s20f3
{"wlp0s20f3": [{"alias": None, {"wlp0s20f3": [{"alias": None,
"bytes_all": 0, "bytes_all": 0,
"bytes_all_gauge": 458925635, "bytes_all_gauge": 2577813495,
"bytes_recv": 0, "bytes_recv": 0,
"bytes_recv_gauge": 430825924, "bytes_recv_gauge": 2223235128,
"bytes_sent": 0, "bytes_sent": 0,
"bytes_sent_gauge": 28099711, "bytes_sent_gauge": 354578367,
"interface_name": "wlp0s20f3", "interface_name": "wlp0s20f3",
"key": "interface_name", "key": "interface_name",
"speed": 0, "speed": 0,
"time_since_update": 0.14712095260620117}]} "time_since_update": 0.35242390632629395}]}
GET now GET now
------- -------
@ -642,7 +642,7 @@ GET now
Get plugin stats:: Get plugin stats::
# curl http://localhost:61208/api/4/now # curl http://localhost:61208/api/4/now
{"custom": "2024-05-18 11:17:24 CEST", "iso": "2024-05-18T11:17:24+02:00"} {"custom": "2024-05-28 13:29:16 CEST", "iso": "2024-05-28T13:29:16+02:00"}
Fields descriptions: Fields descriptions:
@ -652,7 +652,7 @@ Fields descriptions:
Get a specific field:: Get a specific field::
# curl http://localhost:61208/api/4/now/iso # curl http://localhost:61208/api/4/now/iso
{"iso": "2024-05-18T11:17:24+02:00"} {"iso": "2024-05-28T13:29:16+02:00"}
GET percpu GET percpu
---------- ----------
@ -663,7 +663,7 @@ Get plugin stats::
[{"cpu_number": 0, [{"cpu_number": 0,
"guest": 0.0, "guest": 0.0,
"guest_nice": 0.0, "guest_nice": 0.0,
"idle": 0.0, "idle": 1.0,
"iowait": 0.0, "iowait": 0.0,
"irq": 0.0, "irq": 0.0,
"key": "cpu_number", "key": "cpu_number",
@ -671,7 +671,7 @@ Get plugin stats::
"softirq": 0.0, "softirq": 0.0,
"steal": 0.0, "steal": 0.0,
"system": 0.0, "system": 0.0,
"total": 100.0, "total": 99.0,
"user": 0.0}, "user": 0.0},
{"cpu_number": 1, {"cpu_number": 1,
"guest": 0.0, "guest": 0.0,
@ -719,7 +719,7 @@ Get plugin stats::
"port": 0, "port": 0,
"refresh": 30, "refresh": 30,
"rtt_warning": None, "rtt_warning": None,
"status": 0.005013, "status": 0.00586,
"timeout": 3}] "timeout": 3}]
Fields descriptions: Fields descriptions:
@ -747,7 +747,7 @@ Get a specific item when field matches the given value::
"port": 0, "port": 0,
"refresh": 30, "refresh": 30,
"rtt_warning": None, "rtt_warning": None,
"status": 0.005013, "status": 0.00586,
"timeout": 3}]} "timeout": 3}]}
GET processcount GET processcount
@ -756,7 +756,7 @@ GET processcount
Get plugin stats:: Get plugin stats::
# curl http://localhost:61208/api/4/processcount # curl http://localhost:61208/api/4/processcount
{"pid_max": 0, "running": 1, "sleeping": 274, "thread": 1536, "total": 407} {"pid_max": 0, "running": 0, "sleeping": 292, "thread": 1700, "total": 423}
Fields descriptions: Fields descriptions:
@ -769,7 +769,7 @@ Fields descriptions:
Get a specific field:: Get a specific field::
# curl http://localhost:61208/api/4/processcount/total # curl http://localhost:61208/api/4/processcount/total
{"total": 407} {"total": 423}
GET processlist GET processlist
--------------- ---------------
@ -811,16 +811,16 @@ Get plugin stats::
# curl http://localhost:61208/api/4/quicklook # curl http://localhost:61208/api/4/quicklook
{"cpu": 0.0, {"cpu": 0.0,
"cpu_hz": 4475000000.0, "cpu_hz": 4475000000.0,
"cpu_hz_current": 1458593437.5, "cpu_hz_current": 1293040187.4999998,
"cpu_log_core": 16, "cpu_log_core": 16,
"cpu_name": "13th Gen Intel(R) Core(TM) i7-13620H", "cpu_name": "13th Gen Intel(R) Core(TM) i7-13620H",
"cpu_phys_core": 10, "cpu_phys_core": 10,
"load": 4.5, "load": 5.7,
"mem": 35.6, "mem": 52.4,
"percpu": [{"cpu_number": 0, "percpu": [{"cpu_number": 0,
"guest": 0.0, "guest": 0.0,
"guest_nice": 0.0, "guest_nice": 0.0,
"idle": 0.0, "idle": 1.0,
"iowait": 0.0, "iowait": 0.0,
"irq": 0.0, "irq": 0.0,
"key": "cpu_number", "key": "cpu_number",
@ -828,7 +828,7 @@ Get plugin stats::
"softirq": 0.0, "softirq": 0.0,
"steal": 0.0, "steal": 0.0,
"system": 0.0, "system": 0.0,
"total": 100.0, "total": 99.0,
"user": 0.0}, "user": 0.0},
{"cpu_number": 1, {"cpu_number": 1,
"guest": 0.0, "guest": 0.0,
@ -937,7 +937,7 @@ Get plugin stats::
{"cpu_number": 9, {"cpu_number": 9,
"guest": 0.0, "guest": 0.0,
"guest_nice": 0.0, "guest_nice": 0.0,
"idle": 0.0, "idle": 1.0,
"iowait": 0.0, "iowait": 0.0,
"irq": 0.0, "irq": 0.0,
"key": "cpu_number", "key": "cpu_number",
@ -945,7 +945,7 @@ Get plugin stats::
"softirq": 0.0, "softirq": 0.0,
"steal": 0.0, "steal": 0.0,
"system": 0.0, "system": 0.0,
"total": 100.0, "total": 99.0,
"user": 0.0}, "user": 0.0},
{"cpu_number": 10, {"cpu_number": 10,
"guest": 0.0, "guest": 0.0,
@ -1063,14 +1063,14 @@ Get plugin stats::
"label": "Ambient", "label": "Ambient",
"type": "temperature_core", "type": "temperature_core",
"unit": "C", "unit": "C",
"value": 38, "value": 34,
"warning": 0}, "warning": 0},
{"critical": None, {"critical": None,
"key": "label", "key": "label",
"label": "Ambient 3", "label": "Ambient 3",
"type": "temperature_core", "type": "temperature_core",
"unit": "C", "unit": "C",
"value": 33, "value": 29,
"warning": 0}] "warning": 0}]
Fields descriptions: Fields descriptions:
@ -1131,7 +1131,7 @@ Get a specific item when field matches the given value::
"label": "Ambient", "label": "Ambient",
"type": "temperature_core", "type": "temperature_core",
"unit": "C", "unit": "C",
"value": 38, "value": 34,
"warning": 0}]} "warning": 0}]}
GET smart GET smart
@ -1175,7 +1175,7 @@ GET uptime
Get plugin stats:: Get plugin stats::
# curl http://localhost:61208/api/4/uptime # curl http://localhost:61208/api/4/uptime
"4 days, 12:10:13" "14 days, 14:21:53"
GET version GET version
----------- -----------
@ -1192,8 +1192,8 @@ Get plugin stats::
# curl http://localhost:61208/api/4/wifi # curl http://localhost:61208/api/4/wifi
[{"key": "ssid", [{"key": "ssid",
"quality_level": -62.0, "quality_level": -61.0,
"quality_link": 48.0, "quality_link": 49.0,
"ssid": "wlp0s20f3"}] "ssid": "wlp0s20f3"}]
Get a specific field:: Get a specific field::
@ -1205,8 +1205,8 @@ Get a specific item when field matches the given value::
# curl http://localhost:61208/api/4/wifi/ssid/wlp0s20f3 # curl http://localhost:61208/api/4/wifi/ssid/wlp0s20f3
{"wlp0s20f3": [{"key": "ssid", {"wlp0s20f3": [{"key": "ssid",
"quality_level": -62.0, "quality_level": -61.0,
"quality_link": 48.0, "quality_link": 49.0,
"ssid": "wlp0s20f3"}]} "ssid": "wlp0s20f3"}]}
GET all stats GET all stats
@ -1251,34 +1251,34 @@ GET stats history
History of a plugin:: History of a plugin::
# curl http://localhost:61208/api/4/cpu/history # curl http://localhost:61208/api/4/cpu/history
{"system": [["2024-05-18T11:17:25.730926", 0.0], {"system": [["2024-05-28T13:29:18.134731", 0.0],
["2024-05-18T11:17:26.770417", 0.0], ["2024-05-28T13:29:19.167225", 0.0],
["2024-05-18T11:17:27.827660", 0.0]], ["2024-05-28T13:29:20.241827", 0.0]],
"user": [["2024-05-18T11:17:25.730915", 0.0], "user": [["2024-05-28T13:29:18.134716", 0.0],
["2024-05-18T11:17:26.770412", 0.0], ["2024-05-28T13:29:19.167219", 2.0],
["2024-05-18T11:17:27.827644", 0.0]]} ["2024-05-28T13:29:20.241811", 2.0]]}
Limit history to last 2 values:: Limit history to last 2 values::
# curl http://localhost:61208/api/4/cpu/history/2 # curl http://localhost:61208/api/4/cpu/history/2
{"system": [["2024-05-18T11:17:26.770417", 0.0], {"system": [["2024-05-28T13:29:19.167225", 0.0],
["2024-05-18T11:17:27.827660", 0.0]], ["2024-05-28T13:29:20.241827", 0.0]],
"user": [["2024-05-18T11:17:26.770412", 0.0], "user": [["2024-05-28T13:29:19.167219", 2.0],
["2024-05-18T11:17:27.827644", 0.0]]} ["2024-05-28T13:29:20.241811", 2.0]]}
History for a specific field:: History for a specific field::
# curl http://localhost:61208/api/4/cpu/system/history # curl http://localhost:61208/api/4/cpu/system/history
{"system": [["2024-05-18T11:17:24.636762", 0.0], {"system": [["2024-05-28T13:29:16.956417", 0.0],
["2024-05-18T11:17:25.730926", 0.0], ["2024-05-28T13:29:18.134731", 0.0],
["2024-05-18T11:17:26.770417", 0.0], ["2024-05-28T13:29:19.167225", 0.0],
["2024-05-18T11:17:27.827660", 0.0]]} ["2024-05-28T13:29:20.241827", 0.0]]}
Limit history for a specific field to last 2 values:: Limit history for a specific field to last 2 values::
# curl http://localhost:61208/api/4/cpu/system/history # curl http://localhost:61208/api/4/cpu/system/history
{"system": [["2024-05-18T11:17:26.770417", 0.0], {"system": [["2024-05-28T13:29:19.167225", 0.0],
["2024-05-18T11:17:27.827660", 0.0]]} ["2024-05-28T13:29:20.241827", 0.0]]}
GET limits (used for thresholds) GET limits (used for thresholds)
-------------------------------- --------------------------------

View File

@ -21,6 +21,7 @@ You can place your ``glances.conf`` file in the following locations:
``*BSD`` ~/.config/glances/, /usr/local/etc/glances/, /usr/share/docs/glances/ ``*BSD`` ~/.config/glances/, /usr/local/etc/glances/, /usr/share/docs/glances/
``macOS`` ~/.config/glances/, ~/Library/Application Support/glances/, /usr/local/etc/glances/, /usr/share/docs/glances/ ``macOS`` ~/.config/glances/, ~/Library/Application Support/glances/, /usr/local/etc/glances/, /usr/share/docs/glances/
``Windows`` %APPDATA%\\glances\\glances.conf ``Windows`` %APPDATA%\\glances\\glances.conf
``All`` + <venv_root_folder>/share/doc/glances/
==================== ============================================================= ==================== =============================================================
- On Windows XP, ``%APPDATA%`` is: ``C:\Documents and Settings\<USERNAME>\Application Data``. - On Windows XP, ``%APPDATA%`` is: ``C:\Documents and Settings\<USERNAME>\Application Data``.

View File

@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
.. ..
.TH "GLANCES" "1" "May 18, 2024" "4.1.0_beta01" "Glances" .TH "GLANCES" "1" "May 28, 2024" "4.1.0_beta01" "Glances"
.SH NAME .SH NAME
glances \- An eye on your system glances \- An eye on your system
.SH SYNOPSIS .SH SYNOPSIS
@ -585,6 +585,15 @@ T} T{
%APPDATA%\eglances\eglances.conf %APPDATA%\eglances\eglances.conf
T} T}
_ _
T{
\fBAll\fP
T} T{
.INDENT 0.0
.IP \(bu 2
<venv_root_folder>/share/doc/glances/
.UNINDENT
T}
_
.TE .TE
.INDENT 0.0 .INDENT 0.0
.IP \(bu 2 .IP \(bu 2

View File

@ -81,16 +81,29 @@ def default_config_dir():
- Linux, SunOS, *BSD, macOS: /usr/share/doc (as defined in the setup.py files) - Linux, SunOS, *BSD, macOS: /usr/share/doc (as defined in the setup.py files)
- Windows: %APPDATA%\glances - Windows: %APPDATA%\glances
""" """
if LINUX or SUNOS or BSD or MACOS: path = []
path = '/usr/share/doc' # Add venv path (solve issue #2803)
else: if in_virtualenv():
path = os.environ.get('APPDATA') path.append(os.path.join(sys.prefix, 'share', 'doc', 'glances'))
if path is None:
path = ''
else:
path = os.path.join(path, 'glances')
return [path] # Add others system path
if LINUX or SUNOS or BSD or MACOS:
path.append('/usr/share/doc')
else:
path.append(os.environ.get('APPDATA'))
return path
def in_virtualenv():
# Source: https://stackoverflow.com/questions/1871549/how-to-determine-if-python-is-running-inside-a-virtualenv/1883251#1883251
return sys.prefix != get_base_prefix_compat()
def get_base_prefix_compat():
"""Get base/real prefix, or sys.prefix if there is none."""
# Source: https://stackoverflow.com/questions/1871549/how-to-determine-if-python-is-running-inside-a-virtualenv/1883251#1883251
return getattr(sys, "base_prefix", None) or getattr(sys, "real_prefix", None) or sys.prefix
class Config: class Config: