/usr/share/cagefs-skeleton/lib/python3.9/site-packages/glances/plugins
# -*- coding: utf-8 -*- # # This file is part of Glances. # # SPDX-FileCopyrightText: 2022 Nicolas Hennion <nicolas@nicolargo.com> # # SPDX-License-Identifier: LGPL-3.0-only # """Uptime plugin.""" from datetime import datetime, timedelta from glances.plugins.glances_plugin import GlancesPlugin import psutil # SNMP OID snmp_oid = {'_uptime': '1.3.6.1.2.1.1.3.0'} class Plugin(GlancesPlugin): """Glances uptime plugin. stats is date (string) """ def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True # Set the message position self.align = 'right' # Init the stats self.uptime = datetime.now() - datetime.fromtimestamp(psutil.boot_time()) def get_export(self): """Overwrite the default export method. Export uptime in seconds. """ # Convert the delta time to seconds (with cast) # Correct issue #1092 (thanks to @IanTAtWork) return {'seconds': int(self.uptime.total_seconds())} @GlancesPlugin._check_decorator @GlancesPlugin._log_result_decorator def update(self): """Update uptime stat using the input method.""" # Init new stats stats = self.get_init_value() if self.input_method == 'local': # Update stats using the standard system lib self.uptime = datetime.now() - datetime.fromtimestamp(psutil.boot_time()) # Convert uptime to string (because datetime is not JSONifi) stats = str(self.uptime).split('.')[0] elif self.input_method == 'snmp': # Update stats using SNMP uptime = self.get_stats_snmp(snmp_oid=snmp_oid)['_uptime'] try: # In hundredths of seconds stats = str(timedelta(seconds=int(uptime) / 100)) except Exception: pass # Update the stats self.stats = stats return self.stats def msg_curse(self, args=None, max_width=None): """Return the string to display in the curse interface.""" # Init the return message ret = [] # Only process if stats exist and plugin not disabled if not self.stats or self.is_disabled(): return ret ret = [self.curse_add_line('Uptime: {}'.format(self.stats))] return ret
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
glances_alert.py
Edit
glances_amps.py
Edit
glances_cloud.py
Edit
glances_connections.py
Edit
glances_core.py
Edit
glances_cpu.py
Edit
glances_diskio.py
Edit
glances_docker.py
Edit
glances_folders.py
Edit
glances_fs.py
Edit
glances_gpu.py
Edit
glances_help.py
Edit
glances_ip.py
Edit
glances_irq.py
Edit
glances_load.py
Edit
glances_mem.py
Edit
glances_memswap.py
Edit
glances_network.py
Edit
glances_now.py
Edit
glances_percpu.py
Edit
glances_plugin.py
Edit
glances_ports.py
Edit
glances_processcount.py
Edit
glances_processlist.py
Edit
glances_psutilversion.py
Edit
glances_quicklook.py
Edit
glances_raid.py
Edit
glances_sensors.py
Edit
glances_smart.py
Edit
glances_system.py
Edit
glances_uptime.py
Edit
glances_wifi.py
Edit
sensors
Edit