Ejemplo n.º 1
0
 def test_instrument_with_false_uninstruments_specified_libraries(
         self, module_name):
     instrument(**{module_name: True})
     mod = utils.get_module(module_name)
     assert getattr(mod, instrumented_attr) is True
     instrument(**{module_name: False})
     assert not hasattr(mod, instrumented_attr)
Ejemplo n.º 2
0
    def test_env_var_disables_instrument(self, env_var, are_uninstrumented):
        os.environ['SIGNALFX_TRACING_ENABLED'] = env_var
        modules = [utils.get_module(l) for l in expected_traceable_libraries]
        assert self.all_are_uninstrumented(modules)

        for m in expected_traceable_libraries:
            instrument(**{m: True})

        assert self.all_are_uninstrumented(modules) is are_uninstrumented
Ejemplo n.º 3
0
 def test_instrument_with_true_and_env_var_false_doesnt_instrument_specified_libraries(
         self, module_name):
     env_var = 'SIGNALFX_{0}_ENABLED'.format(module_name.upper())
     os.environ[env_var] = 'False'
     try:
         instrument(**{module_name: True})
         mod = utils.get_module(module_name)
         assert not hasattr(mod, instrumented_attr)
     finally:
         os.environ.pop(env_var)
 def test_uninstrument_django_removes_configured_settings(self):
     instrument(django=True)
     uninstrument('django')
     assert not hasattr(settings, 'OPENTRACING_TRACED_ATTRIBUTES')
     assert not hasattr(settings, 'OPENTRACING_TRACER_CALLABLE')
     assert not hasattr(settings, 'OPENTRACING_TRACER_PARAMETERS')
     assert not hasattr(settings, 'OPENTRACING_TRACE_ALL')
     assert not hasattr(settings, 'OPENTRACING_SET_GLOBAL_TRACER')
     assert not hasattr(settings, 'OPENTRACING_TRACING')
     _, setting = get_middleware_and_setting_name()
     assert config.middleware_class not in getattr(settings, setting)
    def test_instrument_django_set_global_tracer_with_provided_callable(self):
        config.set_global_tracer = True
        config.tracer_callable = 'opentracing.mocktracer.MockTracer'
        instrument(django=True)

        assert settings.OPENTRACING_SET_GLOBAL_TRACER is True
        assert settings.OPENTRACING_TRACER_CALLABLE == 'opentracing.mocktracer.MockTracer'
        assert settings.OPENTRACING_TRACER_PARAMETERS == {}
        assert not hasattr(settings, 'OPENTRACING_TRACING')

        assert settings.OPENTRACING_TRACE_ALL == config.trace_all
        assert settings.OPENTRACING_TRACED_ATTRIBUTES == config.traced_attributes
        _, setting = get_middleware_and_setting_name()
        assert config.middleware_class in getattr(settings, setting)
Ejemplo n.º 6
0
    def test_env_var_disables_instrument(self, env_var, are_uninstrumented):
        os.environ[tracing_enabled_env_var] = env_var
        try:
            modules = [
                utils.get_module(l) for l in expected_traceable_libraries
            ]
            assert self.all_are_uninstrumented(modules)

            for m in expected_traceable_libraries:
                instrument(**{m: True})

            assert self.all_are_uninstrumented(modules) is are_uninstrumented
        finally:
            os.environ.pop(tracing_enabled_env_var)
    def test_instrument_django_unset_global_tracer_configures_desired_settings(self):
        tracer = MockTracer()
        config.set_global_tracer = False
        instrument(tracer, django=True)

        assert settings.OPENTRACING_SET_GLOBAL_TRACER is False
        assert isinstance(settings.OPENTRACING_TRACING._tracer, opentracing.Tracer)
        assert not hasattr(settings, 'OPENTRACING_TRACER_CALLABLE')
        assert not hasattr(settings, 'OPENTRACING_TRACER_PARAMETERS')

        assert settings.OPENTRACING_TRACE_ALL == config.trace_all
        assert settings.OPENTRACING_TRACED_ATTRIBUTES == config.traced_attributes
        _, setting = get_middleware_and_setting_name()
        assert config.middleware_class in getattr(settings, setting)
    def test_instrument_django_set_global_tracer_with_provided_tracer_arg(self):
        tracer = MockTracer()
        config.set_global_tracer = True
        instrument(tracer, django=True)

        assert settings.OPENTRACING_SET_GLOBAL_TRACER is True
        assert not hasattr(settings, 'OPENTRACING_TRACER_CALLABLE')
        assert not hasattr(settings, 'OPENTRACING_TRACER_PARAMETERS')
        assert settings.OPENTRACING_TRACING.tracer is tracer

        assert settings.OPENTRACING_TRACE_ALL == config.trace_all
        assert settings.OPENTRACING_TRACED_ATTRIBUTES == config.traced_attributes
        _, setting = get_middleware_and_setting_name()
        assert config.middleware_class in getattr(settings, setting)
    def test_django_config_determines_instrumented_setting_values_without_global_tracer(self):
        config.set_global_tracer = False
        desired_attributes = ['some', 'attributes']
        config.traced_attributes = desired_attributes
        desired_trace_all = 123
        config.trace_all = desired_trace_all
        desired_middleware_class = 'some.middleware'
        config.middleware_class = desired_middleware_class

        tracer = 'SomeTracer'
        instrument(tracer, django=True)
        assert settings.OPENTRACING_TRACING._tracer is tracer
        assert settings.OPENTRACING_TRACED_ATTRIBUTES == desired_attributes
        assert settings.OPENTRACING_TRACE_ALL == desired_trace_all
        _, setting = get_middleware_and_setting_name()
        assert desired_middleware_class in getattr(settings, setting)

        uninstrument('django')
        assert not hasattr(settings, 'OPENTRACING_TRACED_ATTRIBUTES')
        assert not hasattr(settings, 'OPENTRACING_TRACER_CALLABLE')
        assert not hasattr(settings, 'OPENTRACING_TRACE_ALL')
        assert desired_middleware_class not in getattr(settings, setting)
Ejemplo n.º 10
0
 def test_instrument_with_true_instruments_specified_libraries(self):
     tornado = utils.get_module('tornado')
     assert not hasattr(tornado, instrumented_attr)
     instrument(tornado=True)
     assert getattr(tornado, instrumented_attr) is True