+
     Gij  c                   s^    ^ RI t]P                  P                  4       tR.t ! R R]4      tR# )    NMonitorc                   s  a  ] tR t^t o Rt]R 4       t]R 4       t]R 4       t]R 4       t	]R 4       t
]R 4       t]R 4       t]R	 4       t]R
 4       tRR ltR tR t]R 4       t]P(                  R 4       tR tR tR tR tRtV tR# )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                s   R V n         \        4       V n        \        4       V n        \        4       V n        / V n        V P                  4        RV n         \        P                  RRP                  V P                  4      ,          4       R# )FTzavailable devices: %s, N)
_class_initializedset
_instances_available_devices_updating_devices_load_init_available_deviceslogdebugjoincls   &8/usr/lib/python3.14/site-packages/tuned/monitors/base.py_init_classZMonitor._init_class   sc     #5#.5#%##)#))#dii0F0F&GGH    c                    \        4       hNZNotImplementedErrorr   r   r   r	   ZMonitor._init_available_devices!       r   c                s    V P                  4        \        P                  R RP                  V P                  4      ,          4       R# )z available devices updated to: %sr   N)r	   r
   r   r   r   r   r   r   _update_available_devicesZ!Monitor._update_available_devices%   s4    )).
ii&&'( )r   c                    V P                   # r   )r   r   r   r   get_available_devicesZMonitor.get_available_devices+   s    			r   c                r   r   r   r   r   r   updateZMonitor.update/   r   r   c                <    V P                   P                  V4       R # r   )r   addr   instance   &&r   _register_instanceZMonitor._register_instance3   s    ..Xr   c                r   r   )r   remover   r   r   _deregister_instanceZMonitor._deregister_instance7   s    ..!r   c                s    \        4       pV P                   F  pWP                  ,          pK  	  V P                  P	                  4        V P                  P                  V4       R # r   )r   r   devicesr   Zclearr   )r   Znew_updatingr   s   &  r   _refresh_updating_devicesZ!Monitor._refresh_updating_devices;   sK    ,..h###< !|,r   c                r   r   )r   r   r   r   	instancesZMonitor.instancesC   s    	r   Nc                s    \        V R 4      '       g   V P                  4        V P                  V 4       Ve   Wn        MV P	                  4       V n        V P                  4        R# )r   N)Zhasattrr   r    r#   r   r   )selfr#   r   r   __init__ZMonitor.__init__I   sP    	+	,	, $<,,.4<++-r   c                s8     V P                  4        R #     R # ; ir   )cleanupr&   r   r   __del__ZMonitor.__del__W   s    <<>s    c                sH    V P                  V 4       V P                  4        R # r   )r"   r$   r)   r   r   r(   ZMonitor.cleanup]   s    D!  "r   c                r   r   )_devicesr)   r   r   r#   Monitor.devicesa   s    	r   c                sj    V P                   \        V4      ,          pW n        V P                  4        R # r   )r   r   r+   r$   )r&   ZvalueZnew_devicess   && r   r#   r,   e   s'    ''#e*4+-  "r   c                s    V P                  4        WP                  9   d9   V P                  P                  V4       V P                  P                  V4       R # R # r   )r   r   r+   r   r   r&   Zdevicer   r   
add_deviceZMonitor.add_devicek   sE      "&&&==Vf% 'r   c                s    WP                   9   d9   V P                   P                  V4       V P                  P                  V4       R # R # r   )r+   r!   r   r-   r   r   remove_deviceZMonitor.remove_devicer   s7    }}==  ( r   c                s    \        \        V P                  P                  4       4       Uu. uF  q^ ,          V P                  9   g   K  VNK   	  up4      # u upi )r    )ZdictZlistr   Zitemsr+   )r&   Zdev_loads   & r   get_loadZMonitor.get_loadx   sE    	TZZ-=-=-?(@a(@HQKSWS`S`D`xx(@a	bbas   A	Ac                s:    V P                   P                  VR 4      # r   )r   getr-   r   r   get_device_loadZMonitor.get_device_load{   s    		%%r   )r+   r#   r   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Zclassmethodr   r	   r   r   r   r    r"   r$   r%   r'   r*   r(   Zpropertyr#   Zsetterr.   r/   r0   r2   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s    	 
I 
I   ) )
         " " - -  
#   
..# #
&)c& &r   )Z
tuned.logsZtunedZlogsr1   r
   Z__all__Zobjectr   ) r   r   <module>r3      s-    jjnn+v&f v&r   