Nikolay, thanks for joining the discussion. Please give me a few days to respond and create tickets. A bit hectic week.
- Denis On Sat, Apr 18, 2020 at 6:10 AM Nikolay Izhikov <nizhi...@apache.org> wrote: > > 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? > > This improvement should allow Ignite users to disable or enable > `MetricsRegistry` globally on the node. > When some `MetricRegistry` disabled then registry: > * Do not consume resources(CPU, RAM) to keep metrics values up to > date(don’t perform increment, decrement operations, etc) > * Can’t be viewed in any exporter. > > > Frankly, I couldn't figure out how to do that with > "setExportFilter(Predicate<ReadOnlyMetricRegistry> filter);" > > With filter user can exclude arbitrary registry from arbitrary exporter. > Example of filtering out all cache metrics from JMX: > > ``` > JmxMetricExporterSpi jmxSpi = new JmxMetricExporterSpi(); > jmxSpi.setExportFilter(mreg -> !mreg.name().startsWith(«cache»)); > > cfg.setMetricExporterSpi(jmxSpi); > ``` > > > 2. Extension of IgniteSpiContext in order to allow Ignite developers to > implement their own exporters > > Please, clarify, your idea. > Exporters can be implemented without usage of the internal API. > You can look into JmxMetricExporterSpi as an example. > > > 3. Adding/extending/removing public metrics related to the API facade. > > I think we can start with a discussion and finishing Java API to read > metrics. > It implemented in my PR [1]. > > > 4. After registering an exporter with a node only a subset of metrics > gets updated. This is extremely confusing. Any way we can remove this > ambiguity? > > Yes, it a bad thing. > And it’s known restriction of the current implementation that was > introduced to preserve backward compatibility. > It seems we can remove this restriction after IGNITE-11927 would be > implemented. > > > 5. The system view that should track compute tasks (views.tasks) is > always empty > > TASKS reflects the running task that was started on the local node. > You can find an example of using this view in tests [2] > It seems we should add examples for the views. > > The view to observe compute JOBS(parts of the task that are executed on the > remote node) was added by me in [3] > It’s not a part of 2.8.0 release but should be available in 2.8.1 > > > 6. Ignite MBeans are listed under "org.apache.{node_id}" but should be > placed under "org.apache.ignite.{node_id}". > > Please, create a ticket and I will try to fix it. > > > we can also add descriptions to MXBeans explaining what a metric is used > for. > > Great idea! Let’s do it, for sure! > Please, create a ticket for it > > > 8. Failed to use LogExporterSpi: > > On my plate, I will fix it. > > [1] https://github.com/apache/ignite/pull/7283 > [2] > > https://github.com/apache/ignite/blob/master/modules/core/src/test/java/org/apache/ignite/internal/metric/SystemViewSelfTest.java#L236 > [3] https://issues.apache.org/jira/browse/IGNITE-12745 > > > ср, 8 апр. 2020 г. в 23:10, Denis Magda <dma...@apache.org>: > > > 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 > > >