def test(self): addr = "localhost:6806" with mock.patch.object(grpc, "secure_channel", autospec=True): ingester = server_ingester.ExistingServerDataIngester(addr) ingester.start() self.assertIsInstance(ingester.data_provider, grpc_provider.GrpcDataProvider)
def _make_data_ingester(self): """Determines the right data ingester, starts it, and returns it.""" flags = self.flags if flags.grpc_data_provider: ingester = server_ingester.ExistingServerDataIngester( flags.grpc_data_provider, channel_creds_type=flags.grpc_creds_type, ) ingester.start() return ingester if flags.load_fast == "true": try: return self._start_subprocess_data_ingester() except server_ingester.NoDataServerError as e: msg = "Option --load_fast=true not available: %s\n" % e sys.stderr.write(msg) sys.exit(1) except server_ingester.DataServerStartupError as e: msg = _DATA_SERVER_STARTUP_ERROR_MESSAGE_TEMPLATE % e sys.stderr.write(msg) sys.exit(1) if flags.load_fast == "auto" and _should_use_data_server(flags.logdir): try: return self._start_subprocess_data_ingester() except server_ingester.NoDataServerError as e: logger.info("No data server: %s", e) except server_ingester.DataServerStartupError as e: logger.info( "Data server error: %s; falling back to multiplexer", e) ingester = local_ingester.LocalDataIngester(flags) ingester.start() return ingester
def _make_data_provider(self): """Returns `(data_provider, deprecated_multiplexer)`.""" flags = self.flags if flags.grpc_data_provider: ingester = server_ingester.ExistingServerDataIngester( flags.grpc_data_provider, channel_creds_type=flags.grpc_creds_type, ) elif flags.load_fast: ingester = server_ingester.SubprocessServerDataIngester( logdir=flags.logdir, reload_interval=flags.reload_interval, channel_creds_type=flags.grpc_creds_type, samples_per_plugin=flags.samples_per_plugin, ) else: ingester = local_ingester.LocalDataIngester(flags) # Stash ingester so that it can avoid GCing Windows file handles. # (See comment in `SubprocessServerDataIngester.start` for details.) self._ingester = ingester ingester.start() deprecated_multiplexer = None if isinstance(ingester, local_ingester.LocalDataIngester): deprecated_multiplexer = ingester.deprecated_multiplexer return (ingester.data_provider, deprecated_multiplexer)
def _make_data_ingester(self): flags = self.flags if flags.grpc_data_provider: return server_ingester.ExistingServerDataIngester( flags.grpc_data_provider, channel_creds_type=flags.grpc_creds_type, ) if _should_use_data_server(flags.load_fast, flags.logdir): try: server_binary = server_ingester.get_server_binary() except server_ingester.NoDataServerError as e: if flags.load_fast == "true": msg = "Option --load_fast=true not available: %s\n" % e sys.stderr.write(msg) sys.exit(1) logger.info("No data server: %s", e) else: if flags.load_fast == "auto": sys.stderr.write(_DATA_SERVER_MESSAGE) sys.stderr.flush() return server_ingester.SubprocessServerDataIngester( server_binary=server_binary, logdir=flags.logdir, reload_interval=flags.reload_interval, channel_creds_type=flags.grpc_creds_type, samples_per_plugin=flags.samples_per_plugin, ) return local_ingester.LocalDataIngester(flags)