def get_metrics_list(): metrics_conf = ck_utils.get_metrics_conf(CONF.collect.metrics_conf) try: metrics = list(metrics_conf['metrics'].keys()) cloudkitty_metrics = wtypes.Enum(wtypes.text, *metrics) except KeyError: metrics = list(DEFAULT_METRICS_CONF['metrics'].keys()) cloudkitty_metrics = wtypes.Enum(wtypes.text, *metrics) return cloudkitty_metrics
def get_collector(transformers=None): metrics_conf = ck_utils.get_metrics_conf(CONF.collect.metrics_conf) if not transformers: transformers = transformer.get_transformers() collector_args = { 'period': metrics_conf.get('period', 3600), 'transformers': transformers, } collector_args.update({'conf': metrics_conf}) return driver.DriverManager(COLLECTORS_NAMESPACE, metrics_conf.get('collector', 'gnocchi'), invoke_on_load=True, invoke_kwds=collector_args).driver
def get_metrics_based_collector_metadata(): """Return dict of metadata. Results are based on enabled collector and metrics in CONF. """ metrics_conf = ck_utils.get_metrics_conf(CONF.collect.metrics_conf) transformers = transformer.get_transformers() collector = get_collector_without_invoke() metadata = {} if 'metrics' in metrics_conf: for metric in metrics_conf.get('metrics', {}): metadata[metric] = collector.get_metadata( metric, transformers, metrics_conf, ) return metadata
from cloudkitty import collector from cloudkitty import transformer from cloudkitty import utils as ck_utils LOG = logging.getLogger(__name__) MONASCA_API_VERSION = '2_0' COLLECTOR_MONASCA_OPTS = 'collector_monasca' collector_monasca_opts = ks_loading.get_auth_common_conf_options() cfg.CONF.register_opts(collector_monasca_opts, COLLECTOR_MONASCA_OPTS) ks_loading.register_session_conf_options(cfg.CONF, COLLECTOR_MONASCA_OPTS) ks_loading.register_auth_conf_options(cfg.CONF, COLLECTOR_MONASCA_OPTS) CONF = cfg.CONF METRICS_CONF = ck_utils.get_metrics_conf(CONF.collect.metrics_conf) class EndpointNotFound(Exception): """Exception raised if the Monasca endpoint is not found""" pass class MonascaCollector(collector.BaseCollector): collector_name = 'monasca' dependencies = ['CloudKittyFormatTransformer'] retrieve_mappings = { 'compute': 'cpu', 'image': 'image.size', 'volume': 'volume.size', 'network.floating': 'ip.floating',
def get_collector_without_invoke(): """Return the collector without invoke it.""" metrics_conf = ck_utils.get_metrics_conf(CONF.collect.metrics_conf) return driver.DriverManager(COLLECTORS_NAMESPACE, metrics_conf.get('collector', 'gnocchi'), invoke_on_load=False).driver