from tuned.utils.plugin_loader import PluginLoader import tuned.plugins.base import tuned.logs log = tuned.logs.get() __all__ = ["Repository"] class Repository(PluginLoader): def __init__(self, monitor_repository, storage_factory, hardware_inventory, device_matcher, device_matcher_udev, plugin_instance_factory, global_cfg, variables): super(Repository, self).__init__() self._plugins = set() self._monitor_repository = monitor_repository self._storage_factory = storage_factory self._hardware_inventory = hardware_inventory self._device_matcher = device_matcher self._device_matcher_udev = device_matcher_udev self._plugin_instance_factory = plugin_instance_factory self._global_cfg = global_cfg self._variables = variables @property def plugins(self): return self._plugins def _set_loader_parameters(self): self._namespace = "tuned.plugins" self._prefix = "plugin_" self._interface = tuned.plugins.base.Plugin def create(self, plugin_name): log.debug("creating plugin %s" % plugin_name) plugin_cls = self.load_plugin(plugin_name) plugin_instance = plugin_cls(self._monitor_repository, self._storage_factory, self._hardware_inventory, self._device_matcher,\ self._device_matcher_udev, self._plugin_instance_factory, self._global_cfg, self._variables) self._plugins.add(plugin_instance) return plugin_instance def delete(self, plugin): assert isinstance(plugin, self._interface) log.debug("removing plugin %s" % plugin) plugin.cleanup() self._plugins.remove(plugin)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
instance | Folder | 0755 |
|
|
__init__.py | File | 49 B | 0644 |
|
base.py | File | 21.89 KB | 0644 |
|
decorators.py | File | 983 B | 0644 |
|
exceptions.py | File | 99 B | 0644 |
|
hotplug.py | File | 3.84 KB | 0644 |
|
plugin_acpi.py | File | 2.39 KB | 0644 |
|
plugin_audio.py | File | 3.13 KB | 0644 |
|
plugin_bootloader.py | File | 25.31 KB | 0644 |
|
plugin_cpu.py | File | 27.56 KB | 0644 |
|
plugin_disk.py | File | 16.46 KB | 0644 |
|
plugin_eeepc_she.py | File | 2.88 KB | 0644 |
|
plugin_irqbalance.py | File | 3.47 KB | 0644 |
|
plugin_modules.py | File | 4.81 KB | 0644 |
|
plugin_mounts.py | File | 5.45 KB | 0644 |
|
plugin_net.py | File | 22.71 KB | 0644 |
|
plugin_rtentsk.py | File | 1.08 KB | 0644 |
|
plugin_scheduler.py | File | 54.94 KB | 0644 |
|
plugin_script.py | File | 3.76 KB | 0644 |
|
plugin_scsi_host.py | File | 3.08 KB | 0644 |
|
plugin_selinux.py | File | 2.27 KB | 0644 |
|
plugin_service.py | File | 10.47 KB | 0644 |
|
plugin_sysctl.py | File | 6.74 KB | 0644 |
|
plugin_sysfs.py | File | 2.63 KB | 0644 |
|
plugin_systemd.py | File | 5.3 KB | 0644 |
|
plugin_uncore.py | File | 4.61 KB | 0644 |
|
plugin_usb.py | File | 1.97 KB | 0644 |
|
plugin_video.py | File | 3.72 KB | 0644 |
|
plugin_vm.py | File | 3.48 KB | 0644 |
|
repository.py | File | 1.49 KB | 0644 |
|