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

Denis Chudov updated IGNITE-17356:
----------------------------------
    Description: 
Following metrics could be useful for Ignite compute:
- total number of tasks that are supposed to be executed locally
- number of completed tasks that were executed locally

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:
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 Ignite Compute
> --------------------------------------------------
>
>                 Key: IGNITE-17356
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17356
>             Project: Ignite
>          Issue Type: New Feature
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> Following metrics could be useful for Ignite compute:
> - total number of tasks that are supposed to be executed locally
> - number of completed tasks that were executed locally
> 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