Package Products :: Package DataCollector :: Module Plugins |
[hide private]
[frames] | no frames]

# Module Plugins

source code

    Load modeling and monitoring plugins from standard locations and from
    ZenPacks.  Most of the entry into this module is via the three functions
    defined at the very bottom of the file. Those functions use the singleton
    PluginManager objects to load the plugins.

    Classes -
        PluginImportError - an exception type
        PluginLoader - jellyable object that has all the information neccessary
                       to dynamically import the plugin module and instantiate the
                       class that shares the module's name
        CoreImporter - jellyable object that is injected into a PluginLoader.
                       handles importing of plugins found inside Products
        PackImporter - same as above but for zenpack plugins
        BaseLoaderFactory - base class for the two loader factories
        CoreLoaderFactory - generates the PluginLoaders for core plugins
        PackLoaderFactory - generates the PluginLoaders for zenpack plugins
        PluginManager - there is one singleton instance of this class for modeling
                        plugins and another for monitoring plugins

    Note that modPath uses a different convention for core versus zenpack plugins.

        core: zenoss.cmd.uname
        zenpack: ZenPacks.zenoss.AixMonitor.modeler.plugins.zenoss.cmd.uname

Classes | [hide private]
PluginImportError Capture extra data from plugin exceptions
PluginLoader Class to load plugins
OsWalker
CoreImporter
PackImporter
BaseLoaderFactory
CoreLoaderFactory
PackLoaderFactory
PluginManager Manages plugin modules.
ModelingManager this class is not intended to be instantiated.
MonitoringManager this class is not intended to be instantiated.

Functions | [hide private]
_coreModPaths(walker, package) generates modPath strings for the modules in a core directory | source code
_loadPlugins(pluginManager, dmd) | source code
loadPlugins(dmd) Get PluginLoaders for all the modeling plugins | source code
loadParserPlugins(dmd) Get PluginLoaders for all the modeling plugins | source code
getParserLoader(dmd, modPath) Get a PluginLoader for the given monitoring plugin's module path | source code

Variables | [hide private]
| log = `logging.getLogger('zen.Plugins')`