[
https://issues.apache.org/jira/browse/IGNITE-10493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16704835#comment-16704835
]
Pavel Kovalenko commented on IGNITE-10493:
------------------------------------------
[~Mmuzaf] Hello, Maxim. Thank you for comment. Of course, it would be a very
useful enhancement. But most of our current jmx metrics are continuous, while
exchange timings are discrete and related to concrete topology version. I'm not
able to find out at the moment how we can implement it, but if you have some
good ideas - feel free to create a ticket with your thoughts.
> Refactor exchange stages time measurements
> ------------------------------------------
>
> Key: IGNITE-10493
> URL: https://issues.apache.org/jira/browse/IGNITE-10493
> Project: Ignite
> Issue Type: Improvement
> Components: cache
> Affects Versions: 2.7
> Reporter: Pavel Kovalenko
> Priority: Major
> Fix For: 2.8
>
>
> At the current implementation, we don't cover and measure all possible code
> executions that influence on PME time. Instead of it we just measure the
> hottest separate parts with the following hardcoded pattern:
> {noformat}
> long time = currentTime();
> ... // some code block
> print ("Stage name performed in " + (currentTime() - time));
> {noformat}
> This approach can be improved. Instead of declaring time variable and print
> the message to log immediately we can introduce a utility class (TimesBag)
> that will hold all stages and their times. The content of TimesBag can be
> printed when the exchange future is done.
> As exchange is a linear process that executes init stage by exchange-worker
> and finish stage by one of the sys thread we can easily cover all exchange
> code base by time cutoffs.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)