+1 to  @IgniteExperimental

On Mon, Jan 20, 2020 at 12:09 PM Alexey Goncharuk <
alexey.goncha...@gmail.com> wrote:

> After giving it some thought, I agree with Denis - there is nothing wrong
> with exposing the new APIs, we just need to make it clear that we are still
> going to change it.
>
> Should we Introduce something like @IgniteExperimental annotation (I
> believe it has been discussed a dozen of times on the dev-list)?
>
> пт, 17 янв. 2020 г. в 23:28, Nikolay Izhikov <nizhi...@apache.org>:
>
> > +1 to mark feature or whole release as EA.
> >
> > пт, 17 янв. 2020 г., 23:00 Denis Magda <dma...@apache.org>:
> >
> > > Folks, if you don't mind I'll share some thoughts/suggestions as an
> > > observer who was not involved in the feature development.
> > >
> > > It's absolutely 'ok' to deprecate an API that is replaced with a much
> > > better version. However, we should do this only when the new APIs are
> > > production-ready. If there are still many limitations or open items
> then
> > > don't deprecate anything that exists and release the new APIs labeling
> as
> > > early access. What if release the improvements labeling as EA instead
> of
> > > hiding them completely?
> > >
> > > I would also encourage us to put aside emotions, don't blame or point
> > > fingers. This IEP is a great initiative and you both have already done
> a
> > > tremendous job by developing, architecting and reviewing changes. Just
> be
> > > respectful. Nobody is trying to block the feature from being released.
> > > Everyone would be glad to tap into improvements and start using them in
> > > prod. But if more time is needed for the GA let's reiterate a bit.
> > >
> > > -
> > > Denis
> > >
> > >
> > > On Fri, Jan 17, 2020 at 12:24 PM Николай Ижиков <nizhi...@apache.org>
> > > wrote:
> > >
> > > > > Also I agree with Alexey about introducing public IgniteMonitoring
> > > facade
> > > >
> > > > This is not an issue with the API.
> > > > Just the new feature that doesn’t affects API.
> > > > Moreover, I create a ticket to fix it, already.
> > > >
> > > > > It's right. But if you add checking of statisticsEnabling property
> > then
> > > > test will fail. It's just not good tests.
> > > >
> > > > My changes doesn’t affect any `staticticsEnabled` property.
> > > > I don’ understand your point here.
> > > >
> > > > > Redundant ReadOnlyMetricRegistry.
> > > >
> > > > It’s not redundant.
> > > > It required for exporters and provide read only access to
> > MetricRegistry
> > > > existing in the node.
> > > >
> > > >
> > > > > MetricExporterSpi that requires ReadOnlyMetricRegistry.
> > > >
> > > > > Absence of newly created metrics in old MBeans that forces user use
> > > > > exporter SPI while his code base uses old MBeans.
> > > >
> > > > Why this is issue?
> > > >
> > > > > Inconsistent MetricRegistry API.
> > > >
> > > > It’s consistent.
> > > >
> > > > > Metrics lookups from map instead of using direct reference
> > > > > (performance problem).
> > > >
> > > > 1. We(You and I) did this choice together to simplify creation of the
> > new
> > > > metrics.
> > > > 2. This is not public API issue.
> > > >
> > > >
> > > > > Ignoring of statisticsEnabled flag.
> > > >
> > > > I don’t ignore this flag.
> > > > It just doesn’t exists in new framework(because of scope).
> > > > I don’t think it’s an issue.
> > > >
> > > > > JmxExporterSpi creates beans that doesn't satisfy best MBeans
> > > practices.
> > > >
> > > > Please, clarify your statement.
> > > > What is best MBeans practices you are talking about?
> > > >
> > > > > Not finished IGNITE-11927
> > > >
> > > >
> > > > How this can be API issue?
> > > >
> > > >
> > > > > 17 янв. 2020 г., в 20:52, Andrey Gura <ag...@apache.org>
> написал(а):
> > > > >
> > > > >>> All issues Alexey mentioned in starting letter are fixed with my
> PR
> > > > [1].
> > > > >>> I don’t think other issues you mentioned are blocker for the
> > release.
> > > > >
> > > > > As I mentioned already IGNITE-11927 is part of IEP-35 and
> > > > > implementation seriously affects API's. Also I agree with Alexey
> > about
> > > > > introducing public IgniteMonitoring facade. So thiss PR doesn't fix
> > > > > all issues.
> > > > >
> > > > >>> I talk about ignored existing functionality.
> > > > >> There is no existing tests that was broken by this contribution.
> > > > >
> > > > > It's right. But if you add checking of statisticsEnabling property
> > > > > then test will fail. It's just not good tests.
> > > > >
> > > > >> If you know the issues with it, feel free to create a ticket I
> will
> > > fix
> > > > it ASAP.
> > > > >
> > > > > I already fix it all in IGNITE-11927
> > > > >
> > > > >>> 1. Moving IEP-35 API's to the internal package.
> > > > >> We should move the product forward and shouldn't hide major
> > > > contribution from the user just because your second guess «I don’t
> like
> > > the
> > > > API I just reviewed and approved».
> > > > >
> > > > > We should move the product forward with with really finished
> > features,
> > > > > not pieces of features.
> > > > >
> > > > >> So I am against this proposal.
> > > > >
> > > > > It is not argument.
> > > > >
> > > > >> But, I’m ready to see your proposal for the API change and discuss
> > > them.
> > > > >
> > > > > We can prepare it together. But we can't block release.
> > > > >
> > > > >>> Because IGNITE-11927 doesn't solve all problems
> > > > >> What is *ALL* problems?
> > > > >
> > > > > Redundant ReadOnlyMetricRegistry.
> > > > > MetricExporterSpi that requires ReadOnlyMetricRegistry.
> > > > > Absence of newly created metrics in old MBeans that forces user use
> > > > > exporter SPI while his code base uses old MBeans.
> > > > > Inconsistent MetricRegistry API.
> > > > > Metrics lookups from map instead of using direct reference
> > > > > (performance problem).
> > > > > Ignoring of statisticsEnabled flag.
> > > > > JmxExporterSpi creates beans that doesn't satisfy best MBeans
> > > practices.
> > > > > Not finished IGNITE-11927
> > > > >
> > > > > It's enough I believe.
> > > > >
> > > > > On Fri, Jan 17, 2020 at 7:28 PM Николай Ижиков <
> nizhi...@apache.org>
> > > > wrote:
> > > > >>
> > > > >> Andrey.
> > > > >>
> > > > >> All issues Alexey mentioned in starting letter are fixed with my
> PR
> > > [1].
> > > > >> I don’t think other issues you mentioned are blocker for the
> > release.
> > > > >>
> > > > >>> I talk about ignored existing functionality.
> > > > >>
> > > > >> There is no existing tests that was broken by this contribution.
> > > > >> If you know the issues with it, feel free to create a ticket I
> will
> > > fix
> > > > it ASAP.
> > > > >>
> > > > >>> 1. Moving IEP-35 API's to the internal package.
> > > > >>
> > > > >> We should move the product forward and shouldn't hide major
> > > > contribution from the user just because your second guess «I don’t
> like
> > > the
> > > > API I just reviewed and approved».
> > > > >> So I am against this proposal.
> > > > >> But, I’m ready to see your proposal for the API change and discuss
> > > them.
> > > > >>
> > > > >>> Because IGNITE-11927 doesn't solve all problems
> > > > >>
> > > > >> What is *ALL* problems?
> > > > >> Seems, we never be able to solve *ALL* problems.
> > > > >> But, we should move the product forward.
> > > > >>
> > > > >> As for your steps [1-6].
> > > > >> I’m always following these steps during my contribution.
> > > > >>
> > > > >> [1] https://github.com/apache/ignite/pull/7269
> > > > >>
> > > > >>> 17 янв. 2020 г., в 19:08, Andrey Gura <ag...@apache.org>
> > написал(а):
> > > > >>>
> > > > >>> The discussion is hot and can be endless. So in separate post I
> > want
> > > > >>> propose my solution.
> > > > >>>
> > > > >>> 1. Moving IEP-35 API's to the internal package.
> > > > >>> 2. Create special feature branch B.
> > > > >>> 3. In branch B will be merged IGNITE-11927
> > > > >>> 4. Because IGNITE-11927 doesn't solve all problems we should
> > propose
> > > > >>> solution and implement it in branch B.
> > > > >>> 5. Testing, usability testing, fixing, etc iteratively.
> > > > >>> 6. Merge it to master and in new release branch if needed.
> > > > >>>
> > > > >>> Independent step. There are some problem which should be fixed in
> > 2.8
> > > > >>> before release otherwise we introduce problems with compatibility
> > > > >>> which will haunt us till next major release. I'll create tickets.
> > > > >>>
> > > > >>> On Fri, Jan 17, 2020 at 7:03 PM Andrey Gura <ag...@apache.org>
> > > wrote:
> > > > >>>>
> > > > >>>>>> Because it is brand new API and it requires rewrite client
> code.
> > > > >>>>> We doesn’t break backward compatibility.
> > > > >>>>> The message is - this interface would be remove in the next
> major
> > > > release.
> > > > >>>>
> > > > >>>> We don't know anything about development processes our users. I
> > can
> > > > >>>> admit that process could require that deprecated methods/APIs
> are
> > > not
> > > > >>>> allowed for example.
> > > > >>>>
> > > > >>>>>> ReadOnlyMetricRegistry
> > > > >>>>>> Form user stand point it is very strange interface which don't
> > > give
> > > > me any information about it’s purpose and responsibilities.
> > > > >>>>>> Seems, I should explain proposed changes [1] more clear:
> > > > >>>>
> > > > >>>> I understand this. But I'm not Ignite user, I'm Ignite
> developer.
> > > The
> > > > >>>> key moment in my message *from user stand point*. From my point
> of
> > > > >>>> view it is very not intuitive solution and this interface is
> > > > >>>> redundant.
> > > > >>>>
> > > > >>>>>> Actually not. We have statisticsEnabled for caches for
> example.
> > > > There are other entities with such flag.
> > > > >>>>> They still works as expected.
> > > > >>>>
> > > > >>>> Actually not. I fixed many such issues during IGNITE-11927
> > > > implementation.
> > > > >>>>
> > > > >>>>>> Why do you decided do in such way?
> > > > >>>>> Because of the scope.
> > > > >>>>> The ability to disable/enable metrics is the matter of the
> other
> > > > ticket.
> > > > >>>>
> > > > >>>> I talk not about ability. I talk about ignored existing
> > > functionality.
> > > > >>>> So scope is not case here.
> > > > >>>>
> > > > >>>>>> But they should not be exported by MetricExporterSpi
> > > > implementations.
> > > > >>>>> Actually, it’s a responsibility of the exporter to decide.
> > > > >>>>> JMX exporter can exports ObjectMetric while OpenCensus exporter
> > > > can’t.
> > > > >>>>
> > > > >>>> Actually list is not metric at all as I already told.
> > > > >>>>
> > > > >>>> On Fri, Jan 17, 2020 at 5:26 PM Николай Ижиков <
> > nizhi...@apache.org
> > > >
> > > > wrote:
> > > > >>>>>
> > > > >>>>> Andrey.
> > > > >>>>>
> > > > >>>>>> Because it is brand new API and it requires rewrite client
> code.
> > > > >>>>>
> > > > >>>>> We doesn’t break backward compatibility.
> > > > >>>>> The message is - this interface would be remove in the next
> major
> > > > release.
> > > > >>>>>
> > > > >>>>>> ReadOnlyMetricRegistry
> > > > >>>>>> Form user stand point it is very strange interface which don't
> > > give
> > > > me any information about it’s purpose and responsibilities.
> > > > >>>>>
> > > > >>>>> Seems, I should explain proposed changes [1] more clear:
> > > > >>>>>
> > > > >>>>> Each SPI would have a `ReadOnlyMetricManager` which provides
> > access
> > > > to collection of `ReadOnlyMetricRegistry`
> > > > >>>>> which has a collection of `Metric`.
> > > > >>>>>
> > > > >>>>> So we reflects two-level structure we have in the internal API
> > > > >>>>>
> > > > >>>>> GridMetricManager -> Collection[MetricRegistry] ->
> > > Collection[Metric]
> > > > >>>>> ReadOnlyMetricManager -> Collection[ReadOnlyMetricRegistry] ->
> > > > Collection[Metric]
> > > > >>>>>
> > > > >>>>>> Actually not. We have statisticsEnabled for caches for
> example.
> > > > There are other entities with such flag.
> > > > >>>>>
> > > > >>>>> They still works as expected.
> > > > >>>>>
> > > > >>>>>> Why do you decided do in such way?
> > > > >>>>>
> > > > >>>>> Because of the scope.
> > > > >>>>> The ability to disable/enable metrics is the matter of the
> other
> > > > ticket.
> > > > >>>>>
> > > > >>>>>> But they should not be exported by MetricExporterSpi
> > > > implementations.
> > > > >>>>>
> > > > >>>>> Actually, it’s a responsibility of the exporter to decide.
> > > > >>>>> JMX exporter can exports ObjectMetric while OpenCensus exporter
> > > > can’t.
> > > > >>>>>
> > > > >>>>> [1]
> > > >
> > >
> >
> https://github.com/apache/ignite/pull/7269/files#diff-0ae5657231fc4c1f650493b02190b81bR25
> > > > >>>>>
> > > > >>>>>> 17 янв. 2020 г., в 16:57, Andrey Gura <ag...@apache.org>
> > > > написал(а):
> > > > >>>>>>
> > > > >>>>>>> If I’m not missing something, you were one of the active
> > > reviewers
> > > > of the Metric API.
> > > > >>>>>>
> > > > >>>>>> Yes. But if I'm not missing some thing you were major
> developer
> > of
> > > > >>>>>> Metric API :) Shit happens. And it happened.
> > > > >>>>>>
> > > > >>>>>>>> The first, I agree with Alexey about deprecation of APIs
> that
> > > are
> > > > still supported and don't offer reasonable substitution.
> > > > >>>>>>> It has - MetricExporterSPI.
> > > > >>>>>>
> > > > >>>>>> There is such concept - backward compatibility. I understand
> > that
> > > > >>>>>> deprecation of some interface doesn't break backward
> > compatibility
> > > > but
> > > > >>>>>> it leads to question^ what should I use instead of this. And
> > > > >>>>>> MetricExporterSpi is not answer for this question. Because it
> is
> > > > brand
> > > > >>>>>> new API and it requires rewrite client code.
> > > > >>>>>>
> > > > >>>>>>>> ReadOnlyMetricRegistry interface is redundant.
> > > > >>>>>>> It’s an interface that exposes internal MetricRegistry  to
> the
> > > > exporters.
> > > > >>>>>>
> > > > >>>>>> No it is not. It's completely artificial thing which allow
> > iterate
> > > > via
> > > > >>>>>> all metric registries. GridMetricManager implements this
> > interface
> > > > >>>>>> while it is not metric registry. Form user stand point it is
> > very
> > > > >>>>>> strange interface which don't give me any information about
> it's
> > > > >>>>>> purpose and responsibilities.
> > > > >>>>>>
> > > > >>>>>>>> Exporters expose metrics if they are disabled.
> > > > >>>>>>> We don’t have an ability to disable metrics.
> > > > >>>>>>
> > > > >>>>>> Actually not. We have statisticsEnabled for caches for
> example.
> > > > There
> > > > >>>>>> are other entities with such flag.
> > > > >>>>>>
> > > > >>>>>>> And that done, intentionally.
> > > > >>>>>>
> > > > >>>>>> Why do you decided do in such way? Why you ignore existing
> > > > >>>>>> functionality? It affects user expectations and experience.
> > > > >>>>>>
> > > > >>>>>>> You are working on this issue, aren’t you?
> > > > >>>>>>
> > > > >>>>>> Yes? I'm working. Unfortunately we are not synchronized in
> this
> > > > >>>>>> context and I should redo all metrics related changes in order
> > to
> > > > >>>>>> merge it with my changes. Anyway, my change doesn't solve all
> > > > problems
> > > > >>>>>> (e.g. it doesn't introduce IgniteMonitoring facade).
> > > > >>>>>>
> > > > >>>>>>> I can fix this issue, by myself.
> > > > >>>>>>
> > > > >>>>>> Unfortunately it will be just fix. In my solution it is
> > redesign.
> > > > Stop
> > > > >>>>>> fixing issues, let's do things. It requires deeper changes. My
> > > > changes
> > > > >>>>>> blocks AI 2.8 release because it big enough. So it retargeted
> on
> > > the
> > > > >>>>>> next release. And it is one more reason for moving the changes
> > to
> > > > the
> > > > >>>>>> internal packages. And it isn't good news for me because I
> will
> > go
> > > > >>>>>> throughout pan and tiers of merge. But it is right.
> > > > >>>>>>
> > > > >>>>>>> Metrics of type lists are not metric at all.
> > > > >>>>>>
> > > > >>>>>> They are created to deal with backward compatibility.
> > > > >>>>>>
> > > > >>>>>>>> Metrics of type lists are not metric at all.
> > > > >>>>>>> They are created to deal with backward compatibility.
> > > > >>>>>>
> > > > >>>>>> Yes, I know. But they should not be exported by
> > MetricExporterSpi
> > > > >>>>>> implementations.
> > > > >>>>>>
> > > > >>>>>> On Fri, Jan 17, 2020 at 3:37 PM Николай Ижиков <
> > > nizhi...@apache.org>
> > > > wrote:
> > > > >>>>>>>
> > > > >>>>>>> Andrey, thanks for your opinion and your ownest critisism.
> > > > >>>>>>> I can’t wait for your contribution.
> > > > >>>>>>>
> > > > >>>>>>> If I’m not missing something, you were one of the active
> > > reviewers
> > > > of the Metric API.
> > > > >>>>>>>
> > > > >>>>>>>> The first, I agree with Alexey about deprecation of APIs
> that
> > > are
> > > > still supported and don't offer reasonable substitution.
> > > > >>>>>>>
> > > > >>>>>>> It has - MetricExporterSPI.
> > > > >>>>>>>
> > > > >>>>>>>> The second, from my point of view, we can't recommend
> > > > MetricExporterSpi's because it are still not-production ready.
> > > > >>>>>>>
> > > > >>>>>>> It’s ready.
> > > > >>>>>>>
> > > > >>>>>>>> The third, moving of MetricRegistry to the public API
> doesn't
> > > > solve the problem because this interface exposes internal Metric
> > > interface
> > > > implementations.
> > > > >>>>>>>
> > > > >>>>>>> Not, its’ not.
> > > > >>>>>>> Please, see `org.apache.ignite.spi.metric.LongMetric` and
> other
> > > > public interface.
> > > > >>>>>>>
> > > > >>>>>>>> API of MetricRegistry is inconsistent.
> > > > >>>>>>>
> > > > >>>>>>> MetricRegistry is the internal API.
> > > > >>>>>>> Feel free to create ticket for an issues with it and I will
> try
> > > to
> > > > fix it.
> > > > >>>>>>>
> > > > >>>>>>>> ReadOnlyMetricRegistry interface is redundant.
> > > > >>>>>>>
> > > > >>>>>>> It’s an interface that exposes internal MetricRegistry  to
> the
> > > > exporters.
> > > > >>>>>>>
> > > > >>>>>>>> Exporters expose metrics if they are disabled.
> > > > >>>>>>>
> > > > >>>>>>> We don’t have an ability to disable metrics.
> > > > >>>>>>> And that done, intentionally.
> > > > >>>>>>> You are working on this issue, aren’t you?
> > > > >>>>>>> I can fix this issue, by myself.
> > > > >>>>>>>
> > > > >>>>>>>> Metrics of type lists are not metric at all.
> > > > >>>>>>>
> > > > >>>>>>> They are created to deal with backward compatibility.
> > > > >>>>>>>
> > > > >>>>>>>> 17 янв. 2020 г., в 15:09, Andrey Gura <ag...@apache.org>
> > > > написал(а):
> > > > >>>>>>>>
> > > > >>>>>>>> Hi,
> > > > >>>>>>>>
> > > > >>>>>>>> The first, I agree with Alexey about deprecation of APIs
> that
> > > are
> > > > >>>>>>>> still supported and don't offer reasonable substitution.
> > > > >>>>>>>>
> > > > >>>>>>>> The second, from my point of view, we can't recommend
> > > > >>>>>>>> MetricExporterSpi's because it are still not-production
> ready.
> > > > There
> > > > >>>>>>>> are some issues with it and usage of ReadOnlyMetricRegistry
> > > > interface
> > > > >>>>>>>> just one of them.
> > > > >>>>>>>>
> > > > >>>>>>>> The third, moving of MetricRegistry to the public API
> doesn't
> > > > solve
> > > > >>>>>>>> the problem because this interface exposes internal Metric
> > > > interface
> > > > >>>>>>>> implementations. So your PR is incomplete.
> > > > >>>>>>>> Moreover, API of MetricRegistry is inconsistent. E.g.
> > > > register(name,
> > > > >>>>>>>> supplier, desc) method returns registered metric for some
> > types
> > > > and
> > > > >>>>>>>> doesn't for other. register(metric) method is inconsistent
> in
> > > > sense of
> > > > >>>>>>>> metric naming. ReadOnlyMetricRegistry interface is
> redundant.
> > > > >>>>>>>> MetricExporterSpi should be revised because it absolutely
> not
> > > > >>>>>>>> intuitive because it requires ReadOnlyMetricRegistry and
> it's
> > > > purpose
> > > > >>>>>>>> is undefined.
> > > > >>>>>>>>
> > > > >>>>>>>> One more point. IEP-35 is still not fully implemented. Some
> > > > things are
> > > > >>>>>>>> not taken into account. Exporters expose metrics if they are
> > > > disabled.
> > > > >>>>>>>> JMX beans exposes values that don't confirm to best
> practices
> > > [1].
> > > > >>>>>>>> Metrics of type lists are not metric at all. Ubiquitous
> merics
> > > > lookup
> > > > >>>>>>>> from hash map instead of usage reference for getting metrics
> > > > values
> > > > >>>>>>>> (it is just performance issue). Also IGNITE-11927 is not
> > > > implemented
> > > > >>>>>>>> which also changes interfaces significantly.
> > > > >>>>>>>>
> > > > >>>>>>>> Let's just admit that the implementation is immature and
> must
> > be
> > > > moved
> > > > >>>>>>>> to the internal packages.
> > > > >>>>>>>>
> > > > >>>>>>>> And because we already merged partially implemented IEP to
> the
> > > > master
> > > > >>>>>>>> branch we *must move all currently public APIs to the
> internal
> > > > API*
> > > > >>>>>>>> while it will not be ready for publication.
> > > > >>>>>>>>
> > > > >>>>>>>> And the last but not least. What is happening indicates a
> > > immature
> > > > >>>>>>>> development process which must be revised. I don't want
> > discuss
> > > > it in
> > > > >>>>>>>> this thread but we must not allow merge of change to the
> > master
> > > > branch
> > > > >>>>>>>> before it will completed, that is we must use feature
> branches
> > > for
> > > > >>>>>>>> full IEP not only for particular tickets. And also we should
> > > > >>>>>>>> reformulate IEP process in order to avoid things like this.
> > > > >>>>>>>>
> > > > >>>>>>>> [1]
> > > >
> > >
> >
> https://www.oracle.com/technetwork/java/javase/tech/best-practices-jsp-136021.html
> > > > >>>>>>>>
> > > > >>>>>>>> On Fri, Jan 17, 2020 at 12:49 PM Николай Ижиков <
> > > > nizhi...@apache.org> wrote:
> > > > >>>>>>>>>
> > > > >>>>>>>>> Alex.
> > > > >>>>>>>>>
> > > > >>>>>>>>> OK, I may leverage your experience and create pure Java
> API.
> > > > >>>>>>>>> Ticket [1] created.
> > > > >>>>>>>>>
> > > > >>>>>>>>> But, personally, I don’t agree with you.
> > > > >>>>>>>>> Ignite has dozens of the API that theoretically have a
> usage
> > > > scenario, but in real-world have 0 custom implementation and usages.
> > > > >>>>>>>>> Moreover, many APIs that were created with the intentions
> you
> > > > mentioned is abandoned now and confuses users.
> > > > >>>>>>>>>
> > > > >>>>>>>>> You can just see count of the tests we just mute on the TC.
> > > > >>>>>>>>>
> > > > >>>>>>>>> Can you, please, take a look at the fix regarding puck API
> > > issue
> > > > you mentioned in your first letter [2], [3]
> > > > >>>>>>>>>
> > > > >>>>>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-12553
> > > > >>>>>>>>> [2] https://github.com/apache/ignite/pull/7269
> > > > >>>>>>>>> [3] https://issues.apache.org/jira/browse/IGNITE-12552
> > > > >>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>>>> 17 янв. 2020 г., в 12:12, Alexey Goncharuk <
> > > > alexey.goncha...@gmail.com> написал(а):
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> Nikolay,
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> Why do you think this is a wrong usage pattern? From the
> top
> > > of
> > > > my head,
> > > > >>>>>>>>>> here is a few cases of direct metric API usage that I know
> > are
> > > > currently
> > > > >>>>>>>>>> being used in production:
> > > > >>>>>>>>>> * A custom task execution scheduling service with load
> > > > balancing based on
> > > > >>>>>>>>>> utilization metrics readings from Java code
> > > > >>>>>>>>>> * Cleanup task trigger based on metrics readings
> > > > >>>>>>>>>> * A custom health-check endpoint for an application with
> an
> > > > embedded
> > > > >>>>>>>>>> Ignite node for Kubernetes/Spring Application/etc
> > > > >>>>>>>>>
> > > > >>>>>>>
> > > > >>>>>
> > > > >>
> > > >
> > > >
> > >
> >
>

Reply via email to