gridgain / gridgain-old

267 stars 85 forks source link

Access metrics updates programmatically through CEP #58

Open sirinath opened 10 years ago

sirinath commented 10 years ago

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.

dsetrakyan commented 10 years ago

GridGain has API for collecting metrics. See GridNode.metrics() or GridCache.metrics() methods.

sirinath commented 10 years ago

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?

dsetrakyan commented 10 years ago

User is also able to store custom metrics in GridNodeLocalMap and collect them using GridGain distributed closure execution.

sirinath commented 10 years ago

Another user friendly metrics collection system. Perhaps you can get some ideas to improve. https://github.com/ryantenney/metrics-spring