[
https://issues.apache.org/jira/browse/IGNITE-17356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey N. Gura updated IGNITE-17356:
------------------------------------
Epic Link: (was: IGNITE-17353)
> 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)