Example #1
0
    def test_convert_to_import_error(self):
        from opencensus.trace.ext.django import config

        module_name = 'test_module'
        class_name = 'test_class'
        path = '{}.{}'.format(module_name, class_name)

        with self.assertRaises(ImportError):
            config.convert_to_import(path)
    def __init__(self, get_response=None):
        # One-time configuration and initialization.
        self.get_response = get_response
        self._sampler = settings.SAMPLER
        self._exporter = settings.EXPORTER
        self._propagator = settings.PROPAGATOR

        self._blacklist_paths = settings.params.get(BLACKLIST_PATHS)

        # Initialize the sampler
        if self._sampler.__name__ == 'ProbabilitySampler':
            _rate = settings.params.get(SAMPLING_RATE,
                                        probability.DEFAULT_SAMPLING_RATE)
            self.sampler = self._sampler(_rate)
        else:
            self.sampler = self._sampler()

        # Initialize the exporter
        transport = convert_to_import(settings.params.get(TRANSPORT))

        if self._exporter.__name__ == 'GoogleCloudExporter':
            _project_id = settings.params.get(GCP_EXPORTER_PROJECT, None)
            self.exporter = self._exporter(project_id=_project_id,
                                           transport=transport)
        elif self._exporter.__name__ == 'ZipkinExporter':
            _service_name = self._get_service_name(settings.params)
            _zipkin_host_name = settings.params.get(ZIPKIN_EXPORTER_HOST_NAME,
                                                    'localhost')
            _zipkin_port = settings.params.get(ZIPKIN_EXPORTER_PORT, 9411)
            _zipkin_protocol = settings.params.get(ZIPKIN_EXPORTER_PROTOCOL,
                                                   'http')
            self.exporter = self._exporter(service_name=_service_name,
                                           host_name=_zipkin_host_name,
                                           port=_zipkin_port,
                                           protocol=_zipkin_protocol,
                                           transport=transport)
        elif self._exporter.__name__ == 'TraceExporter':
            _service_name = self._get_service_name(settings.params)
            _endpoint = settings.params.get(OCAGENT_TRACE_EXPORTER_ENDPOINT,
                                            None)
            self.exporter = self._exporter(service_name=_service_name,
                                           endpoint=_endpoint,
                                           transport=transport)
        elif self._exporter.__name__ == 'JaegerExporter':
            _service_name = self._get_service_name(settings.params)
            self.exporter = self._exporter(service_name=_service_name,
                                           transport=transport)
        else:
            self.exporter = self._exporter(transport=transport)

        self.blacklist_hostnames = settings.params.get(BLACKLIST_HOSTNAMES,
                                                       None)

        # Initialize the propagator
        self.propagator = self._propagator()
    def __init__(self, get_response=None):
        # One-time configuration and initialization.
        self.get_response = get_response
        self._sampler = settings.SAMPLER
        self._exporter = settings.EXPORTER
        self._propagator = settings.PROPAGATOR

        self._blacklist_paths = settings.params.get(BLACKLIST_PATHS)

        # Initialize the sampler
        if self._sampler.__name__ == 'ProbabilitySampler':
            _rate = settings.params.get(
                SAMPLING_RATE, probability.DEFAULT_SAMPLING_RATE)
            self.sampler = self._sampler(_rate)
        else:
            self.sampler = self._sampler()

        # Initialize the exporter
        transport = convert_to_import(settings.params.get(TRANSPORT))

        if self._exporter.__name__ == 'GoogleCloudExporter':
            _project_id = settings.params.get(GCP_EXPORTER_PROJECT, None)
            self.exporter = self._exporter(
                project_id=_project_id,
                transport=transport)
        elif self._exporter.__name__ == 'ZipkinExporter':
            _zipkin_service_name = settings.params.get(
                ZIPKIN_EXPORTER_SERVICE_NAME, 'my_service')
            _zipkin_host_name = settings.params.get(
                ZIPKIN_EXPORTER_HOST_NAME, 'localhost')
            _zipkin_port = settings.params.get(
                ZIPKIN_EXPORTER_PORT, 9411)
            self.exporter = self._exporter(
                service_name=_zipkin_service_name,
                host_name=_zipkin_host_name,
                port=_zipkin_port,
                transport=transport)
        else:
            self.exporter = self._exporter(transport=transport)

        # Initialize the propagator
        self.propagator = self._propagator()
Example #4
0
    def test_convert_to_import(self):
        from opencensus.trace.ext.django import config

        module_name = 'module'
        class_name = 'class'
        path = '{}.{}'.format(module_name, class_name)
        mock_importlib = mock.Mock()
        mock_import_module = mock.Mock()
        mock_module = mock.Mock()
        mock_class = mock.Mock()
        setattr(mock_module, class_name, mock_class)
        mock_import_module.return_value = mock_module
        mock_importlib.import_module = mock_import_module

        patch = mock.patch('opencensus.trace.ext.django.config.importlib',
                           mock_importlib)

        with patch:
            result = config.convert_to_import(path)

        self.assertEqual(result, mock_class)