ó *ÒLc@sdefd„ƒYZdS(t dstat_plugincBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(sƒ Number of read and write transactions per device. Displays the number of read and write I/O transactions per device. cCsGd|_d|_d|_tjdƒ|_|jdƒd|_dS( Ntreadstwritstdiès ^(dm-\d+|md\d+|[hsv]d[a-z]+\d+)$s/proc/diskstatsi(RR(tnickttypetscaletretcompilet diskfiltertopentcols(tself((s"/usr/share/dstat/dstat_disk_tps.pyt__init__ s     cGsg}x`|jƒD]R}t|ƒdkr1qn|ddgdkrNqn|d}|j|ƒqWx|D]}|j|ƒqpW|s™td‚n|S(Ni it0i is*No suitable block devices found to monitor(t splitlinestlentappendt Exception(R tobjlisttrettltnametitem((s"/usr/share/dstat/dstat_disk_tps.pytdiscovers   cCsÓg}tjrtj}nptjs-d}n^g}xK|jD]@}|jj|ƒr[q=n|tƒkrpq=n|j|ƒq=W|jƒxA|D]9}||jdgtj j ƒkr’|j|ƒq’q’W|S(Nttotal(R( toptdisklisttfullRR tmatcht blockdevicesRtsorttdisksettkeys(R RtvarlistR((s"/usr/share/dstat/dstat_disk_tps.pytvarss"      #cCs$g|jD]}dt|ƒ^q S(Nsdsk/(R#t sysfs_dev(R R((s"/usr/share/dstat/dstat_disk_tps.pyR1sc Cs’x|jD]}d |j|s