Custom ES plugin timing out

We wrote a custom ES plugin that is deployed in one of our master node. When we hit the plugin, it is responsible for collecting node metrics from all the nodes. One thing we recently encountered is that, since this node is fetching stats of all the nodes, the response time depends on the slowest node in the cluster. When our cluster is heavily ingested, we often find that this plugin does not return a response at all because it gets blocked on fetching stats of all the nodes. How do I write a plugin that let's me collect metrics of all the nodes even if the cluster is under load [it's ok to miss out metrics of a node that is slow, I know something like this may be impossible, but i'd atleast want the metrics from other well performing nodes]

That's not an easy problem to solve. Instead of writing a custom plugin why don't you just use X-Pack with basic license that allows using Monitoring?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.