Hi Nikolay, I think "idle time" is a useful metric, but it can be calculated outside of Ignite using external monitoring system.
About execution and waiting time, it's not the right way to calculate it using a jobs list. Will jobs list contain only active jobs? In this case, you can't calculate these metrics at all, since you don't know the time of finished jobs. If the list will contain all jobs (will it be unlimited?), iterating over this list will be resource consuming. In any way, it's much simpler (and sometimes only possible) for an external monitoring system to just get some scalar metric than iterate over a list with some condition. About aggregation, yes, in an ideal world aggregation should be done with the external monitoring system. But, what if a user doesn't use any external monitoring system and wants to know the health of Ignite instance? Do we have any plans to implement some simple aggregator and ship it with Ignite? Do we have plans to provide some presets for Ignite monitoring for popular monitoring systems? (These questions not related to this PR, but related to IEP at all) Also, some aggregation metrics ("max" for example) can't be effectively calculated using the external system (you should iterate over a jobs list again and still precision of such calculation will be no more than the time between probes).