a ”ˆ«hj ã@s,ddlZej ¡ZdgZGdd„deƒZdS)éNÚMonitorc@sÐeZdZdZedd„ƒZedd„ƒZedd„ƒZedd „ƒZed d „ƒZ ed d „ƒZ edd„ƒZ edd„ƒZ edd„ƒZ d&dd„Zdd„Zdd„Zedd„ƒZejdd„ƒZdd„Zd d!„Zd"d#„Zd$d%„ZdS)'rzô 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) cCs\d|_tƒ|_tƒ|_tƒ|_i|_| ¡t|jtƒst|tƒst|tƒsJ‚||jvr:|j |¡|j |¡dSr)r r-r.r+rrr/rrrÚ remove_devicers  zMonitor.remove_devicecs t‡fdd„tˆj ¡ƒDƒƒS)Ncsg|]}|dˆjvr|‘qS)rr*)Ú.0Zdev_loadr(rrÚ yóz$Monitor.get_load..)ÚdictÚlistr Úitemsr(rr(rÚget_loadxszMonitor.get_loadcCs|j |d¡Sr)r Úgetr/rrrÚget_device_load{szMonitor.get_device_load)N)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú classmethodrr rrrrrr"r#r&r)r'Úpropertyr Úsetterr0r1r8r:rrrrrs<             )Z tuned.logsZtunedZlogsr9r Ú__all__ÚobjectrrrrrÚs