The ceilometer.pipeline Module

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

Bases: ceilometer.pipeline.Pipeline

Represents a pipeline for Events.

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

Bases: ceilometer.pipeline.PipelineEndpoint

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

Bases: ceilometer.pipeline._PipelineTransportManager

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

Bases: ceilometer.pipeline.Sink

flush(ctxt)[source]

Flush data after all events have been injected to pipeline.

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

Bases: ceilometer.pipeline.Source

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(source, sink)[source]

Bases: object

Represents a coupling between a sink and a corresponding source.

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

Publish data from pipeline.

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

Bases: object

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

Bases: exceptions.Exception

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

Bases: object

Pipeline Manager

Pipeline manager sets up pipelines according to config file

Usually only one pipeline manager exists in the system.

publisher(context)[source]

Build a new Publisher for these manager pipelines.

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

Bases: object

Polling Manager

Polling manager sets up polling according to config file.

class ceilometer.pipeline.PublishContext(context, pipelines=None)[source]

Bases: object

add_pipelines(pipelines)[source]
class ceilometer.pipeline.SamplePipeline(source, sink)[source]

Bases: ceilometer.pipeline.Pipeline

Represents a pipeline for Samples.

get_interval()[source]
publish_data(ctxt, samples)[source]
support_meter(meter_name)[source]
class ceilometer.pipeline.SamplePipelineEndpoint(context, pipeline)[source]

Bases: ceilometer.pipeline.PipelineEndpoint

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

Bases: ceilometer.pipeline._PipelineTransportManager

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

Bases: ceilometer.pipeline.Sink

flush(ctxt)[source]

Flush data after all samples have been injected to pipeline.

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

Bases: ceilometer.pipeline.Source

Represents a source of samples.

In effect it is a set of pollsters and/or notification handlers emitting samples for a set of matching meters. Each source encapsulates meter name matching, polling interval determination, optional resource enumeration or discovery, and mapping to one or more sinks for publication.

get_interval()[source]
support_meter(meter_name)[source]
class ceilometer.pipeline.Sink(cfg, transformer_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 source of samples or events.

check_sinks(sinks)[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]

Previous topic

The ceilometer.opts Module

Next topic

The ceilometer.publisher.direct Module

Project Source

This Page