Source code for caspia.toolbox.monitor.stores

import logging
import os

from pkg_resources import iter_entry_points

logger = logging.getLogger(__name__)


[docs]def store_autocreate(loop=None): store_type = os.environ.get('METRICS_STORE') or os.environ.get('METRIC_STORE') \ or os.environ.get('CSP_METRICS_STORE') if store_type: return create_store(store_type, loop=loop) else: logger.warning('No metric-store configured.') from .noop import NoopStore return NoopStore()
[docs]def create_store(store_type, loop=None): for ep in iter_entry_points(group='caspia.metric_store', name=store_type): store_creator = ep.resolve() return store_creator(loop=loop) raise RuntimeError('Unknown store type %r' % store_type)