/ mlflow / system_metrics / metrics / disk_monitor.py
disk_monitor.py
 1  """Class for monitoring disk stats."""
 2  
 3  import os
 4  
 5  import psutil
 6  
 7  from mlflow.system_metrics.metrics.base_metrics_monitor import BaseMetricsMonitor
 8  
 9  
10  class DiskMonitor(BaseMetricsMonitor):
11      """Class for monitoring disk stats."""
12  
13      def collect_metrics(self):
14          # Get disk usage metrics.
15          disk_usage = psutil.disk_usage(os.sep)
16          self._metrics["disk_usage_percentage"].append(disk_usage.percent)
17          self._metrics["disk_usage_megabytes"].append(disk_usage.used / 1e6)
18          self._metrics["disk_available_megabytes"].append(disk_usage.free / 1e6)
19  
20      def aggregate_metrics(self):
21          return {k: round(sum(v) / len(v), 1) for k, v in self._metrics.items()}