mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-24 11:27:49 +00:00
Bug 1013730 - Have mach ignore broken disk io stats; r=gps
This works around the "RuntimeError: couldn't find any physical disk" issue on Windows when using 'diskperf -n'
This commit is contained in:
parent
e97bf58c21
commit
1faea8e362
@ -19,6 +19,14 @@ from collections import (
|
||||
|
||||
from contextlib import contextmanager
|
||||
|
||||
def get_disk_io_counters():
|
||||
try:
|
||||
io_counters = psutil.disk_io_counters()
|
||||
except RuntimeError:
|
||||
io_counters = []
|
||||
|
||||
return io_counters
|
||||
|
||||
|
||||
def _collect(pipe, poll_interval):
|
||||
"""Collects system metrics.
|
||||
@ -34,7 +42,7 @@ def _collect(pipe, poll_interval):
|
||||
# We should ideally use a monotonic clock. However, Python 2.7 doesn't
|
||||
# make a monotonic clock available on all platforms. Python 3.3 does!
|
||||
last_time = time.time()
|
||||
io_last = psutil.disk_io_counters()
|
||||
io_last = get_disk_io_counters()
|
||||
cpu_last = psutil.cpu_times(True)
|
||||
swap_last = psutil.swap_memory()
|
||||
psutil.cpu_percent(None, True)
|
||||
@ -45,7 +53,7 @@ def _collect(pipe, poll_interval):
|
||||
sleep_interval = poll_interval
|
||||
|
||||
while not pipe.poll(sleep_interval):
|
||||
io = psutil.disk_io_counters()
|
||||
io = get_disk_io_counters()
|
||||
cpu_times = psutil.cpu_times(True)
|
||||
cpu_percent = psutil.cpu_percent(None, True)
|
||||
virt_mem = psutil.virtual_memory()
|
||||
@ -176,7 +184,7 @@ class SystemResourceMonitor(object):
|
||||
|
||||
cpu_percent = psutil.cpu_percent(0.0, True)
|
||||
cpu_times = psutil.cpu_times(False)
|
||||
io = psutil.disk_io_counters()
|
||||
io = get_disk_io_counters()
|
||||
virt = psutil.virtual_memory()
|
||||
swap = psutil.swap_memory()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user