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

Reply via email to