Your IP : 18.119.109.60
3
�<�ej � @ s, d dl Zejj� ZdgZG dd� de�ZdS )� N�Monitorc @ s� e Zd ZdZedd� �Zedd� �Zedd� �Zedd � �Zed
d� �Z edd
� �Z
edd� �Zedd� �Zedd� �Z
d&dd�Zdd� Zdd� Zedd� �Zejdd� �Zdd� Zd d!� Zd"d#� Zd$d%� ZdS )'r z�
Base class for all monitors.
Monitors provide data about the running system to Plugin objects, which use the data
to tune system parameters.
Following methods require reimplementation:
- _init_available_devices(cls)
- update(cls)
c C s\ d| _ t� | _t� | _t� | _i | _| j� t| jt�s<t�d| _ t j
ddj| j� � d S )NFTzavailable devices: %sz, )�_class_initialized�set�
_instances�_available_devices�_updating_devices�_load�_init_available_devices�
isinstance�AssertionError�log�debug�join)�cls� r �/usr/lib/python3.6/base.py�_init_class s zMonitor._init_classc C s
t � �d S )N)�NotImplementedError)r r r r r ! s zMonitor._init_available_devicesc C s"