|
@@ -32,6 +32,7 @@ import org.elasticsearch.rest.*;
|
|
|
import org.elasticsearch.rest.action.support.RestXContentBuilder;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
import static org.elasticsearch.rest.RestRequest.Method.GET;
|
|
|
import static org.elasticsearch.rest.RestStatus.OK;
|
|
@@ -45,60 +46,10 @@ public class RestIndicesStatsAction extends BaseRestHandler {
|
|
|
public RestIndicesStatsAction(Settings settings, Client client, RestController controller) {
|
|
|
super(settings, client);
|
|
|
controller.registerHandler(GET, "/_stats", this);
|
|
|
+ controller.registerHandler(GET, "/_stats/{metric}", this);
|
|
|
+ controller.registerHandler(GET, "/_stats/{metric}/{indexMetric}", this);
|
|
|
controller.registerHandler(GET, "/{index}/_stats", this);
|
|
|
-
|
|
|
- controller.registerHandler(GET, "_stats/docs", new RestDocsStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/docs", new RestDocsStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/store", new RestStoreStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/store", new RestStoreStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/indexing", new RestIndexingStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/indexing", new RestIndexingStatsHandler());
|
|
|
- controller.registerHandler(GET, "/_stats/indexing/{indexingTypes1}", new RestIndexingStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/indexing/{indexingTypes2}", new RestIndexingStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/search", new RestSearchStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/search", new RestSearchStatsHandler());
|
|
|
- controller.registerHandler(GET, "/_stats/search/{searchGroupsStats1}", new RestSearchStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/search/{searchGroupsStats2}", new RestSearchStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/get", new RestGetStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/get", new RestGetStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/refresh", new RestRefreshStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/refresh", new RestRefreshStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/merge", new RestMergeStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/merge", new RestMergeStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/flush", new RestFlushStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/flush", new RestFlushStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/warmer", new RestWarmerStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/warmer", new RestWarmerStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/filter_cache", new RestFilterCacheStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/filter_cache", new RestFilterCacheStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/id_cache", new RestIdCacheStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/id_cache", new RestIdCacheStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/fielddata", new RestFieldDataStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/fielddata", new RestFieldDataStatsHandler());
|
|
|
- controller.registerHandler(GET, "/_stats/fielddata/{fields}", new RestFieldDataStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/fielddata/{fields}", new RestFieldDataStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/completion", new RestCompletionStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/completion", new RestCompletionStatsHandler());
|
|
|
- controller.registerHandler(GET, "/_stats/completion/{fields}", new RestCompletionStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/completion/{fields}", new RestCompletionStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/percolate", new RestPercolateStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/percolate", new RestPercolateStatsHandler());
|
|
|
-
|
|
|
- controller.registerHandler(GET, "/_stats/segments", new RestSegmentsStatsHandler());
|
|
|
- controller.registerHandler(GET, "/{index}/_stats/segments", new RestSegmentsStatsHandler());
|
|
|
+ controller.registerHandler(GET, "/{index}/_stats/{metric}", this);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -106,39 +57,47 @@ public class RestIndicesStatsAction extends BaseRestHandler {
|
|
|
IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
indicesStatsRequest.listenerThreaded(false);
|
|
|
indicesStatsRequest.indicesOptions(IndicesOptions.fromRequest(request, indicesStatsRequest.indicesOptions()));
|
|
|
- boolean clear = request.paramAsBoolean("clear", false);
|
|
|
- if (clear) {
|
|
|
- indicesStatsRequest.clear();
|
|
|
- }
|
|
|
- boolean all = request.paramAsBoolean("all", false);
|
|
|
- if (all) {
|
|
|
- indicesStatsRequest.all();
|
|
|
- }
|
|
|
indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
+
|
|
|
if (request.hasParam("groups")) {
|
|
|
indicesStatsRequest.groups(Strings.splitStringByCommaToArray(request.param("groups")));
|
|
|
}
|
|
|
- /* We use "fields" as the default field list for stats that support field inclusion filters and further down
|
|
|
- * a more specific list of fields that overrides this list.*/
|
|
|
- final String[] defaultIncludedFields = request.paramAsStringArray("fields", null);
|
|
|
- indicesStatsRequest.docs(request.paramAsBoolean("docs", indicesStatsRequest.docs()));
|
|
|
- indicesStatsRequest.store(request.paramAsBoolean("store", indicesStatsRequest.store()));
|
|
|
- indicesStatsRequest.indexing(request.paramAsBoolean("indexing", indicesStatsRequest.indexing()));
|
|
|
- indicesStatsRequest.search(request.paramAsBoolean("search", indicesStatsRequest.search()));
|
|
|
- indicesStatsRequest.get(request.paramAsBoolean("get", indicesStatsRequest.get()));
|
|
|
- indicesStatsRequest.merge(request.paramAsBoolean("merge", indicesStatsRequest.merge()));
|
|
|
- indicesStatsRequest.refresh(request.paramAsBoolean("refresh", indicesStatsRequest.refresh()));
|
|
|
- indicesStatsRequest.flush(request.paramAsBoolean("flush", indicesStatsRequest.flush()));
|
|
|
- indicesStatsRequest.warmer(request.paramAsBoolean("warmer", indicesStatsRequest.warmer()));
|
|
|
- indicesStatsRequest.filterCache(request.paramAsBoolean("filter_cache", indicesStatsRequest.filterCache()));
|
|
|
- indicesStatsRequest.idCache(request.paramAsBoolean("id_cache", indicesStatsRequest.idCache()));
|
|
|
- indicesStatsRequest.fieldData(request.paramAsBoolean("fielddata", indicesStatsRequest.fieldData()));
|
|
|
- indicesStatsRequest.fieldDataFields(request.paramAsStringArray("fielddata_fields", defaultIncludedFields));
|
|
|
- indicesStatsRequest.percolate(request.paramAsBoolean("percolate", indicesStatsRequest.percolate()));
|
|
|
- indicesStatsRequest.segments(request.paramAsBoolean("segments", indicesStatsRequest.segments()));
|
|
|
- indicesStatsRequest.completion(request.paramAsBoolean("completion", indicesStatsRequest.completion()));
|
|
|
- indicesStatsRequest.completionFields(request.paramAsStringArray("completion_fields", defaultIncludedFields));
|
|
|
+
|
|
|
+ if (request.hasParam("types")) {
|
|
|
+ indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
+ }
|
|
|
+
|
|
|
+ Set<String> metrics = Strings.splitStringByCommaToSet(request.param("metric", "_all"));
|
|
|
+ // short cut, if no metrics have been specified in URI
|
|
|
+ if (metrics.size() == 1 && metrics.contains("_all")) {
|
|
|
+ indicesStatsRequest.all();
|
|
|
+ } else {
|
|
|
+ indicesStatsRequest.clear();
|
|
|
+ indicesStatsRequest.docs(metrics.contains("docs"));
|
|
|
+ indicesStatsRequest.store(metrics.contains("store"));
|
|
|
+ indicesStatsRequest.indexing(metrics.contains("indexing"));
|
|
|
+ indicesStatsRequest.search(metrics.contains("search"));
|
|
|
+ indicesStatsRequest.get(metrics.contains("get"));
|
|
|
+ indicesStatsRequest.merge(metrics.contains("merge"));
|
|
|
+ indicesStatsRequest.refresh(metrics.contains("refresh"));
|
|
|
+ indicesStatsRequest.flush(metrics.contains("flush"));
|
|
|
+ indicesStatsRequest.warmer(metrics.contains("warmer"));
|
|
|
+ indicesStatsRequest.filterCache(metrics.contains("filter_cache"));
|
|
|
+ indicesStatsRequest.idCache(metrics.contains("id_cache"));
|
|
|
+ indicesStatsRequest.percolate(metrics.contains("percolate"));
|
|
|
+ indicesStatsRequest.segments(metrics.contains("segments"));
|
|
|
+ indicesStatsRequest.fieldData(metrics.contains("fielddata"));
|
|
|
+ indicesStatsRequest.completion(metrics.contains("completion"));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (indicesStatsRequest.completion() && (request.hasParam("fields") || request.hasParam("completion_fields"))) {
|
|
|
+ indicesStatsRequest.completionFields(request.paramAsStringArray("completion_fields", request.paramAsStringArray("fields", Strings.EMPTY_ARRAY)));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (indicesStatsRequest.fieldData() && (request.hasParam("fields") || request.hasParam("fielddata_fields"))) {
|
|
|
+ indicesStatsRequest.fieldDataFields(request.paramAsStringArray("fielddata_fields", request.paramAsStringArray("fields", Strings.EMPTY_ARRAY)));
|
|
|
+ }
|
|
|
|
|
|
client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
@Override
|
|
@@ -166,586 +125,4 @@ public class RestIndicesStatsAction extends BaseRestHandler {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
- class RestDocsStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().docs(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestStoreStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().store(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestIndexingStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().indexing(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- if (request.hasParam("types")) {
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
- } else if (request.hasParam("indexingTypes1")) {
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("indexingTypes1")));
|
|
|
- } else if (request.hasParam("indexingTypes2")) {
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("indexingTypes2")));
|
|
|
- }
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestSearchStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().search(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- if (request.hasParam("groups")) {
|
|
|
- indicesStatsRequest.groups(Strings.splitStringByCommaToArray(request.param("groups")));
|
|
|
- } else if (request.hasParam("searchGroupsStats1")) {
|
|
|
- indicesStatsRequest.groups(Strings.splitStringByCommaToArray(request.param("searchGroupsStats1")));
|
|
|
- } else if (request.hasParam("searchGroupsStats2")) {
|
|
|
- indicesStatsRequest.groups(Strings.splitStringByCommaToArray(request.param("searchGroupsStats2")));
|
|
|
- }
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestGetStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().get(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestMergeStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().merge(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestFlushStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().flush(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestWarmerStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().warmer(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestFilterCacheStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().filterCache(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestIdCacheStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().idCache(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestFieldDataStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().fieldData(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
- indicesStatsRequest.fieldDataFields(request.paramAsStringArray("fields", null));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestCompletionStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().completion(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
- indicesStatsRequest.completionFields(request.paramAsStringArray("fields", null));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestRefreshStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().refresh(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestPercolateStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().percolate(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
- indicesStatsRequest.types(Strings.splitStringByCommaToArray(request.param("types")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class RestSegmentsStatsHandler implements RestHandler {
|
|
|
-
|
|
|
- @Override
|
|
|
- public void handleRequest(final RestRequest request, final RestChannel channel) {
|
|
|
- IndicesStatsRequest indicesStatsRequest = new IndicesStatsRequest();
|
|
|
- indicesStatsRequest.listenerThreaded(false);
|
|
|
- indicesStatsRequest.clear().segments(true);
|
|
|
- indicesStatsRequest.indices(Strings.splitStringByCommaToArray(request.param("index")));
|
|
|
-
|
|
|
- client.admin().indices().stats(indicesStatsRequest, new ActionListener<IndicesStatsResponse>() {
|
|
|
- @Override
|
|
|
- public void onResponse(IndicesStatsResponse response) {
|
|
|
- try {
|
|
|
- XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
|
|
- builder.startObject();
|
|
|
- builder.field("ok", true);
|
|
|
- buildBroadcastShardsHeader(builder, response);
|
|
|
- response.toXContent(builder, request);
|
|
|
- builder.endObject();
|
|
|
- channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
|
|
- } catch (Throwable e) {
|
|
|
- onFailure(e);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onFailure(Throwable e) {
|
|
|
- try {
|
|
|
- channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
|
|
- } catch (IOException e1) {
|
|
|
- logger.error("Failed to send failure response", e1);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
}
|