[
https://issues.apache.org/jira/browse/IGNITE-17448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-17448:
----------------------------------
Issue Type: New Feature (was: Bug)
> Implementation of metric source for cluster state
> -------------------------------------------------
>
> Key: IGNITE-17448
> URL: https://issues.apache.org/jira/browse/IGNITE-17448
> Project: Ignite
> Issue Type: New Feature
> Reporter: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> At least, could be implemented metric showing *topology version*.
> What is needed to achieve this:
> Define metrics source class and metrics holder class for ignite compute.
> Define all metric variables in the holder class, if needed.
> Implement initialization logic which is responsible for creation of actual
> instances of metrics and building an immutable instance of metrics set (will
> be executed on metrics enabling). Implement additional clean up logic if
> needed (will be executed on metrics disabled).
> Define methods that implement desirable manipulations with metrics. Every
> such method must check the state of the metrics source (enabled\disabled) by
> testing the holder reference to null (some kind of guard) before modifying a
> metric value. Read holder reference only once and use it in scope of the
> method in order to avoid data races.
> Metrics source should be registered in metrics registry on component start
> and should be unregistered on component stop. Initial metrics source state
> (enabled\disabled) should be set according to configuration for each
> particular component.
> Add logic related with metrics values modification (add invocations of
> metrics source methods).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)