+
     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                sX   R V n         \        4       V n        \        4       V n        \        4       V n        / V n        V P                  4        \        V P                  \        4      '       g   Q h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
isinstancelogdebugjoincls   &8/usr/lib/python3.14/site-packages/tuned/monitors/base.py_init_classZMonitor._init_class   s|     #5#.5#%##)	C**C	0	00	0#))#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 R 4      '       g   Q h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   sb    	+	,	,
$,
-
--
-$<,,.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\        4      '       g   \        V\        4      '       g   Q hV P                  4        WP                  9   d9   V P
                  P                  V4       V P                  P                  V4       R # R # r   )r
   strunicoder   r   r,   r   r   r'   Zdevicer    r   
add_deviceZMonitor.add_devicek   sd    
VC
 
 Jvg$>$>?
>  "&&&==Vf% 'r   c                s    \        V\        4      '       g   \        V\        4      '       g   Q hWP                  9   d9   V P                  P	                  V4       V P
                  P	                  V4       R # R # r   )r
   r.   r/   r,   r"   r   r0   r    r   remove_deviceZMonitor.remove_devicer   sV    
VC
 
 Jvg$>$>?
>}}==  ( 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   getr0   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setterr1   r2   r3   r5   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s    	 
I 
I   ) )
         " " - -  
#   
..# #
&)c& &r   )Z
tuned.logsZtunedZlogsr4   r   Z__all__Zobjectr   ) r   r   <module>r6      s-    jjnn+v&f v&r   