本文整理汇总了Java中org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsRequest.interval方法的典型用法代码示例。如果您正苦于以下问题:Java NodesHotThreadsRequest.interval方法的具体用法?Java NodesHotThreadsRequest.interval怎么用?Java NodesHotThreadsRequest.interval使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsRequest
的用法示例。
在下文中一共展示了NodesHotThreadsRequest.interval方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: prepareRequest
import org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsRequest; //导入方法依赖的package包/类
@Override
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
String[] nodesIds = Strings.splitStringByCommaToArray(request.param("nodeId"));
NodesHotThreadsRequest nodesHotThreadsRequest = new NodesHotThreadsRequest(nodesIds);
nodesHotThreadsRequest.threads(request.paramAsInt("threads", nodesHotThreadsRequest.threads()));
nodesHotThreadsRequest.ignoreIdleThreads(request.paramAsBoolean("ignore_idle_threads", nodesHotThreadsRequest.ignoreIdleThreads()));
nodesHotThreadsRequest.type(request.param("type", nodesHotThreadsRequest.type()));
nodesHotThreadsRequest.interval(TimeValue.parseTimeValue(request.param("interval"), nodesHotThreadsRequest.interval(), "interval"));
nodesHotThreadsRequest.snapshots(request.paramAsInt("snapshots", nodesHotThreadsRequest.snapshots()));
nodesHotThreadsRequest.timeout(request.param("timeout"));
return channel -> client.admin().cluster().nodesHotThreads(
nodesHotThreadsRequest,
new RestResponseListener<NodesHotThreadsResponse>(channel) {
@Override
public RestResponse buildResponse(NodesHotThreadsResponse response) throws Exception {
StringBuilder sb = new StringBuilder();
for (NodeHotThreads node : response.getNodes()) {
sb.append("::: ").append(node.getNode().toString()).append("\n");
Strings.spaceify(3, node.getHotThreads(), sb);
sb.append('\n');
}
return new BytesRestResponse(RestStatus.OK, sb.toString());
}
});
}
示例2: handleRequest
import org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsRequest; //导入方法依赖的package包/类
@Override
public void handleRequest(final RestRequest request, final RestChannel channel, final Client client) {
String[] nodesIds = Strings.splitStringByCommaToArray(request.param("nodeId"));
NodesHotThreadsRequest nodesHotThreadsRequest = new NodesHotThreadsRequest(nodesIds);
nodesHotThreadsRequest.threads(request.paramAsInt("threads", nodesHotThreadsRequest.threads()));
nodesHotThreadsRequest.ignoreIdleThreads(request.paramAsBoolean("ignore_idle_threads", nodesHotThreadsRequest.ignoreIdleThreads()));
nodesHotThreadsRequest.type(request.param("type", nodesHotThreadsRequest.type()));
nodesHotThreadsRequest.interval(TimeValue.parseTimeValue(request.param("interval"), nodesHotThreadsRequest.interval(), "interval"));
nodesHotThreadsRequest.snapshots(request.paramAsInt("snapshots", nodesHotThreadsRequest.snapshots()));
nodesHotThreadsRequest.timeout(request.param("timeout"));
client.admin().cluster().nodesHotThreads(nodesHotThreadsRequest, new RestResponseListener<NodesHotThreadsResponse>(channel) {
@Override
public RestResponse buildResponse(NodesHotThreadsResponse response) throws Exception {
StringBuilder sb = new StringBuilder();
for (NodeHotThreads node : response) {
sb.append("::: ").append(node.getNode().toString()).append("\n");
Strings.spaceify(3, node.getHotThreads(), sb);
sb.append('\n');
}
return new BytesRestResponse(RestStatus.OK, sb.toString());
}
});
}
示例3: execute
import org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsRequest; //导入方法依赖的package包/类
public void execute(NodesHotThreadsRequest request, final ActionListener<NodesHotThreadsResponse> listener) {
logger.debug("nodes hot threads request {}", request);
// TODO test
try {
StringBuilder url = new StringBuilder();
url.append("_nodes/");
if (request.nodesIds().length != 0) {
url.append(Strings.arrayToCommaDelimitedString(request.nodesIds()));
}
RequestUriBuilder uriBuilder = new RequestUriBuilder(url.toString());
uriBuilder.addEndpoint("hot_threads");
TimeValue interval = request.interval();
int snapshots = request.snapshots();
int threads = request.threads();
String type = request.type();
uriBuilder.addQueryParameter("interval", interval.toString());
uriBuilder.addQueryParameter("snapshots", String.valueOf(snapshots));
uriBuilder.addQueryParameter("threads", String.valueOf(threads));
uriBuilder.addQueryParameter("type", type);
indicesAdminClient.getHttpClient().submit(HttpClientRequest.createGet(uriBuilder.toString()))
.flatMap(ErrorHandler.AS_FUNC)
.flatMap(new Func1<HttpClientResponse<ByteBuf>, Observable<NodesHotThreadsResponse>>() {
@Override
public Observable<NodesHotThreadsResponse> call(HttpClientResponse<ByteBuf> response) {
return response.getContent().flatMap(new Func1<ByteBuf, Observable<NodesHotThreadsResponse>>() {
@Override
public Observable<NodesHotThreadsResponse> call(ByteBuf byteBuf) {
// TODO
return null;
}
});
}
})
.single()
.subscribe(new ListenerCompleterObserver<>(listener));
// public NodesHotThreadsResponse onCompleted(Response response) {
// // this is not a json response, so I can not use the classic mecanism
// // TODO use indexOf to find the first lines and avoid parsing the full body
// List<String> splitted;
// try {
// splitted = Lists.newArrayList(Splitter.on(":::").omitEmptyStrings().split(response.getResponseBody()));
// } catch (IOException e) {
// throw new RuntimeException("Unable to read node hot thread response", e);
// }
//
// // 0.4% (2ms out of 500ms) cpu usage by thread 'elasticsearch[transport_client_node_1][transport_client_worker][T#1]{New I/O worker #205}'
// // 10/10 snapshots sharing following 15 elements
// // sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
// // [...stack trace ...]
//
// Iterable<NodeHotThreads> transformed = Iterables.transform(splitted, new Function<String, NodeHotThreads>() {
// @Override
// public NodeHotThreads apply(String input) {
// // ::: [node_1][nh_NJHcRRuameGupZWeCig][olivier-pc][inet[/10.1.103.89:9301]]
// // TODO the toString() from DiscoveryNode may omit some elements
// List<String> parts = Lists.newArrayList(Splitter.on("[").split(input));
// String nodeName = parts.get(1).replace("]", ""); // remove trailing ']'
// String nodeId = parts.get(2).replace("]", "");
//// String hostname = parts.get(3).replace("]", "");
//// String transportType = parts.get(4);
// // TODO clean this
// // TODO move the trailing ']' handling to parseTransportAddress
// String host = parts.get(5).substring(0, parts.get(5).indexOf(']'));
// String address = parts.get(4) + host;
// TransportAddress transportAddress = ResponseWrapper.parseTransportAddress(address);
// DiscoveryNode node = new DiscoveryNode(nodeName, nodeId, transportAddress, Collections.<String, String>emptyMap(), Version.CURRENT);
// return new NodeHotThreads(node, input);
// }
// });
// NodeHotThreads[] nodeHotThreadses = FluentIterable.from(transformed).toArray(NodeHotThreads.class);
// NodesHotThreadsResponse nodeHotThreads = new NodesHotThreadsResponse(new ClusterName(""), nodeHotThreadses);
} catch (Exception e) {
listener.onFailure(e);
}
}