Skip to content

Commit

Permalink
Added publisher demo
Browse files Browse the repository at this point in the history
  • Loading branch information
lianhao committed Jan 19, 2016
1 parent 8c114dc commit d4fb1d7
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 4 deletions.
Empty file.
38 changes: 38 additions & 0 deletions ceilometerdemo/publisher/publisher.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import logging

from ceilometer import publisher
from oslo_log import log
from oslo_utils import timeutils

LOG = log.getLogger(__name__)

class DemoFilePublisher(publisher.PublisherBase):
def __init__(self, parsed_url):
super(DemoFilePublisher, self).__init__(parsed_url)
self.logger = None
if not parsed_url.path:
LOG.error("The path for the publisher must be provided")
return

rh = logging.FileHandler(parsed_url.path,
mode='a',
encoding='utf8')
rh.setLevel(logging.INFO)
self.logger = logging.Logger('publisher.demofile')
self.logger.setLevel(logging.INFO)
self.logger.propagate = False
self.logger.addHandler(rh)
self.logger.info("Starting recording at %s" %
timeutils.utcnow().isoformat())
self.logger.info('-' * 80)

def publish_samples(self, context, samples):
if self.logger:
for s in samples:
self.logger.info(s.as_dict())

def publish_events(self, context, evetns):
if self.logger:
for e in events:
self.logger.info("%r" % e)

8 changes: 4 additions & 4 deletions etc/demo_pipeline.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sources:
- name: demo
interval: 60
interval: 30
resources:
- demo://static_res1
- demo://static_res2
Expand All @@ -10,9 +10,9 @@ sources:
meters:
- "demo.pollstermeter"
sinks:
- file_sink
- demo_sink
sinks:
- name: file_sink
- name: demo_sink
transformers:
publishers:
- file:///tmp/demo.pollstermeter
- demo.publisher:///tmp/demo.pollstermeter
3 changes: 3 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ ceilometer.poll.central =
ceilometer.discover =
demo.discoverer = ceilometerdemo.pollster.first:MyFirstDiscoverer

ceilometer.publisher =
demo.publisher = ceilometerdemo.publisher.publisher:DemoFilePublisher

[build_sphinx]
source-dir = doc/source
build-dir = doc/build
Expand Down

0 comments on commit d4fb1d7

Please sign in to comment.