[ 
https://issues.apache.org/jira/browse/IGNITE-17448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Chudov updated IGNITE-17448:
----------------------------------
    Description: 
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).

  was:
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).


> Implementation of metric source for cluster state
> -------------------------------------------------
>
>                 Key: IGNITE-17448
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17448
>             Project: Ignite
>          Issue Type: Bug
>            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)

Reply via email to