Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/landscape/monitor/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pyc


Tc@sbdZddlZddlmZmZddlmZddlmZdefdYZ	dS(s
A monitor that collects data on network activity, and sends messages
with the inbound/outbound traffic per interface per step interval.
iN(tget_network_traffictis_64(tAccumulator(t
MonitorPlugintNetworkActivitycBs}eZdZdZeZdZdZdZdZde	j	dZ
dZd	Zd
Z
edZdZd
ZRS(s>
    Collect data regarding a machine's network activity.
    snetwork-activityiitnetworkis
/proc/net/devcCsF||_i|_i|_||_tsBtdd|_ndS(Nii (t_source_filet_network_activityt_last_activityt_create_timeRtpowt_rollover_maxint(tselftnetwork_activity_filetcreate_time((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pyt__init__s					cCsKtt|j|t|j|jj|_|jd|j	t
dS(Nsnetwork-activity(tsuperRtregisterRt_persisttregistryt	step_sizet_accumulatetcall_on_acceptedtexchangetTrue(RR((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pyR'scCsi}d}xt|jjD]x\}}|r"g||<xC|r||jkr|jd}||j||d7}qAW||jkrPqq"q"W|sdSidd6|d6S(Niisnetwork-activityttypet
activities(tlistRtitemstmax_network_items_to_exchangetpoptappend(Rtnetwork_activityRt	interfacetdatatitem((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pytcreate_message,s"
cCs9|j}|sdS|jjj||jd|dS(Nturgent(R$Rtbrokertsend_messaget_session_id(RR%tmessage((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pyR'<s
cCs |jjjd|j|dS(Nsnetwork-activity(RR&tcall_if_acceptedR'(RR%((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pyRCsccsx|D]}||}||jkr|j|\}}|d|}|d|}|dkrq||j7}n|dkr||j7}n|dkr|dkrqn|||fVn|d|df|j|<qWx0|jjD]}||kr|j|=qqWdS(s
        Given network activity metrics across all interfaces, calculate
        and return the delta data transferred for inbound and outbound
        traffic. Returns a tuple of interface name, outbound delta,
        inbound delta.
        t
send_bytest
recv_bytesiN(RRtkeys(Rtnew_trafficR!ttraffictprevious_outtprevious_int	delta_outtdelta_in((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pyt_traffic_deltaGs"

c	Cst|j}t|j}x|j|D]\}}}|j||d|}|j||d|}|o{|sq1n|jj|g}|j|dt|dt|dfq1WdS(su
        Sample network traffic statistics and store them into the
        accumulator, recording step data.
        sdelta-out-%ssdelta-in-%siiN(	tintR	RRR4RRt
setdefaultR(	Rt
new_timestampR.R!R2R3t
out_step_datatin_step_datatsteps((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pytrunes(t__name__t
__module__t__doc__tmessage_typetpersist_nametrun_intervalRtscopeRttimeRRR$R'tFalseRR4R;(((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pyRs				(
R>RCtlandscape.lib.networkRRtlandscape.accumulateRtlandscape.monitor.pluginRR(((sE/usr/lib/python2.7/dist-packages/landscape/monitor/networkactivity.pyt<module>s