public void startServer ( ) throws InterruptedException { RouteMatcher router = new RouteMatcher ( ) ; router . get ( "/v1.0" , new DefaultHandler ( ) ) ; router . post ( "/v1.0/multitenant/experimental/metrics" , new HttpMultitenantMetricsIngestionHandler ( processor , timeout , ENABLE_PER_TENANT_METRICS ) ) ; router . post ( "/v1.0/:tenantId/experimental/metrics" , new HttpMetricsIngestionHandler ( processor , timeout , ENABLE_PER_TENANT_METRICS ) ) ; router . post ( "/v1.0/:tenantId/experimental/metrics/statsd" , new HttpAggregatedIngestionHandler ( processor , timeout , ENABLE_PER_TENANT_METRICS ) ) ; router . get ( "/v2.0" , new DefaultHandler ( ) ) ; router . post ( "/v2.0/:tenantId/ingest/multi" , new HttpMultitenantMetricsIngestionHandler ( processor , timeout , ENABLE_PER_TENANT_METRICS ) ) ; router . post ( "/v2.0/:tenantId/ingest" , new HttpMetricsIngestionHandler ( processor , timeout , ENABLE_PER_TENANT_METRICS ) ) ; router . post ( "/v2.0/:tenantId/ingest/aggregated" , new HttpAggregatedIngestionHandler ( processor , timeout , ENABLE_PER_TENANT_METRICS ) ) ; router . post ( "/v2.0/:tenantId/ingest/aggregated/multi" , new HttpAggregatedMultiIngestionHandler ( processor , timeout , ENABLE_PER_TENANT_METRICS ) ) ; router . post ( "/v2.0/:tenantId/events" , getHttpEventsIngestionHandler ( ) ) ; final RouteMatcher finalRouter = router ; log . info ( "Starting metrics listener HTTP server on port {}" , httpIngestPort ) ; ServerBootstrap server = new ServerBootstrap ( ) ; server . group ( acceptorGroup , workerGroup ) . channel ( NioServerSocketChannel . class ) . childHandler ( new ChannelInitializer < SocketChannel > ( ) { @ Override public void initChannel ( SocketChannel channel ) throws Exception { setupPipeline ( channel , finalRouter ) ; } } ) ; Channel channel = server . bind ( new InetSocketAddress ( httpIngestHost , httpIngestPort ) ) . sync ( ) . channel ( ) ; allOpenChannels . add ( channel ) ; //register the tracker MBean for JMX/jolokia log . info ( "Registering tracker service" ) ; Tracker . getInstance ( ) . register ( ) ; log . info ( "Token search improvements enabled: " + EXP_TOKEN_SEARCH_IMPROVEMENTS ) ; }
Starts the Ingest server