def test_timing_logger(mock_logging, mock_time): logger = Mock() log_time = make_timing_logger(logger) with log_time("msg %s", "foo"): pass assert logger.log.call_args_list == [ call(logging.DEBUG, "msg %s in %0.3fs", "foo", 0.123456789,) ]
def test_timing_logger_precision(mock_logging): logger = Mock() log_time = make_timing_logger(logger, precision=5) with log_time("msg %s", "foo"): pass assert logger.log.call_args_list == [ call(logging.DEBUG, "msg %s in %0.5fs", "foo", ANY) ]
def test_timing_logger_level(mock_logging): logger = Mock() log_time = make_timing_logger(logger, level=logging.INFO) with log_time("msg %s", "foo"): pass assert logger.log.call_args_list == [ call(logging.INFO, "msg %s in %0.3fs", "foo", ANY) ]
import six from eventlet.event import Event from eventlet.greenpool import GreenPool from greenlet import GreenletExit # pylint: disable=E0611 from nameko.constants import (CALL_ID_STACK_CONTEXT_KEY, DEFAULT_MAX_WORKERS, DEFAULT_PARENT_CALLS_TRACKED, DEFAULT_SERIALIZER, MAX_WORKERS_CONFIG_KEY, PARENT_CALLS_CONFIG_KEY, SERIALIZER_CONFIG_KEY) from nameko.exceptions import ConfigurationError, ContainerBeingKilled from nameko.extensions import (ENTRYPOINT_EXTENSIONS_ATTR, is_dependency, iter_extensions) from nameko.log_helpers import make_timing_logger from nameko.utils import SpawningSet, import_from_path _log = getLogger(__name__) _log_time = make_timing_logger(_log) if six.PY2: # pragma: no cover is_method = inspect.ismethod else: # pragma: no cover is_method = inspect.isfunction def get_service_name(service_cls): service_name = getattr(service_cls, 'name', None) if service_name is None: raise ConfigurationError( 'Service class must define a `name` attribute ({}.{})'.format( service_cls.__module__, service_cls.__name__)) if not isinstance(service_name, six.string_types): raise ConfigurationError(
import greenlet from nameko.constants import ( PARENT_CALLS_CONFIG_KEY, DEFAULT_PARENT_CALLS_TRACKED, MAX_WORKERS_CONFIG_KEY, DEFAULT_MAX_WORKERS, CALL_ID_STACK_CONTEXT_KEY, NAMEKO_CONTEXT_KEYS) from nameko.dependencies import ( prepare_dependencies, DependencySet, is_entrypoint_provider, is_injection_provider) from nameko.exceptions import ContainerBeingKilled from nameko.log_helpers import make_timing_logger _log = getLogger(__name__) _log_time = make_timing_logger(_log) def get_service_name(service_cls): return getattr(service_cls, "name", service_cls.__name__.lower()) def new_call_id(): return str(uuid.uuid4()) class WorkerContextBase(object): """ Abstract base class for a WorkerContext """ __metaclass__ = ABCMeta