The ceilometer.agent.plugin_base
ModuleΒΆ
Base class for plugins.
-
class
ceilometer.agent.plugin_base.
DiscoveryBase
[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.
NonMetricNotificationBase
[source] Bases:
object
Use to mark non-measurement meters
There are a number of historical non-measurement meters that should really be captured as events. This common base allows us to disable these invalid meters.
-
class
ceilometer.agent.plugin_base.
NotificationBase
(transporter)[source] Bases:
ceilometer.agent.plugin_base.PluginBase
Base class for plugins that support the notification API.
-
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
(ctxt, publisher_id, event_type, payload, metadata)[source] RPC endpoint for notification messages
When another service sends a notification over the message bus, this method receives it.
Parameters: - ctxt – oslo.messaging context
- publisher_id – publisher of the notification
- event_type – type of notification
- payload – notification payload
- metadata – metadata about the notification
-
process_notification
(message)[source] Return a sequence of Counter instances for the given message.
Parameters: message – Message to process.
-
to_samples_and_publish
(context, 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.
-
-
class
ceilometer.agent.plugin_base.
PluginBase
[source] Bases:
object
Base class for all plugins.
-
class
ceilometer.agent.plugin_base.
PollsterBase
[source] Bases:
ceilometer.agent.plugin_base.PluginBase
Base class for plugins that support the polling API.
-
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.
-
setup_environment
()[source] Setup required environment for pollster.
Each subclass could overwrite it for specific usage. Any exception raised in this function would prevent pollster being loaded.
-
-
exception
ceilometer.agent.plugin_base.
PollsterPermanentError
(resource)[source] Bases:
exceptions.Exception
Permenant 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.