HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //usr/local/lib/python3.9/site-packages/agent360/plugins/__pycache__/iostat.cpython-39.pyc
a

q�dgk�@sjddlZddlZddlZddlZddlZddlZddlZddd�ZGdd�dej�Z	e
dkrfe	���dS)�Nc
Cs~d}i}tj�d�sdSgd�}gd�}gd�}gd�}t|d���}|D�],}|dkrZqJ|��}	t|	�t|�krx|}
nDt|	�t|�kr�|}
n.t|	�t|�kr�|}
nt|	�t|�krJ|}
nqJtt|
|	��}|d	dd
�dkr�|d	dd
�dkr�n|d	d
d��	�du�rqJd|d	vsJd|d	v�r,qJ|du�rF||d	k�rFqJ|D] }|d	k�rJt
||�||<�qJ|||d	<qJ|S)Nz/proc/diskstatsF)�m�mm�dev�reads�rd_mrg�
rd_sectors�
ms_reading�writes�wr_mrg�
wr_sectors�
ms_writing�cur_ios�ms_doing_io�ms_weighted)rrrrrrrr	r
rrr
rr�discards�discards_merged�discarded_sectors�discarded_time)rrrrrrrr	r
rrr
rrrrrr�flush�
flush_time)rrrrrr	r�r�r�Znvm�������nT�loopZram)�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/�A/usr/local/lib/python3.9/site-packages/agent360/plugins/iostat.py�diskstats_parse
sH
(
r1c@seZdZdZdd�ZdS)�PluginZiostatc
Gsd}i}t��|d<|��}t�}|r.|dur�i}zHtjdd�}|��D].\}}	i}
|	jD]}t|	|�|
|<qZ|
||<qHWn*ty�}z|j	}WYd}~n
d}~00�ndi}|��D�]T\}}	i}
i||<t��||d<z||Wni||<Yn0|	��D]R\}}
||v�rNz|�
||
||�|
|<WnYn0|
|||<n|
|
|<�qz(|
d|
d|
d|
d	|
d
<Wnd|
d
<Yn0z|
d|
d	|
d<Wnd|
d<Yn0z(d
|
dd|d|d|
d<Wnd|
d<Yn0|
||<q�|�|�|S)N)rr	rrrrr
rrrrrrrr�tsFT)Zperdiskrrrr	zavgrq-szrZtps�dri��usage)�timeZget_agent_cacher1�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/r0�runOs`
 
((

z
Plugin.runN)�__name__�
__module__�__qualname__rDr/r/r/r0r2Lsr2�__main__)N)r�signal�
subprocess�sysr7Zpluginsr6r1Z
BasePluginr2rE�executer/r/r/r0�<module>s
?J