Igniters, There was a private discussion between Nikolay Izhikov, Andrey Gura, Alex Goncharuk and I some time ago where we attempted to outline a list of tasks to complete before announcing the feature in the GA state (removing the experimental flag from the new APIs and deprecating the legacy ones). Folks, with your permission, let me share the list first and next we can talk out each item in detail separately:
1. Add ability to enable\disable subset of the metrics for collection: https://issues.apache.org/jira/browse/IGNITE-11927 Am I right that the task will let us perform a desired configuration MetricExporterSPI and its specific implementation? Frankly, I couldn't figure out how to do that with "setExportFilter(Predicate<ReadOnlyMetricRegistry> filter);" method -- probably, that's just the matter of documentation. 2. Extension of IgniteSpiContext in order to allow Ignite developers to implement their own exporters (with no usage of the internal API). 3. Adding/extending/removing public metrics related to the API facade. Andrey, please elaborate on this item if needed. Also, I had a chance to experience the API in wearing a hat of an application developer while preparing for the Ignite 2.8 webinar. Please take into account my feedback below. Overall, I was impressed with the way the new system is designed and operates. All I had to do is just to register exporters and connect my favorite tool to the cluster. Kudos to Nikolay, Andrey and everyone else involved. So, that's my list and I ready to create JIRA tickets whenever is relevant: 4. After registering an exporter with a node only a subset of metrics gets updated. For instance, "GetTime_X" set of metrics belonging to a specific cache get updated all the times while CacheGets/Puts/Hits require me to enable "setStatisticsEnable(true)" for the cache. This is extremely confusing. Any way we can remove this ambiguity? Guess the same applies for memory and persistence metrics - there are old ones that might require to turn on "metricsEnabled" flag for data regions. 5. The system view that should track compute tasks (views.tasks) is always empty and I can see a number of tasks running via the compute.jobs registry or in "views.views" mxbean. Again, confusing from the application developer standpoint. 6. Ignite MBeans are listed under "org.apache.{node_id}" but should be placed under "org.apache.ignite.{node_id}". Guess this is left as is for now to preserve backward compatibility. 7. You see hundreds of metrics once connect through JMX and it's hard to sort out the valuable ones. The documentation can do a great job outlining the right ones but we can also add descriptions to MXBeans explaining what a metric is used for. 8. Failed to use LogExporterSpi: https://issues.apache.org/jira/browse/IGNITE-12880 - Denis