From 6bc6c44e5489edf85e6258e99868eaf787b4532f Mon Sep 17 00:00:00 2001 From: Lawrence Mitchell Date: Mon, 10 Oct 2022 13:40:57 +0100 Subject: [PATCH 1/3] Update typing for system_monitor after python/typeshed#8829 We must now explicitly no-op cast to sdiskio before accessing properties of the disk_io_counters call. This is safe because initialisation logic ensures that we never reach these branches except in the "not None" case. --- .pre-commit-config.yaml | 2 +- distributed/system_monitor.py | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f04aadfa4c8..50e05c239d9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -88,4 +88,4 @@ repos: - zict - pyarrow -# Increase this by 1 to force-wipe the pre-commit github action cache: 1 +# Increase this by 1 to force-wipe the pre-commit github action cache: 2 diff --git a/distributed/system_monitor.py b/distributed/system_monitor.py index 80c2e1c1d54..d93d9a3ce8e 100644 --- a/distributed/system_monitor.py +++ b/distributed/system_monitor.py @@ -2,7 +2,7 @@ import sys from collections import deque -from typing import Any +from typing import Any, cast import psutil @@ -70,8 +70,7 @@ def __init__( else: if disk_ioc is None: # pragma: nocover # diskless machine - # FIXME https://github.com/python/typeshed/pull/8829 - monitor_disk_io = False # type: ignore[unreachable] + monitor_disk_io = False else: self._last_disk_io_counters = disk_ioc self.quantities["host_disk_io.read_bps"] = deque(maxlen=maxlen) @@ -142,7 +141,7 @@ def update(self) -> dict[str, Any]: self._last_net_io_counters = net_ioc if self.monitor_disk_io: - disk_ioc = psutil.disk_io_counters() + disk_ioc = cast(psutil._common.sdiskio, psutil.disk_io_counters()) last_disk = self._last_disk_io_counters result["host_disk_io.read_bps"] = ( disk_ioc.read_bytes - last_disk.read_bytes From b7a5c2792a3271ba6b4c08959e9dd4cc7ca76496 Mon Sep 17 00:00:00 2001 From: crusaderky Date: Tue, 11 Oct 2022 08:57:50 +0100 Subject: [PATCH 2/3] Update distributed/system_monitor.py Co-authored-by: Lawrence Mitchell --- distributed/system_monitor.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/distributed/system_monitor.py b/distributed/system_monitor.py index d93d9a3ce8e..fedb6dd7d5b 100644 --- a/distributed/system_monitor.py +++ b/distributed/system_monitor.py @@ -141,7 +141,8 @@ def update(self) -> dict[str, Any]: self._last_net_io_counters = net_ioc if self.monitor_disk_io: - disk_ioc = cast(psutil._common.sdiskio, psutil.disk_io_counters()) + disk_ioc = psutil.disk_io_counters() + assert disk_ioc is not None last_disk = self._last_disk_io_counters result["host_disk_io.read_bps"] = ( disk_ioc.read_bytes - last_disk.read_bytes From b5015f8b86435265a24cb1529668e8e774721d3f Mon Sep 17 00:00:00 2001 From: crusaderky Date: Tue, 11 Oct 2022 08:58:14 +0100 Subject: [PATCH 3/3] Update distributed/system_monitor.py --- distributed/system_monitor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/distributed/system_monitor.py b/distributed/system_monitor.py index fedb6dd7d5b..d92dac6c119 100644 --- a/distributed/system_monitor.py +++ b/distributed/system_monitor.py @@ -2,7 +2,7 @@ import sys from collections import deque -from typing import Any, cast +from typing import Any import psutil