Open sirinath opened 10 years ago
GridGain has API for collecting metrics. See GridNode.metrics() or GridCache.metrics() methods.
Great. But can this be enhanced so the developer have more control over the metrics like in https://github.com/Netflix/servo and use it for load balacing and other rule based configuration like in http://stratos.incubator.apache.org/ through CEP.
The user should be able to use annotation or other constructs to collect metrics. Current implementation that you collect metrics for the internals of GG. Am I right on this?
User is also able to store custom metrics in GridNodeLocalMap and collect them using GridGain distributed closure execution.
Another user friendly metrics collection system. Perhaps you can get some ideas to improve. https://github.com/ryantenney/metrics-spring
Is it possible add way to collect metrics and states in GG so they can be processed programmatically and used for optimisation.
E.g. how many times a closure was executed? In which node? what was the time? what was the data it accesses? how much time did it take to get the data to the node for processing? what is the CPU utilisation of the node? what is the memory usage of the node? what are the exception that happened in a node? which closure caused it? what are the locks in code of closures executing in the node? what is the IO waiting times? ... etc.