Merge branch 'develop' into issue2757

This commit is contained in:
nicolargo 2024-12-27 22:09:20 +01:00
commit 4bb39232fe
18 changed files with 1981 additions and 2035 deletions

View File

@ -133,18 +133,18 @@ endef
profiling-gprof: CPROF = glances.cprof
profiling-gprof: ## Callgraph profiling (need "apt install graphviz")
$(DISPLAY-BANNER)
$(PYTHON) -m cProfile -o $(CPROF) run-venv.py --stop-after $(TIMES)
$(venv_full)/gprof2dot -f pstats $(CPROF) | dot -Tsvg -o $(OUT_DIR)/glances-cgraph.svg
$(PYTHON) -m cProfile -o $(CPROF) run-venv.py -C $(CONF) --stop-after $(TIMES)
$(venv_dev)/gprof2dot -f pstats $(CPROF) | dot -Tsvg -o $(OUT_DIR)/glances-cgraph.svg
rm -f $(CPROF)
profiling-pyinstrument: ## PyInstrument profiling
$(DISPLAY-BANNER)
$(PIP) install pyinstrument
$(PYTHON) -m pyinstrument -r html -o $(OUT_DIR)/glances-pyinstrument.html -m glances --stop-after $(TIMES)
$(PYTHON) -m pyinstrument -r html -o $(OUT_DIR)/glances-pyinstrument.html -m glances -C $(CONF) --stop-after $(TIMES)
profiling-pyspy: ## Flame profiling
$(DISPLAY-BANNER)
$(venv_full)/py-spy record -o $(OUT_DIR)/glances-flame.svg -d 60 -s -- $(PYTHON) run-venv.py --stop-after $(TIMES)
$(venv_dev)/py-spy record -o $(OUT_DIR)/glances-flame.svg -d 60 -s -- $(PYTHON) run-venv.py -C $(CONF) --stop-after $(TIMES)
profiling: profiling-gprof profiling-pyinstrument profiling-pyspy ## Profiling of the Glances software

View File

@ -2,6 +2,81 @@
Glances ChangeLog
==============================================================================
===============
Version 4.3.0.3
===============
Continuous integration and documentation:
* Pin Alpine image to 3.20 (3.21 is not compliant with Netifaces) Related to #3053
===============
Version 4.3.0.2
===============
Enhancements:
* Revert "Replace netifaces by netifaces-plus" #3053 because it break build on Alpine Image
===============
Version 4.3.0.1
===============
Enhancements:
* Replace netifaces by netifaces-plus #3053
Bug corrected:
* CONTAINERS section missing in 4.3.0 WebUI #3052
===============
Version 4.3.0
===============
Enhancements:
* Web Based Glances Central Browser #1121
* Ability to specify hide or show for smart plugin #2996
* Thread mode ('j' hotkey) is not taken into accound in the WebUI #3019
* [WEBUI] Clear old alert messages in the WebUI #3042
* Raise an (Alert) Event for a group of sensors #3049
* Allow processlist columns to be selected in config file #1524
* Allow containers columns to be selected in config file #2722
* [WebUI] Unecessary space between Processcount and processlist #3032
* Add comparable NVML_LIB check for Windows #3000
* Change the default path for graph export to /tmp/glances
* Improve CCS of WebUI #3024
Bug corrected:
* Thresholds not displayed in the WebUI for the DiskIO plugin #1498
* FS module alias configuration do not taken into account everytime #3010
* Unexpected behaviour while running glances in docker with --export influxdb2 #2904
* Correct issue when key name contains space - Related to #2983
* Issue with ports plugin (for URL request) #3008
* Network problem when no bitrate available #3014
* SyntaxError: f-string: unmatched '[' in server list (on the DEVELOP branch only) #3018
* Uptime for Docker containers not working #3021
* WebUI doesn't display valid time for process list #2902
* Bug In the Web-UI, Timestamps for 'Warning or critical alerts' are showing incorrect month #3023
* Correct display issue on Containers plugin in WebUI #3028
Continuous integration and documentation:
* Bumped minimal Python version to 3.9 #3005
* Make the glances/outputs/static/js/uiconfig.json generated automaticaly from the make webui task
* Update unit-test for Glances Central Browser
* Add unit-test for new entry point in the API (plugin/item/key)
* Add a target to start Glances with Htop features
* Try new build and publish to Pypi CI actions
Thanks to all contributors and bug reporters !
Special thanks to:
* Ariel Otilibili for code quality improvements #2801
===============
Version 4.2.1
===============

View File

@ -112,7 +112,7 @@ Optional dependencies:
- ``influxdb-client`` (for the InfluxDB version 2 export module)
- ``jinja2`` (for templating, used under the hood by FastAPI)
- ``kafka-python`` (for the Kafka export module)
- ``netifaces`` (for the IP plugin)
- ``netifaces-plus`` (for the IP plugin)
- ``nvidia-ml-py`` (for the GPU plugin)
- ``pycouchdb`` (for the CouchDB export module)
- ``pika`` (for the RabbitMQ/ActiveMQ export module)

View File

@ -320,7 +320,7 @@ critical=90
# Allow additional file system types (comma-separated FS type)
#allow=shm
# Alias for root file system
#alias=/:Root
#alias=/:Root,/zsfpool:ZSF
[irq]
# Documentation: https://glances.readthedocs.io/en/latest/aoa/irq.html
@ -518,7 +518,6 @@ max_name_size=20
; disable_stats=diskio,networkio
# Thresholds for CPU and MEM (in %)
; cpu_careful=50
# Thresholds for CPU and MEM (in %)
; cpu_warning=70
; cpu_critical=90
; mem_careful=20

View File

@ -10,6 +10,8 @@
# Alpine 3.18 tag is a link to the latest 3.18.x version.
# Be aware that if you change the Alpine version, you may have to change the Python version.
# Netifaces (and Netifaces-plus) are not compliant with GCC embeded in Alpine 3.21
# See: https://github.com/tsukumijima/netifaces-plus/issues/9
ARG IMAGE_VERSION=3.20
ARG PYTHON_VERSION=3.12

View File

@ -9,7 +9,7 @@
# Note: ENV is for future running containers. ARG for building your Docker image.
ARG IMAGE_VERSION=24.04
ARG PYTHON_VERSION=3.12
ARG PYTHON_VERSION=3.13
##############################################################################
# Base layer to be used for building dependencies and the release images

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 87 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 550 KiB

After

Width:  |  Height:  |  Size: 292 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,4 @@
'\" t
.\" Man page generated from reStructuredText.
.
.
@ -27,7 +28,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" "Dec 23, 2024" "4.3.0_dev06" "Glances"
.TH "GLANCES" "1" "Dec 27, 2024" "4.3.0.3" "Glances"
.SH NAME
glances \- An eye on your system
.SH SYNOPSIS
@ -559,9 +560,8 @@ A template is available in the \fB/usr{,/local}/share/doc/glances\fP
.sp
You can place your \fBglances.conf\fP file in the following locations:
.TS
center;
|l|l|.
_
box center;
l|l.
T{
\fBLinux\fP, \fBSunOS\fP
T} T{
@ -594,7 +594,6 @@ T} T{
<venv_root_folder>/share/doc/glances/
.UNINDENT
T}
_
.TE
.INDENT 0.0
.IP \(bu 2
@ -613,8 +612,7 @@ A first section (called global) is available:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
[global]
# Refresh rate (default is a minimum of 2 seconds)
# Can be overwritten by the \-t <sec> option
@ -630,8 +628,7 @@ history_size=1200
# Define external directory for loading additional plugins
# The layout follows the glances standard for plugin definitions
#plugin_dir=/home/user/dev/plugins
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.sp
@ -639,8 +636,7 @@ than a second one concerning the user interface:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
[outputs]
# Options for all UIs
#\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
@ -677,8 +673,7 @@ max_processes_display=25
# Comma separated list of HTTP request headers that should be supported for cross\-origin requests.
# Default is *
#cors_headers=*
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.sp
@ -687,8 +682,7 @@ have a section. Below is an example for the CPU plugin:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
[cpu]
disable=False
refresh=3
@ -704,8 +698,7 @@ system_critical=90
steal_careful=50
steal_warning=70
steal_critical=90
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.sp
@ -713,8 +706,7 @@ an InfluxDB export module:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
[influxdb]
# Configuration for the \-\-export influxdb option
# https://influxdb.com/
@ -725,8 +717,7 @@ password=root
db=glances
prefix=localhost
#tags=foo:bar,spam:eggs
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.sp
@ -734,8 +725,7 @@ or a Nginx AMP:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
[amp_nginx]
# Nginx status page should be enabled (https://easyengine.io/tutorials/nginx/status\-page/)
enable=true
@ -743,8 +733,7 @@ regex=\e/usr\e/sbin\e/nginx
refresh=60
one_line=false
status_url=http://localhost/nginx_status
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.sp
@ -754,13 +743,11 @@ of an InfluxDB export to the current hostname, use:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
[influxdb]
\&...
prefix=\(gahostname\(ga
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.sp
@ -768,13 +755,11 @@ Or if you want to add the Operating System name as a tag:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
[influxdb]
\&...
tags=system:\(gauname \-a\(ga
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.SH LOGGING
@ -797,8 +782,7 @@ format):
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
{
\(dqversion\(dq: 1,
\(dqdisable_existing_loggers\(dq: \(dqFalse\(dq,
@ -857,8 +841,7 @@ format):
}
}
}
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.sp
@ -866,11 +849,9 @@ and start Glances using the following command line:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
.EX
LOG_CFG=<path>/glances.json glances
.ft P
.fi
.EE
.UNINDENT
.UNINDENT
.sp

View File

@ -19,7 +19,7 @@ import tracemalloc
# Global name
# Version should start and end with a numerical char
# See https://packaging.python.org/specifications/core-metadata/#version
__version__ = "4.3.0_dev06"
__version__ = "4.3.0.3"
__apiversion__ = '4'
__author__ = 'Nicolas Hennion <nicolas@nicolargo.com>'
__license__ = 'LGPLv3'

View File

@ -74,6 +74,7 @@
<script>
import { orderBy } from 'lodash';
import { GlancesHelper } from '../services.js';
import { store } from '../store.js';
export default {

File diff suppressed because one or more lines are too long

View File

@ -8,20 +8,13 @@
"""Manage the Glances ports list (Ports plugin)."""
from glances.globals import BSD
from glances.logger import logger
# XXX *BSDs: Segmentation fault (core dumped)
# -- https://bitbucket.org/al45tair/netifaces/issues/15
# Also used in the glances_ip plugin
if not BSD:
try:
import netifaces
try:
import netifaces
netifaces_tag = True
except ImportError:
netifaces_tag = False
else:
netifaces_tag = True
except ImportError:
netifaces_tag = False

View File

@ -14,7 +14,7 @@ influxdb>=1.0.0 # For InfluxDB < 1.8
influxdb-client # For InfluxDB >= 1.8
jinja2
kafka-python
netifaces
netifaces-plus
nvidia-ml-py
orjson
paho-mqtt

View File

@ -58,7 +58,7 @@ export = [
]
gpu = ["nvidia-ml-py"]
graph = ["pygal"]
ip = ["netifaces"]
ip = ["netifaces-plus"]
raid = ["pymdstat"]
sensors = ["batinfo; platform_system == 'Linux'"]
smart = ["pySMART.smartx"]

View File

@ -1,5 +1,5 @@
name: glances
version: '4.2.1+build02' # Put the current stable version+buildXX
version: '4.3.0.3+build01' # Put the current stable version+buildXX
summary: Glances an Eye on your system. A top/htop alternative.
description: |