import tuned.logs
import tuned.monitors
from tuned.utils.plugin_loader import PluginLoader
log = tuned.logs.get()
__all__ = ["Repository"]
class Repository(PluginLoader):
def __init__(self):
super(Repository, self).__init__()
self._monitors = set()
@property
def monitors(self):
return self._monitors
def _set_loader_parameters(self):
self._namespace = "tuned.monitors"
self._prefix = "monitor_"
self._interface = tuned.monitors.Monitor
def create(self, plugin_name, devices):
log.debug("creating monitor %s" % plugin_name)
monitor_cls = self.load_plugin(plugin_name)
monitor_instance = monitor_cls(devices)
self._monitors.add(monitor_instance)
return monitor_instance
def delete(self, monitor):
assert isinstance(monitor, self._interface)
monitor.cleanup()
self._monitors.remove(monitor)
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| __init__.py | File | 46 B | 0644 |
|
| base.py | File | 2.85 KB | 0644 |
|
| monitor_disk.py | File | 886 B | 0644 |
|
| monitor_load.py | File | 306 B | 0644 |
|
| monitor_net.py | File | 1.14 KB | 0644 |
|
| repository.py | File | 831 B | 0644 |
|