class Plugin(object): """Ceilometer plugin with collectd callbacks""" # NOTE: this is multithreaded class def __init__(self, collectd, config): self._config = config self._meters = MeterStorage(collectd=collectd) self._writer = Writer(self._meters, config=config) def config(self, cfg): """Configuration callback @param cfg configuration node provided by collectd """ self._config.read(cfg) def write(self, vl, data=None): """Collectd write callback""" self._writer.write(vl, data) def shutdown(self): """Shutdown callback""" LOGGER.info("SHUTDOWN") self._writer.flush()
def __init__(self, collectd, config): self._config = config self._meters = MeterStorage(collectd=collectd) self._writer = Writer(self._meters, config=config)