Example #1
0
    def disk_io_counters(perdisk=False):
        """Return system disk I/O statistics as a namedtuple including:
         - number of bytes read
         - number of bytes written
         - number of reads
         - number of writes
         - time spent reading from disk (in nanoseconds)
         - time spent writing to disk (in nanoseconds)

        If perdisk is True return the same information for every
        physical disk installed on the system as a dictionary
        with partition names as the keys and the namedutuple
        described above as the values.
        """
        from psutil._common import ntuple_disk_iostat
        rawdict = _psplatform.disk_io_counters()
        if perdisk:
            for disk, fields in rawdict.iteritems():
                rawdict[disk] = ntuple_disk_iostat(*fields)
            return rawdict
        else:
            reads, writes, rbytes, wbytes, rtime, wtime = 0, 0, 0, 0, 0, 0
            for _, fields in rawdict.iteritems():
                reads += fields[0]
                writes += fields[1]
                rbytes += fields[2]
                wbytes += fields[3]
                rtime += fields[4]
                wtime += fields[5]
            return ntuple_disk_iostat(reads, writes, rbytes, wbytes, rtime,
                                      wtime)
Example #2
0
def disk_io_counters(perdisk=False):
    """Return system disk I/O statistics as a namedtuple including
    the following attributes:

     - read_count:  number of reads
     - write_count: number of writes
     - read_bytes:  number of bytes read
     - write_bytes: number of bytes written
     - read_time:   time spent reading from disk (in milliseconds)
     - write_time:  time spent writing to disk (in milliseconds)

    If perdisk is True return the same information for every
    physical disk installed on the system as a dictionary
    with partition names as the keys and the namedutuple
    described above as the values.
    """
    rawdict = _psplatform.disk_io_counters()
    if not rawdict:
        raise RuntimeError("couldn't find any physical disk")
    if perdisk:
        for disk, fields in rawdict.items():
            rawdict[disk] = _nt_disk_iostat(*fields)
        return rawdict
    else:
        return _nt_disk_iostat(*[sum(x) for x in zip(*rawdict.values())])
Example #3
0
def disk_io_counters(perdisk=False):
    """Return system disk I/O statistics as a namedtuple including
    the following attributes:

     - read_count:  number of reads
     - write_count: number of writes
     - read_bytes:  number of bytes read
     - write_bytes: number of bytes written
     - read_time:   time spent reading from disk (in milliseconds)
     - write_time:  time spent writing to disk (in milliseconds)

    If perdisk is True return the same information for every
    physical disk installed on the system as a dictionary
    with partition names as the keys and the namedutuple
    described above as the values.

    On recent Windows versions 'diskperf -y' command may need to be
    executed first otherwise this function won't find any disk.
    """
    rawdict = _psplatform.disk_io_counters()
    if not rawdict:
        raise RuntimeError("couldn't find any physical disk")
    if perdisk:
        for disk, fields in rawdict.items():
            rawdict[disk] = _nt_disk_iostat(*fields)
        return rawdict
    else:
        return _nt_disk_iostat(*[sum(x) for x in zip(*rawdict.values())])
Example #4
0
    def disk_io_counters(perdisk=False):
        """Return system disk I/O statistics as a namedtuple including:
         - number of bytes read
         - number of bytes written
         - number of reads
         - number of writes
         - time spent reading from disk (in nanoseconds)
         - time spent writing to disk (in nanoseconds)

        If perdisk is True return the same information for every
        physical disk installed on the system as a dictionary
        with partition names as the keys and the namedutuple
        described above as the values.
        """
        from psutil._common import ntuple_disk_iostat
        rawdict = _psplatform.disk_io_counters()
        if perdisk:
            for disk, fields in rawdict.iteritems():
                rawdict[disk] = ntuple_disk_iostat(*fields)
            return rawdict
        else:
            reads, writes, rbytes, wbytes, rtime, wtime = 0, 0, 0, 0, 0, 0
            for _, fields in rawdict.iteritems():
                reads += fields[0]
                writes += fields[1]
                rbytes += fields[2]
                wbytes += fields[3]
                rtime += fields[4]
                wtime += fields[5]
            return ntuple_disk_iostat(reads, writes, rbytes, wbytes, rtime, wtime)