Source:
<code>public void startServer() { int acceptThreads = Configuration.getInstance().getIntegerProperty(HttpConfig.MAX_READ_ACCEPT_THREADS); int workerThreads = Configuration.getInstance().getIntegerProperty(HttpConfig.MAX_READ_WORKER_THREADS); RouteMatcher router = new RouteMatcher(); router.get("/v1.0", new DefaultHandler()); router.get("/v1.0/:tenantId/experimental/views/metric_data/:metricName", new HttpRollupsQueryHandler()); router.post("/v1.0/:tenantId/experimental/views/metric_data", new HttpMultiRollupsQueryHandler()); router.get("/v2.0", new DefaultHandler()); router.get("/v2.0/:tenantId/views/:metricName", new HttpRollupsQueryHandler()); router.post("/v2.0/:tenantId/views", new HttpMultiRollupsQueryHandler()); router.get("/v2.0/:tenantId/metrics/search", new HttpMetricsIndexHandler()); router.get("/v2.0/:tenantId/metric_name/search", new HttpMetricTokensHandler()); router.get("/v2.0/:tenantId/events/getEvents", new HttpEventsQueryHandler(getEventsIO())); router.options("/v2.0/:tenantId/events/getEvents", new HttpEventsQueryHandler(getEventsIO())); <START> router.get("/v2.0/:tenantId/shard/:shard", new HttpShardedMetricsHandler()); <END> log.info("Starting metric data query server (HTTP) on port {}", this.httpQueryPort); ServerBootstrap server = new ServerBootstrap( new NioServerSocketChannelFactory( Executors.newFixedThreadPool(acceptThreads), Executors.newFixedThreadPool(workerThreads))); server.setPipelineFactory(new MetricsHttpServerPipelineFactory(router)); serverChannel = (ServerChannel) server.bind(new InetSocketAddress(httpQueryHost, httpQueryPort)); log.info("Registering tracker service"); Tracker.getInstance().register(); }</code><technical_language>url doesnt give a sense request is get "metrics". this? /v2.0/:tenantId/metrics/shard/:shard</technical_language>

Target:
public void startServer() { int acceptThreads = Configuration.getInstance().getIntegerProperty(HttpConfig.MAX_READ_ACCEPT_THREADS); int workerThreads = Configuration.getInstance().getIntegerProperty(HttpConfig.MAX_READ_WORKER_THREADS); RouteMatcher router = new RouteMatcher(); router.get("/v1.0", new DefaultHandler()); router.get("/v1.0/:tenantId/experimental/views/metric_data/:metricName", new HttpRollupsQueryHandler()); router.post("/v1.0/:tenantId/experimental/views/metric_data", new HttpMultiRollupsQueryHandler()); router.get("/v2.0", new DefaultHandler()); router.get("/v2.0/:tenantId/views/:metricName", new HttpRollupsQueryHandler()); router.post("/v2.0/:tenantId/views", new HttpMultiRollupsQueryHandler()); router.get("/v2.0/:tenantId/metrics/search", new HttpMetricsIndexHandler()); router.get("/v2.0/:tenantId/metric_name/search", new HttpMetricTokensHandler()); router.get("/v2.0/:tenantId/events/getEvents", new HttpEventsQueryHandler(getEventsIO())); router.options("/v2.0/:tenantId/events/getEvents", new HttpEventsQueryHandler(getEventsIO())); router.get("/v2.0/:tenantId/metrics/shard/:shard", new HttpShardedMetricsHandler()); log.info("Starting metric data query server (HTTP) on port {}", this.httpQueryPort); ServerBootstrap server = new ServerBootstrap( new NioServerSocketChannelFactory( Executors.newFixedThreadPool(acceptThreads), Executors.newFixedThreadPool(workerThreads))); server.setPipelineFactory(new MetricsHttpServerPipelineFactory(router)); serverChannel = (ServerChannel) server.bind(new InetSocketAddress(httpQueryHost, httpQueryPort)); log.info("Registering tracker service"); Tracker.getInstance().register(); }