%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/beacons/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/beacons/load.pyc

�
���^c@@s�dZddlmZmZddlZddlZddlZddlm	Z	ddlm
Z
eje�Z
dZiZd�Zd�Zd	�ZdS(
u%
Beacon to emit system load averages
i(tabsolute_importtunicode_literalsN(tmap(tzipuloadcC@stjjj�rtStSdS(N(tsalttutilstplatformt
is_windowstFalset__virtualname__(((s5/usr/lib/python2.7/site-packages/salt/beacons/load.pyt__virtual__scC@s8t|t�stdfSi}tt|j|��d|krat|dt�satdfSnd|kr�t|dt�s�tdfSnd|kr�tdfStd�|jdi�D��s�td	fSx\d
ddgD]K}t|d|t�std
fSt|d|�dkr�tdfSq�Wt	dfS(u+
    Validate the beacon configuration
    u-Configuration for load beacon must be a list.u
emitatstartupuEConfiguration for load beacon option emitatstartup must be a boolean.uonchangeonlyuDConfiguration for load beacon option onchangeonly must be a boolean.uaveragesu3Averages configuration is required for load beacon.cs@s|]}|dkVqdS(u1mu5mu15mN(u1mu5mu15m((t.0tj((s5/usr/lib/python2.7/site-packages/salt/beacons/load.pys	<genexpr>;suHAverages configuration for load beacon must contain 1m, 5m or 15m items.u1mu5mu15muYAverages configuration for load beacon: 1m, 5m and 15m items must be a list of two items.iuPConfiguration for load beacon: 1m, 5m and 15m items must be a list of two items.uValid beacon configuration(
t
isinstancetlistRRtupdatetbooltanytgettlentTrue(tconfigt_configtitem((s5/usr/lib/python2.7/site-packages/salt/beacons/load.pytvalidate s*



	

c
C@sKtjd�i}tt|j|��d|krBt|d<nd|kr[t|d<ng}tj�}dddg}t	t
||��}|dr�ts�x%dddgD]}||t|<q�W|ds�tjd�|Sq�nt}x	dddgD]�}||j
di�kr|drWt||�t|d|d	�kr�tt|�t|d|d	�kr�tjd
t||�t|d|d	�tt|��t}Pnt||�t|d|d�kr�tt|�t|d|d�kr�tjdt||�t|d|d�tt|��t}Pq�q�t||�t|d|d�ks�t||�t|d|d	�kr�tjd
t||�t|d|d�t|d|d	��t}Pq�qqW|dr1x(dddgD]}||t|<qWn|rG|j|�n|S(u�
    Emit the load averages of this host.

    Specify thresholds for each load average
    and only emit a beacon if any of them are
    exceeded.

    `onchangeonly`: when `onchangeonly` is True the beacon will fire
    events only when the load average pass one threshold.  Otherwise, it will fire an
    event at each beacon interval.  The default is False.

    `emitatstartup`: when `emitatstartup` is False the beacon will not fire
     event when the minion is reload. Applicable only when `onchangeonly` is True.
     The default is True.

    .. code-block:: yaml

        beacons:
          load:
            - averages:
                1m:
                  - 0.0
                  - 2.0
                5m:
                  - 0.0
                  - 1.5
                15m:
                  - 0.1
                  - 1.0
            - emitatstartup: True
            - onchangeonly: False

    uload beacon startingu
emitatstartupuonchangeonlyu1mu5mu15mu)Don't emit because emitatstartup is Falseuaveragesiu$Emit because %f > %f and last was %fiu#Emit because %f < %f and last was%fuEmit because %f < %f or > %f(tlogttraceRRRRRtost
getloadavgtdictRtLAST_STATUStdebugRtfloattappend(RRtrettavgstavg_keystavg_dicttktsend_beacon((s5/usr/lib/python2.7/site-packages/salt/beacons/load.pytbeaconNsh"







((	
((	
((	

(t__doc__t
__future__RRtloggingRtsalt.utils.platformRtsalt.ext.six.movesRRt	getLoggert__name__RR	RR
RR((((s5/usr/lib/python2.7/site-packages/salt/beacons/load.pyt<module>s		.

Zerion Mini Shell 1.0