The ceilometer.pipeline Module

exception ceilometer.pipeline.ConfigException(cfg_type, message, cfg)[source]

Bases: exceptions.Exception

class ceilometer.pipeline.ConfigManagerBase(conf)[source]

Bases: object

Base class for managing configuration file refresh

cfg_changed()[source]

Returns hash of changed cfg else False.

get_cfg_hash()[source]

Return hash of configuration file

get_cfg_mtime()[source]

Return modification time of cfg file

load_config(cfg_file)[source]

Load a configuration file and set its refresh values.

class ceilometer.pipeline.EventPipeline(conf, source, sink)[source]

Bases: ceilometer.pipeline.Pipeline

Represents a pipeline for Events.

publish_data(events)[source]
support_event(event_type)[source]
class ceilometer.pipeline.EventPipelineEndpoint(pipeline)[source]

Bases: ceilometer.pipeline.PipelineEndpoint

sample(messages)[source]
class ceilometer.pipeline.EventPipelineTransportManager(conf)[source]

Bases: ceilometer.pipeline._PipelineTransportManager

serializer(data)[source]
class ceilometer.pipeline.EventSink(conf, cfg, transformer_manager, publisher_manager)[source]

Bases: ceilometer.pipeline.Sink

static flush()[source]

Flush data after all events have been injected to pipeline.

publish_events(events)[source]
class ceilometer.pipeline.EventSource(cfg)[source]

Bases: ceilometer.pipeline.PipelineSource

Represents a source of events.

In effect it is a set of notification handlers capturing events for a set of matching notifications.

support_event(event_name)[source]
class ceilometer.pipeline.Pipeline(conf, source, sink)[source]

Bases: object

Represents a coupling between a sink and a corresponding source.

flush()[source]
publish_data(data)[source]

Publish data from pipeline.

class ceilometer.pipeline.PipelineEndpoint(pipeline)[source]

Bases: object

sample(messages)[source]
exception ceilometer.pipeline.PipelineException(message, cfg)[source]

Bases: ceilometer.pipeline.ConfigException

class ceilometer.pipeline.PipelineManager(conf, cfg_file, transformer_manager, p_type={'source': <class 'ceilometer.pipeline.SampleSource'>, 'pipeline': <class 'ceilometer.pipeline.SamplePipeline'>, 'name': 'sample', 'sink': <class 'ceilometer.pipeline.SampleSink'>})[source]

Bases: ceilometer.pipeline.ConfigManagerBase

Pipeline Manager

Pipeline manager sets up pipelines according to config file

publisher()[source]

Build a new Publisher for these manager pipelines.

Parameters:context – The context.
class ceilometer.pipeline.PipelineSource(cfg)[source]

Bases: ceilometer.pipeline.Source

Represents a source of samples or events.

check_sinks(sinks)[source]
exception ceilometer.pipeline.PollingException(message, cfg)[source]

Bases: ceilometer.pipeline.ConfigException

class ceilometer.pipeline.PollingManager(conf, cfg_file)[source]

Bases: ceilometer.pipeline.ConfigManagerBase

Polling Manager

Polling manager sets up polling according to config file.

class ceilometer.pipeline.PollingSource(cfg)[source]

Bases: ceilometer.pipeline.Source

Represents a source of pollsters

In effect it is a set of pollsters emitting samples for a set of matching meters. Each source encapsulates meter name matching, polling interval determination, optional resource enumeration or discovery.

get_interval()[source]
support_meter(meter_name)[source]
class ceilometer.pipeline.PublishContext(pipelines=None)[source]

Bases: object

add_pipelines(pipelines)[source]
class ceilometer.pipeline.PublisherManager(conf, purpose)[source]

Bases: object

get(url)[source]
class ceilometer.pipeline.SamplePipeline(conf, source, sink)[source]

Bases: ceilometer.pipeline.Pipeline

Represents a pipeline for Samples.

publish_data(samples)[source]
support_meter(meter_name)[source]
class ceilometer.pipeline.SamplePipelineEndpoint(pipeline)[source]

Bases: ceilometer.pipeline.PipelineEndpoint

sample(messages)[source]
class ceilometer.pipeline.SamplePipelineTransportManager(conf)[source]

Bases: ceilometer.pipeline._PipelineTransportManager

serializer(data)[source]
class ceilometer.pipeline.SampleSink(conf, cfg, transformer_manager, publisher_manager)[source]

Bases: ceilometer.pipeline.Sink

flush()[source]

Flush data after all samples have been injected to pipeline.

publish_samples(samples)[source]
class ceilometer.pipeline.SampleSource(cfg)[source]

Bases: ceilometer.pipeline.PipelineSource

Represents a source of samples.

In effect it is a set of notification handlers processing samples for a set of matching meters. Each source encapsulates meter name matching and mapping to one or more sinks for publication.

support_meter(meter_name)[source]
class ceilometer.pipeline.Sink(conf, cfg, transformer_manager, publisher_manager)[source]

Bases: object

Represents a sink for the transformation and publication of data.

Each sink config is concerned only with the transformation rules and publication conduits for data.

In effect, a sink describes a chain of handlers. The chain starts with zero or more transformers and ends with one or more publishers.

The first transformer in the chain is passed data from the corresponding source, takes some action such as deriving rate of change, performing unit conversion, or aggregating, before passing the modified data to next step.

The subsequent transformers, if any, handle the data similarly.

At the end of the chain, publishers publish the data. The exact publishing method depends on publisher type, for example, pushing into data storage via the message bus providing guaranteed delivery, or for loss-tolerant data UDP may be used.

If no transformers are included in the chain, the publishers are passed data directly from the sink which are published unchanged.

class ceilometer.pipeline.Source(cfg)[source]

Bases: object

Represents a generic source

check_source_filtering(data, d_type)[source]

Source data rules checking

  • At least one meaningful datapoint exist
  • Included type and excluded type can’t co-exist on the same pipeline
  • Included type meter and wildcard can’t co-exist at same pipeline
static is_supported(dataset, data_name)[source]