33
33
class GlancesMain (object ):
34
34
"""Main class to manage Glances instance."""
35
35
36
- # Default stats' refresh time is 3 seconds
37
- refresh_time = 3
36
+ # Default stats' minimum refresh time is 2 seconds
37
+ DEFAULT_REFRESH_TIME = 2
38
38
# Set the default cache lifetime to 1 second (only for server)
39
39
cached_time = 1
40
40
# By default, Glances is ran in standalone mode (no client/server)
@@ -205,8 +205,8 @@ def init_args(self):
205
205
help = 'SNMP authentication key (only for SNMPv3)' )
206
206
parser .add_argument ('--snmp-force' , action = 'store_true' , default = False ,
207
207
dest = 'snmp_force' , help = 'force SNMP mode' )
208
- parser .add_argument ('-t' , '--time' , default = self .refresh_time , type = float ,
209
- dest = 'time' , help = 'set refresh time in seconds [default: {} sec]' .format (self .refresh_time ))
208
+ parser .add_argument ('-t' , '--time' , default = self .DEFAULT_REFRESH_TIME , type = float ,
209
+ dest = 'time' , help = 'set refresh time in seconds [default: {} sec]' .format (self .DEFAULT_REFRESH_TIME ))
210
210
parser .add_argument ('-w' , '--webserver' , action = 'store_true' , default = False ,
211
211
dest = 'webserver' , help = 'run Glances in web server mode (bottle needed)' )
212
212
parser .add_argument ('--cached-time' , default = self .cached_time , type = int ,
@@ -258,6 +258,8 @@ def parse_args(self):
258
258
args = self .init_args ().parse_args ()
259
259
260
260
# Load the configuration file, if it exists
261
+ # This function should be called after the parse_args
262
+ # because the configration file path can be defined
261
263
self .config = Config (args .conf_file )
262
264
263
265
# Debug mode
@@ -268,6 +270,15 @@ def parse_args(self):
268
270
from warnings import simplefilter
269
271
simplefilter ("ignore" )
270
272
273
+ # Plugins refresh rate
274
+ if self .config .has_section ('global' ):
275
+ global_refresh = self .config .get_float_value ('global' ,
276
+ 'refresh' ,
277
+ default = self .DEFAULT_REFRESH_TIME )
278
+ if args .time == self .DEFAULT_REFRESH_TIME :
279
+ args .time = global_refresh
280
+ logger .debug ('Global refresh rate is set to {} seconds' .format (args .time ))
281
+
271
282
# Plugins disable/enable
272
283
# Allow users to disable plugins from the glances.conf (issue #1378)
273
284
for s in self .config .sections ():
0 commit comments