def save_state(self, logger: logging.Logger) -> None: # If Redis is enabled, store the current state if self._redis_enabled: logger.debug( 'Saving %s state: _process_cpu_seconds_total=%s, ' '_process_memory_usage=%s, _virtual_memory_usage=%s, ' '_open_file_descriptors=%s, _system_cpu_usage=%s, ' '_system_ram_usage=%s, _system_storage_usage=%s', self.name, self._process_cpu_seconds_total, self._process_memory_usage, self._virtual_memory_usage, self._open_file_descriptors, self._system_cpu_usage, self._system_ram_usage, self._system_storage_usage) # Set values self._redis.hset_multiple( self._redis_hash, { Keys.get_system_get_process_cpu_seconds_total(self.name): self._process_cpu_seconds_total, Keys.get_system_get_process_memory_usage(self.name): self._process_memory_usage, Keys.get_system_get_virtual_memory_usage(self.name): self._virtual_memory_usage, Keys.get_system_get_open_file_descriptors(self.name): self._open_file_descriptors, Keys.get_system_get_system_cpu_usage(self.name): self._system_cpu_usage, Keys.get_system_get_system_ram_usage(self.name): self._system_ram_usage, Keys.get_system_get_system_storage_usage(self.name): self._system_storage_usage })
def load_state(self, logger: logging.Logger) -> None: # If Redis is enabled, load any previously stored state if self._redis_enabled: self._process_cpu_seconds_total = self._redis.hget_int( self._redis_hash, Keys.get_system_get_process_cpu_seconds_total(self.name), None) self._process_memory_usage = self._redis.hget_int( self._redis_hash, Keys.get_system_get_process_memory_usage(self.name), None) self._virtual_memory_usage = self._redis.hget_int( self._redis_hash, Keys.get_system_get_virtual_memory_usage(self.name), None) self._open_file_descriptors = self._redis.hget_int( self._redis_hash, Keys.get_system_get_open_file_descriptors(self.name), None) self._system_cpu_usage = self._redis.hget_int( self._redis_hash, Keys.get_system_get_system_cpu_usage(self.name), None) self._system_ram_usage = self._redis.hget_int( self._redis_hash, Keys.get_system_get_system_ram_usage(self.name), None) self._system_storage_usage = self._redis.hget_int( self._redis_hash, Keys.get_system_get_system_storage_usage(self.name), None) logger.debug( 'Restored %s state: _process_cpu_seconds_total=%s, ' '_process_memory_usage=%s, _virtual_memory_usage=%s, ' '_open_file_descriptors=%s, _system_cpu_usage=%s, ' '_system_ram_usage=%s, _system_storage_usage=%s', self.name, self._process_cpu_seconds_total, self._process_memory_usage, self._virtual_memory_usage, self._open_file_descriptors, self._system_cpu_usage, self._system_ram_usage, self._system_storage_usage)