1 package org.wikimedia.search.extra.latency; 2 3 import static java.util.Collections.singletonList; 4 5 import java.util.List; 6 7 import org.elasticsearch.client.node.NodeClient; 8 import org.elasticsearch.rest.BaseRestHandler; 9 import org.elasticsearch.rest.RestRequest; 10 import org.elasticsearch.rest.action.RestActions; 11 12 public class RestGetLatencyStats extends BaseRestHandler { 13 14 @Override 15 public List<Route> routes() { 16 return singletonList( 17 new Route(RestRequest.Method.GET, "/_nodes/latencyStats") 18 ); 19 } 20 21 @Override 22 public String getName() { 23 return "latency_stats"; 24 } 25 26 @Override 27 protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) { 28 return channel -> client.execute( 29 LatencyStatsAction.INSTANCE, 30 new LatencyStatsAction.LatencyStatsNodesRequest(), 31 new RestActions.NodesResponseRestListener<>(channel)); 32 } 33 }