[
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)