[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16264488#comment-16264488 ]
Alexey Kuznetsov edited comment on IGNITE-6846 at 11/28/17 12:10 PM: --------------------------------------------------------------------- While implementing the task i rely on the following 1)When entry is updated, both 'invoke update' and get\put\remove metrics can be updated. 2)When entry processor is invoked, but cache entry isn't affected, then invoke metric isn't incremented. 3)'invoke update' metrics incremented only when cache entry value is changed(or removed) by entry processor(not just when entry processor is invoked). 4)If entry processor process(...) is called once, and multiple entries(perhaps on different nodes) are affected, then local invoke metric is incremented only once, cluster global metric is incremented once, local metrics on other nodes are zero. 5)Read-only 'invoke' metric is incremented if processor invoke operation is called without executing entry.setValue(...) (even calling entry.getValue() can be omit), processor can return non-null value.Also, cache might be empty while processor invocation. 6)'invoke removal' metric is incremented only if old cache value exists and removal succeedes. If there was no old value, associated with a key, then 'invoke read-only' metric is incremented. 7)The following metrics are going to be added : total number of invokes, number of invoke updates, number of invoke removals, number of read-only invokes, min\max\avg number of invocations(all invocations). Do you think its correct? was (Author: alexey kuznetsov): While implementing the task i rely on the following 1)When entry is updated, both 'invoke update' and get\put\remove metrics can be updated. 2)When entry processor is invoked, but cache entry isn't affected, then invoke metric isn't incremented. 3)'invoke update' metrics incremented only when cache entry value is changed(or removed) by entry processor(not just when entry processor is invoked). 4)If entry processor process(...) is called once, and multiple entries(perhaps on different nodes) are affected, then local invoke metric is incremented only once, cluster global metric is incremented once, local metrics on other nodes are zero. 5)Read-only 'invoke' metric is incremented if processor invoke operation is called without executing entry.setValue(...) (even calling entry.getValue() can be omit), processor can return non-null value.Also, cache might be empty while processor invocation. 6)'invoke removal' metric is incremented only if old cache value exists and removal succeedes. 7)The following metrics are going to be added : total number of invokes, number of invoke updates, number of invoke removals, number of read-only invokes, min\max\avg number of invocations(all invocations). Do you think its correct? > 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)