Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.6/site-packages/agent360/plugins/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.6/site-packages/agent360/plugins/__pycache__/iostat.cpython-36.pyc

3

�uGhk�@sjddlZddlZddlZddlZddlZddlZddlZddd�ZGdd�dej�Z	e
dkrfe	�j�dS)�Nc
Cs�d}i}tjjd�sdSddddddd	d
ddd
dddg}ddddddd	d
ddd
dddddddg}ddddddd	d
ddd
dddddddddg}dddddd
dg}t|d�j�}�x@|D�]6}|dkr�q�|j�}	t|	�t|�kr�|}
nFt|	�t|�kr�|}
n0t|	�t|�k�r|}
nt|	�t|�kr�|}
nq�tt|
|	��}|ddd�dk�rd|dd!d"�dk�rdn|dd#d�j	�dk�r�q�d|dks�d |dk�r�q�|dk	�r�||dk�r�q�x(|D] }|dk�r�t
||�||<�q�W|||d<q�W|S)$Nz/proc/diskstatsF�m�mm�dev�reads�rd_mrg�
rd_sectors�
ms_reading�writes�wr_mrg�
wr_sectors�
ms_writingZcur_ios�ms_doing_io�ms_weighted�discardsZdiscards_merged�discarded_sectors�discarded_time�flush�
flush_time�r��Znvm���nTZloopZram������r)�os�path�isfile�open�	readlines�split�len�dict�zip�isdigit�int)
r�	file_path�resultZcolumns_diskZcolumns_disk_418Zcolumns_disk_55Zcolumns_partition�lines�liner!�columns�data�key�r.�@/root/tmp/pip-build-gzoz1_uw/agent360/agent360/plugins/iostat.py�diskstats_parse
s\
,

r0c@seZdZdZdd�ZdS)�PluginZiostatcGs.d}i}tj�|d<|j�}t�}|s0|dkr�i}yPtjdd�}x>|j�D]2\}}	i}
x|	jD]}t|	|�|
|<q`W|
||<qLWWn(tk
r�}z|j	}WYdd}~XnX�nni}�xf|j�D�]X\}}	i}
i||<tj�||d<y||Wni||<YnXx^|	j�D]R\}}
||k�r\y|j
||
||�|
|<WnYnX|
|||<n|
|
|<�qWy(|
d|
d|
d|
d|
d<Wnd|
d<YnXy|
d|
d|
d<Wnd|
d<YnXy(d|
d	d|d|d|
d<Wnd|
d<YnX|
||<q�W|j|�|S)Nrr	rrrrr
rr
rrrrrr�tsFT)Zperdiskzavgrq-szrZtps�di��usage)rr	rrrrr
rr
rrrrrr)�timeZget_agent_cacher0�psutilZdisk_io_counters�items�_fields�getattr�	Exception�messageZabsolute_to_per_secondZset_agent_cache)�selfZunusedZ
delta_keysZ
next_cacheZ
prev_cache�disks�resultsZdiskdataZdevice�valuesZdevice_stats�	key_value�e�valuer.r.r/�runOs|
((
z
Plugin.runN)�__name__�
__module__�__qualname__rCr.r.r.r/r1Lsr1�__main__)N)r�signal�
subprocess�sysr6Zpluginsr5r0Z
BasePluginr1rD�executer.r.r.r/�<module>s
?J

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists