I have attached the hot threads which may be causing some cpu issue, can you let me know anything can be tuned to achieve better utilization
::: {metrics-datastore_1432058dd171e901d3813c97547a24a0}{8T-f4IVlQiSyAWDZO8H6fg}{172.30.0.12}{172.30.0.12:9300}{max_local_storage_nodes=1, master=false}
Hot threads at 2017-10-06T09:23:56.366Z, interval=500ms, busiestThreads=3, ignoreIdleThreads=true:
87.4% (436.9ms out of 500ms) cpu usage by thread 'elasticsearch[metrics-datastore_1432058dd171e901d3813c97547a24a0][bulk][T#14]'
9/10 snapshots sharing following 17 elements
org.elasticsearch.index.engine.InternalEngine.create(InternalEngine.java:346)
org.elasticsearch.index.shard.IndexShard.create(IndexShard.java:545)
org.elasticsearch.index.engine.Engine$Create.execute(Engine.java:810)
unique snapshot
java.util.ArrayList.grow(ArrayList.java:242)
java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:216)
java.util.ArrayList.ensureCapacityInternal(ArrayList.java:208)
java.util.ArrayList.add(ArrayList.java:440)
org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:287)
org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:279)
84.6% (422.8ms out of 500ms) cpu usage by thread 'elasticsearch[metrics-datastore_1432058dd171e901d3813c97547a24a0][bulk][T#1]'
2/10 snapshots sharing following 22 elements
org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:425)
org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1318)
org.apache.lucene.index.IndexWriter.addDocuments(IndexWriter.java:1297)
org.elasticsearch.index.engine.InternalEngine.innerCreateNoLock(InternalEngine.java:432)
org.elasticsearch.index.engine.InternalEngine.innerCreate(InternalEngine.java:375)
2/10 snapshots sharing following 24 elements
java.lang.ThreadLocal.get(ThreadLocal.java:144)
org.apache.lucene.util.CloseableThreadLocal.get(CloseableThreadLocal.java:78)
org.elasticsearch.common.lucene.uid.Versions.getLookupState(Versions.java:81)
2/10 snapshots sharing following 26 elements
org.apache.lucene.index.DefaultIndexingChain.indexDocValue(DefaultIndexingChain.java:470)
org.apache.lucene.index.DefaultIndexingChain.processField(DefaultIndexingChain.java:397)
4/10 snapshots sharing following 13 elements
org.elasticsearch.action.bulk.TransportShardBulkAction.shardIndexOperation(TransportShardBulkAction.java:327)
org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:120)
78.3% (391.5ms out of 500ms) cpu usage by thread 'elasticsearch[metrics-datastore_1432058dd171e901d3813c97547a24a0][bulk][T#9]'
3/10 snapshots sharing following 24 elements
org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:321)
org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:273)
org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:413)
2/10 snapshots sharing following 28 elements
sun.misc.Unsafe.park(Native Method)
2/10 snapshots sharing following 22 elements
org.elasticsearch.common.lucene.uid.PerThreadIDAndVersionLookup.lookup(PerThreadIDAndVersionLookup.java:88)
org.elasticsearch.common.lucene.uid.Versions.loadDocIdAndVersion(Versions.java:124)
::: {metrics-master-99e749c5a62e880d4be629941c9831ff}{LLrkkKDmQ3ey9QpXZ5shAA}{172.30.0.7}{172.30.0.7:9300}{data=false, max_local_storage_nodes=1, master=true}
Hot threads at 2017-10-06T09:23:56.617Z, interval=500ms, busiestThreads=3, ignoreIdleThreads=true:
0.0% (217.3micros out of 500ms) cpu usage by thread 'elasticsearch[metrics-master-99e749c5a62e880d4be629941c9831ff][transport_client_timer][T#1]{Hashed wheel timer #1}'
10/10 snapshots sharing following 5 elements
java.lang.Thread.sleep(Native Method)
org.jboss.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:445)
org.jboss.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:364)
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
java.lang.Thread.run(Thread.java:748)