|
Server : LiteSpeed System : Linux server104.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : saleoqej ( 6848) PHP Version : 8.0.30 Disable Function : NONE Directory : /lib/python3.6/site-packages/tuned/monitors/ |
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)