[ 
https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16273942#comment-16273942
 ] 

Alexey Kuznetsov edited comment on IGNITE-6846 at 12/4/17 4:39 PM:
-------------------------------------------------------------------

[~vkulichenko] 
_"How do we calculate times for other operations"_
times calculated the same way, by the same method on both client and server.How 
it works : we start invoke by sending certain request to primary node and 
waiting for response.When response is received we must calculate time, but 
response message contains no information about whether it was 'read-only' or 
'update' operation. As a result we cannot decide whether we should increment 
'read-only' or 'update' metric.

Solution can be add flag to message. So, should we add new flag to message?



_"What exactly is non-trivial here?"_
Update is done after receiving update request message.When we got 
GridDhtAtomicSingleUpdateRequest on backup node, it contains no entry 
processor, no info about whether it is invoke or regular update operation. So 
we don't know whether it is transformation op or not.

So, should we add some flag into message GridDhtAtomicSingleUpdateRequest  
indicating entryProcessor calculated value ?(there is no other way to implement 
it)



11) getEntryProcessorHits() - Hit number - number of total entry processor 
invocations happened on keys exsisting in cache. While Mises number - number of 
invocations on keys not existing in cache. Am i right ?


was (Author: alexey kuznetsov):
[~vkulichenko] 
_"How do we calculate times for other operations"_
times calculated the same way, by the same method on both client and server.How 
it works : we start invoke by sending certain request to primary node and 
waiting for response.When response is received we must calculate time, but 
response message contains no information about whether it was 'read-only' or 
'update' operation. As a result we cannot decide whether we should increment 
'read-only' or 'update' metric.

Solution can be add flag to message. So, should we add new flag to message?


_"What exactly is non-trivial here?"_
Update is done after receiving update request message.When we got 
GridDhtAtomicSingleUpdateRequest on backup node, it contains no entry 
processor, no info about whether it is invoke or regular update operation. So 
we don't know whether it is transformation op or not.

So, should we add some flag into message GridDhtAtomicSingleUpdateRequest  
indicating entryProcessor calculated value ?(there is no other way to implement 
it)


11) getEntryProcessorHits() - Hit number - number of total entry processor 
invocations happened on keys exsisting in cache. While Mises number - number of 
invocations on keys not existing in cache. Am i right ?

> Add metrics for entry processor invocations
> -------------------------------------------
>
>                 Key: IGNITE-6846
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6846
>             Project: Ignite
>          Issue Type: Improvement
>          Components: cache
>    Affects Versions: 2.3
>            Reporter: Valentin Kulichenko
>            Assignee: Alexey Kuznetsov
>            Priority: Critical
>              Labels: iep-6
>             Fix For: 2.4
>
>
> {{CacheMetrics}} object has multiple metrics for various cache operations 
> like {{get}}, {{put}} and {{remove}}, but nothing for 
> {{invoke}}/{{EntryProcessor}}. It makes sense to add such metrics, for 
> example:
> * Total number of `invoke` operations executed.
> * Number of `invoke` operations that included updates.
> * Number of read-only `invoke` operations.
> * Min/max/avg execution time.
> * ...



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to