use of io.cdap.cdap.metrics.query.MetricsQueryService in project cdap by caskdata.
the class GatewayTestBase method startGateway.
public static Injector startGateway(final CConfiguration conf) throws Exception {
// Set up our Guice injections
injector = Guice.createInjector(Modules.override(new AbstractModule() {
@Override
protected void configure() {
}
@SuppressWarnings("unused")
@Provides
@Named(Constants.Router.ADDRESS)
public final InetAddress providesHostname(CConfiguration cConf) {
return Networks.resolve(cConf.get(Constants.Router.ADDRESS), new InetSocketAddress("localhost", 0).getAddress());
}
}, new CoreSecurityRuntimeModule().getInMemoryModules(), new ExternalAuthenticationModule(), new AppFabricTestModule(conf)).with(new AbstractModule() {
@Override
protected void configure() {
// It's a bit hacky to add it here. Need to refactor these
// bindings out as it overlaps with
// AppFabricServiceModule
bind(LogReader.class).to(MockLogReader.class).in(Scopes.SINGLETON);
bind(PermissionManager.class).to(NoOpAccessController.class);
bind(OwnerAdmin.class).to(DefaultOwnerAdmin.class);
}
}));
messagingService = injector.getInstance(MessagingService.class);
if (messagingService instanceof Service) {
((Service) messagingService).startAndWait();
}
txService = injector.getInstance(TransactionManager.class);
txService.startAndWait();
// Define all StructuredTable before starting any services that need StructuredTable
StoreDefinition.createAllTables(injector.getInstance(StructuredTableAdmin.class));
metadataStorage = injector.getInstance(MetadataStorage.class);
metadataStorage.createIndex();
metadataService = injector.getInstance(MetadataService.class);
metadataService.startAndWait();
dsOpService = injector.getInstance(DatasetOpExecutorService.class);
dsOpService.startAndWait();
datasetService = injector.getInstance(DatasetService.class);
datasetService.startAndWait();
appFabricServer = injector.getInstance(AppFabricServer.class);
appFabricServer.startAndWait();
logQueryService = injector.getInstance(LogQueryService.class);
logQueryService.startAndWait();
metricsQueryService = injector.getInstance(MetricsQueryService.class);
metricsQueryService.startAndWait();
metricsCollectionService = injector.getInstance(MetricsCollectionService.class);
metricsCollectionService.startAndWait();
namespaceAdmin = injector.getInstance(NamespaceAdmin.class);
namespaceAdmin.create(TEST_NAMESPACE_META1);
namespaceAdmin.create(TEST_NAMESPACE_META2);
// Restart handlers to check if they are resilient across restarts.
router = injector.getInstance(NettyRouter.class);
router.startAndWait();
port = router.getBoundAddress().orElseThrow(IllegalStateException::new).getPort();
return injector;
}
use of io.cdap.cdap.metrics.query.MetricsQueryService in project cdap by caskdata.
the class MetricsAdminSubscriberServiceTest method init.
@BeforeClass
public static void init() throws IOException {
CConfiguration cConf = CConfiguration.create();
cConf.set(Constants.CFG_LOCAL_DATA_DIR, TEMP_FOLDER.newFolder().getAbsolutePath());
// Shorten delay to speed up test
cConf.setLong(Constants.Metrics.ADMIN_POLL_DELAY_MILLIS, 100L);
injector = Guice.createInjector(new ConfigModule(cConf), new IOModule(), new InMemoryDiscoveryModule(), new MessagingServerRuntimeModule().getStandaloneModules(), new SystemDatasetRuntimeModule().getStandaloneModules(), // distributed mode. It requires bindings that are too cumbersome to construct them one by one.
new PrivateModule() {
@Override
protected void configure() {
install(new MetricsHandlerModule());
expose(MetricsQueryService.class);
install(new MetricsStoreModule());
bind(MetricsCollectionService.class).to(LocalMetricsCollectionService.class).in(Scopes.SINGLETON);
expose(MetricsCollectionService.class);
// Bind the RemoteMetricsSystemClient for testing.
bind(MetricsSystemClient.class).to(DirectMetricsSystemClient.class);
expose(MetricsSystemClient.class);
// Bind the admin subscriber
bind(MetricsAdminSubscriberService.class).in(Scopes.SINGLETON);
expose(MetricsAdminSubscriberService.class);
}
});
messagingService = injector.getInstance(MessagingService.class);
metricsCollectionService = injector.getInstance(MetricsCollectionService.class);
metricsQueryService = injector.getInstance(MetricsQueryService.class);
if (messagingService instanceof Service) {
((Service) messagingService).startAndWait();
}
metricsCollectionService.startAndWait();
metricsQueryService.startAndWait();
}
Aggregations