Hello, Igniters. I've prepared Proof of Concept for IEP-35 [1] PR can be found here - https://github.com/apache/ignite/pull/6510
I've done following changes:
1. `GridMonitoringManager` [2] - simple implementation of manager to
store all monitoring info
2. `HttpPullExposerSpi` [3] - pull exposer implementation that can
respond with JSON from http://localhost:8080/ignite/monitoring. JSON content
can be veiwed in gist [4]
3. Compute task start and finish monitoring in "compute" list [5]
4. Service registration are monitored in "service" list - [6]
5. Current `IgniteSpiMBeanAdapter` rewritten using
`GridMonitoringManager` [7]
Design principles, monitoring subsystem details and new Ignite entities can be
found in IEP [1].
My next steps will be:
1. Implementation of JMX exposer
2. Registration of all "lists" and "sensor groups" as a SQL System view.
3. Add monitoring for all unmonitoring Ignite API. (described in IEP).
4. Rewrite existing jmx metrics using GridMonitoringManager.
Please, share you thoughts.
Part of JSON file:
```
"COMPUTE": {
"tasks": {
"name": "tasks",
"rows": [
{
"id": "0798817a-eeec-4386-9af7-94edb39ffced",
"sessionId": "a1814f95a61-912451ff-ca7b-4764-a7fd-728f6a900000",
"data": {
"taskClasName":
"org.apache.ignite.monitoring.MonitoringSelfTest$$Lambda$145/1500885480",
"startTime": 1556287337944,
"timeout": 9223372036854776000,
"execName": null
},
"name": "anotherBroadcast"
}
```
[1] https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=112820392
[2]
https://github.com/apache/ignite/pull/6510/files#diff-ec7d5cf5e35b99303deb9accee153c50R34
[3]
https://github.com/apache/ignite/pull/6510/files#diff-32239c45e0ae3b692af2eae7078e1436R47
[4] https://gist.github.com/nizhikov/aa1e6222e6a3456472b881b8deb0e24d
[5]
https://github.com/apache/ignite/pull/6510/files#diff-d651ed29d07bd0c5ce291654a3254cc0R749
[6]
https://github.com/apache/ignite/pull/6510/files#diff-0b4e54fbda2b0da1c10eff48416336f6R1606
[7]
https://github.com/apache/ignite/pull/6510/files#diff-4398bf118150500e059069b3a1638ec7R61
signature.asc
Description: This is a digitally signed message part
