PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  \c@s>ddlZejjZdgZdefdYZdS(iNtMonitorcBseZdZedZedZedZedZedZedZ edZ edZ ed Z dd Zd Zd Zed ZejdZdZdZdZdZRS(s 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) cCst|_t|_t|_t|_i|_|jt|jtsXt t |_t j ddj |jdS(Nsavailable devices: %ss, (tFalset_class_initializedtsett _instancest_available_devicest_updating_devicest_loadt_init_available_devicest isinstancetAssertionErrortTruetlogtdebugtjoin(tcls((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt _init_classs       cCs tdS(N(tNotImplementedError(R((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyR!scCs+|jtjddj|jdS(Ns available devices updated to: %ss, (RR R RR(R((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt_update_available_devices%s  cCs|jS(N(R(R((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pytget_available_devices+scCs tdS(N(R(R((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pytupdate/scCs|jj|dS(N(Rtadd(Rtinstance((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt_register_instance3scCs|jj|dS(N(Rtremove(RR((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt_deregister_instance7scCsKt}x|jD]}||jO}qW|jj|jj|dS(N(RRtdevicesRtclearR(Rt new_updatingR((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt_refresh_updating_devices;s   cCs|jS(N(R(R((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt instancesCscCsst|ds1|jt|ds1tn|j||dk rV||_n|j|_|jdS(NR(thasattrRR RtNoneRRR(tselfR((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt__init__Is    cCsy|jWnnXdS(N(tcleanup(R!((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt__del__WscCs|j||jdS(N(RR(R!((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyR#]s cCs|jS(N(t_devices(R!((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyRascCs*|jt|@}||_|jdS(N(RRR%R(R!tvaluet new_devices((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyRes cCsdt|ts$t|ts$t|j||jkr`|jj||jj|ndS(N( R tstrtunicodeR RRR%RR(R!tdevice((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt add_deviceks $ cCsZt|ts$t|ts$t||jkrV|jj||jj|ndS(N(R R(R)R R%RR(R!R*((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyt remove_devicers$cCs?tgt|jjD]}|d|jkr|^qS(Ni(tdicttlistRtitemsR%(R!tdev_load((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pytget_loadxscCs|jj|dS(N(RtgetR (R!R*((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pytget_device_load{sN(t__name__t __module__t__doc__t classmethodRRRRRRRRRR R"R$R#tpropertyRtsetterR+R,R1R3(((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyRs&        (t tuned.logsttunedtlogsR2R t__all__tobjectR(((s7/usr/lib/python2.7/site-packages/tuned/monitors/base.pyts