Thread Pool Information Using Java API

Good morning,
I'm trying to get the same information using the Java API that I can get using the curl command, "curl localhost:9200/_cat/threadpool".

I'm using the TransportClient API to get the client connection to ElasticSearch.

When I use client.admin().cluster().threadpool(), and iterate over stats(), the only thread pool name that is populated with information is "generic", even though the curl command shows otherwise.

What is the correct API I should be using?

Thank you.

Ed Brown
Software Architect

You need to use client().admin().cluster().prepareNodesStats().get() which will give you an iterator over some NodeStats objects, and these objects have a getThreadPool property that you can use to get information about thread pools.

Thank you. You sent me in the right direction, but it missing one method call. The solution is:

Thank you! :smiley:
Ed Brown
Software Architect