The ceilometer.agent.plugin_base
Module¶
Base class for plugins.
-
class
ceilometer.agent.plugin_base.
DiscoveryBase
(conf)[source]¶ Bases:
object
-
discover
(manager, param=None)[source]¶ Discover resources to monitor.
The most fine-grained discovery should be preferred, so the work is the most evenly distributed among multiple agents (if they exist).
For example: if the pollster can separately poll individual resources, it should have its own discovery implementation to discover those resources. If it can only poll per-tenant, then the TenantDiscovery should be used. If even that is not possible, use EndpointDiscovery (see their respective docstrings).
Parameters: - manager – The service manager class invoking the plugin.
- param – an optional parameter to guide the discovery
-
-
class
ceilometer.agent.plugin_base.
ExchangeTopics
(exchange, topics)¶ Bases:
tuple
-
exception
ceilometer.agent.plugin_base.
ExtensionLoadError
[source]¶ Bases:
exceptions.Exception
Error of loading pollster plugin.
PollsterBase provides a hook, setup_environment, called in pollster loading to setup required HW/SW dependency. Any exception from it would be propagated as ExtensionLoadError, then skip loading this pollster.
-
class
ceilometer.agent.plugin_base.
NotificationBase
(manager)[source]¶ Bases:
ceilometer.agent.plugin_base.PluginBase
Base class for plugins that support the notification API.
-
static
audit
(notifications)¶ RPC endpoint for useless notification level
-
static
critical
(notifications)¶ RPC endpoint for useless notification level
-
static
debug
(notifications)¶ RPC endpoint for useless notification level
-
static
error
(notifications)¶ RPC endpoint for useless notification level
-
get_targets
(conf)[source]¶ Return a sequence of oslo.messaging.Target.
Sequence is defining the exchange and topics to be connected for this plugin. :param conf: Configuration.
-
info
(notifications)[source]¶ RPC endpoint for notification messages at info level
When another service sends a notification over the message bus, this method receives it.
Parameters: notifications – list of notifications
-
process_notification
(message)[source]¶ Return a sequence of Counter instances for the given message.
Parameters: message – Message to process.
-
sample
(notifications)[source]¶ RPC endpoint for notification messages at sample level
When another service sends a notification over the message bus at sample priority, this method receives it.
Parameters: notifications – list of notifications
-
to_samples_and_publish
(notification)[source]¶ Return samples produced by process_notification.
Samples produced for the given notification. :param context: Execution context from the service or RPC call :param notification: The notification to process.
-
static
warn
(notifications)¶ RPC endpoint for useless notification level
-
static
-
class
ceilometer.agent.plugin_base.
PollsterBase
(conf)[source]¶ Bases:
ceilometer.agent.plugin_base.PluginBase
Base class for plugins that support the polling API.
-
classmethod
build_pollsters
(conf)[source]¶ Return a list of tuple (name, pollster).
The name is the meter name which the pollster would return, the pollster is a pollster object instance. The pollster which implements this method should be registered in the namespace of ceilometer.builder.xxx instead of ceilometer.poll.xxx.
-
classmethod
get_pollsters_extensions
(conf)[source]¶ Return a list of stevedore extensions.
The returned stevedore extensions wrap the pollster object instances returned by build_pollsters.
-
get_samples
(manager, cache, resources)[source]¶ Return a sequence of Counter instances from polling the resources.
Parameters: - manager – The service manager class invoking the plugin.
- cache – A dictionary to allow pollsters to pass data between themselves when recomputing it would be expensive (e.g., asking another service for a list of objects).
- resources – A list of resources the pollster will get data
from. It’s up to the specific pollster to decide
how to use it. It is usually supplied by a discovery,
see
default_discovery
for more information.
-
classmethod
-
exception
ceilometer.agent.plugin_base.
PollsterPermanentError
(resources)[source]¶ Bases:
exceptions.Exception
Permanent error when polling.
When unrecoverable error happened in polling, pollster can raise this exception with failed resource to prevent itself from polling any more. Resource is one of parameter resources from get_samples that cause polling error.