diff --git a/remote/metrics.py b/remote/metrics.py index e425bc99..e3271ac1 100755 --- a/remote/metrics.py +++ b/remote/metrics.py @@ -115,7 +115,11 @@ def collect(self) -> t.Iterable[prometheus_client.Metric]: [process.name()], process.memory_info().rss ) - io_counters = process.io_counters() + try: + io_counters = process.io_counters() + except psutil.AccessDenied: + io_counters = None + if io_counters: process_io_counters_metric.add_metric( [process.name(), "read"], io_counters.read_bytes @@ -129,9 +133,12 @@ def collect(self) -> t.Iterable[prometheus_client.Metric]: ) if hasattr(process, "num_fds"): - process_open_fds_metric.add_metric( - [process.name()], process.num_fds() - ) + try: + process_open_fds_metric.add_metric( + [process.name()], process.num_fds() + ) + except psutil.AccessDenied: + pass yield process_cpu_percent_metric yield process_memory_usage_metric