[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16558309#comment-16558309 ] Dmitriy Govorukhin commented on IGNITE-6846: [~Alexey Kuznetsov] Changes looks good for me. I guess we should check performance benchmarks before a merge. Please, fetch the last master changes. > 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.7 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16534519#comment-16534519 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~DmitriyGovorukhin] Hi! Have you got any questions yet? > 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.7 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16526139#comment-16526139 ] Dmitriy Govorukhin commented on IGNITE-6846: [~Alexey Kuznetsov] I am working on the review, try to leave comments in the near future if they will. > 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.7 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16483774#comment-16483774 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~DmitriyGovorukhin] Hi. Are you going to review the task ? > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16480834#comment-16480834 ] Dmitriy Pavlov commented on IGNITE-6846: [~DmitriyGovorukhin], could you please take a look? Feel free to involve me into (re)running tests and check its result, run additional plugin(s) tests if necessary. > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16477031#comment-16477031 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] [~dpavlov] I rerun tests and attached results, all failed tests are flaky. We can proceed review > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16472037#comment-16472037 ] Aleksey Plekhanov commented on IGNITE-6846: --- [~Alexey Kuznetsov], I've looked at your patch, changes looks good to me. > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16463416#comment-16463416 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] Thanks for review. > What is DHT_ATOMIC_TRANSFORM_OP_FLAG_MASK and why is it introduced? This flag indicates value was updated by EP(entry processor), so EP metrics could be updated on backup nodes. When value is changed we don't know whether it was changed by EP or not. Look at example, illustrating it : GridCacheNearMetricsSelfTest#testCreateReadRemoveInvokesFromPrimary. In this test single value is changed by EP in _setValue1ByEntryProcessor_. At first step key is updated on node0, then it must be propagated to backup node by _GridDhtAtomicSingleUpdateRequest_ message. When backup node receives this message, we don't know whether update was a result of EP invocation or not, so we cannot increment EP metrics correctly on backup node. PS, we cannot put EP into GridDhtAtomicSingleUpdateRequest#entryProcessor. This flag do change message, but I don't thing it brake something. > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16458236#comment-16458236 ] Valentin Kulichenko commented on IGNITE-6846: - [~Alexey Kuznetsov], sorry for big delays. I looked at the code, here are some comments: * There are conflicts again, please resolve them so that we can do the merge. * Please rename {{getAverageEntryProcessorInvocationTime}} to {{getEntryProcessorAverageInvocationTime}}. Same goes for {{max}} and {{min}}. All entry processor related metrics should start with {{getEntryProcessor...}}. * What is {{DHT_ATOMIC_TRANSFORM_OP_FLAG_MASK}} and why is it introduced? [~1506...@gmail.com], I'm overall OK with the change, but would be good if someone more experienced in cache internals does the review. There are modifications in cache messages and other deep internals, I'm not completely sure we are not breaking anything. > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16449450#comment-16449450 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~dpavlov] Ok, I will fix it first. Thanks for reminder. > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16448025#comment-16448025 ] Dmitriy Pavlov commented on IGNITE-6846: [~Alexey Kuznetsov] let me remind you about open TC fix issue https://issues.apache.org/jira/browse/IGNITE-8161 IMO it is good practice to fix previous issues before merge of new. > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445430#comment-16445430 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~dpavlov] He was asked several times in dev-list, in jira. There is no chance Val would response. > 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.6 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16423952#comment-16423952 ] Dmitriy Pavlov commented on IGNITE-6846: [~Alexey Kuznetsov] I still would like to wait Val response. I don't know any expert, which is not loaded with reviews currently. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16423703#comment-16423703 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~dpavlov] Hi! may be we should choose another reviewer for this ticket? > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418651#comment-16418651 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] The ticket is ready for review > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418646#comment-16418646 ] Alexey Kuznetsov commented on IGNITE-6846: -- testNearPut test performs put into near cache, after calling afterTest(), near entry still exists as a result, testNearRead fails. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16417786#comment-16417786 ] Dmitriy Pavlov commented on IGNITE-6846: In reply to Dmitriy Pavlov GridCacheNearAtomicMetricsSelfTest.testNearRead fails because of not related issue : atomic remove() operation doesn't remove entry from near cache. As a consequence, 'read' metric test fails. So the problem isn't with metrics. So, it seems it is really separate issue. I'm ok with merge and mute added test with separate ticket. See also http://apache-ignite-developers.2346864.n4.nabble.com/Near-cache-entry-removal-td28698.html > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16417356#comment-16417356 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~dpavlov] GridCacheNearAtomicMetricsSelfTest.testNearRead fails because of not related issue : atomic remove() operation doesn't remove entry from near cache. As a consequence, 'read' metric test fails. So the problem isn't with metrics. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16417046#comment-16417046 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~avinogradov] found issue needs additional investigation. Ok, I will try to fix it > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415922#comment-16415922 ] Anton Vinogradov commented on IGNITE-6846: -- [~Alexey Kuznetsov] Let's try to fix as a part of this issue. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415914#comment-16415914 ] Dmitriy Pavlov commented on IGNITE-6846: [~avinogradov], to be sure if it is related or not, issue needs to be deeply investigated. Deep investigation usually brings fix as result. So I prefer simultaneously. Number of tickets we will have is not significiant, so you can create 2 if it seems more reasonable to you. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415908#comment-16415908 ] Anton Vinogradov commented on IGNITE-6846: -- [~dpavlov] Found issue can be fixed simultaneously with this fix or later > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415904#comment-16415904 ] Anton Vinogradov commented on IGNITE-6846: -- [~dpavlov] Once again. It's ok to write test for one task and find it fails because of another issue. In that case we have to create initially failing test + issue + mute TC. So, you'll gain no failing issues after this. That's not ok to mix fixes since found is not trivial [~Alexey Kuznetsov] Is found issue really not trivial? > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415902#comment-16415902 ] Dmitriy Pavlov commented on IGNITE-6846: [~avinogradov], please also consider following solution - fixing this test before issue merge. WDYT? > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415896#comment-16415896 ] Dmitriy Pavlov commented on IGNITE-6846: [~avinogradov], why this test became failing while was passed? Please see https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute - it requires by default tests are passed. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415878#comment-16415878 ] Anton Vinogradov commented on IGNITE-6846: -- [~dpavlov] Looks like bug not related to the issue. In that case it's ok to create new issue, add test with fail(https:/...) and mute it on merge. [~Alexey Kuznetsov] please don't forget to link issues and set muted label. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415875#comment-16415875 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~dpavlov] `read` metric bug fix is nontrivial and doesn't relate to this task. I propose to create another new ticket and write fail("IGNITE-XYZ") in GridCacheNearAtomicMetricsSelfTest.testNearRead. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415716#comment-16415716 ] Dmitriy Pavlov commented on IGNITE-6846: [~Alexey Kuznetsov], please see TC results: Cache [3] [ tests 1 ] No fail rate info, probably new failure IgniteBinaryObjectsCacheTestSuite3: GridCacheNearAtomicMetricsSelfTest.testNearRead why do you think it should be fixed separately. Please see https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute - it requires by default tests are passed. GridVersionSelfTest#testVersions - is known flaky. testOperationChaining was failed before. Retriggered both builds for PR. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16414014#comment-16414014 ] Alexey Kuznetsov commented on IGNITE-6846: -- There are several failed tests : GridCacheNearAtomicMetricsSelfTest#testNearRead - as I said above, test failed due to bug in `read` metric. Seems, new ticket should be created. GridVersionSelfTest#testVersions, DynamicColumnsConcurrentTransactionalReplicatedSelfTest#testOperationChaining - cannot reproduce locally, and I think my changes must not affect this test. Other tests are flacky, and seems my changes doesn't affect them. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413806#comment-16413806 ] Dmitriy Pavlov commented on IGNITE-6846: Seems [~vkulichenko] has started this review. I suggest to keep Val as reviewer. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413710#comment-16413710 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~dpavlov] Hi! Could you review this important ticket, or suggest somebody who would not mind review it? > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16401635#comment-16401635 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] Are you planning to review this ticket some day? > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16387513#comment-16387513 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] Hi! I updated PR on 26th of February 2018. There were no conflicts since then. Are you looking at correct PR ? This is the [correct link to PR|https://github.com/apache/ignite/pull/3148] > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16384403#comment-16384403 ] Valentin Kulichenko commented on IGNITE-6846: - [~Alexey Kuznetsov], I'm sorry for delays from my side, but looks like there are conflicts with master again. Can you please take a look? > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1636#comment-1636 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] , hi ! Sorry, for delay. I have resolved conflicts, and rerun tests. This new metric test was added : GridCacheNearAtomicMetricsSelfTest, and it shows "cache read" metric works incorrect(see testNearRead()). So, my question is, should i file a ticket for fixing this test("cache read" metric in atomic cache) Please, review the ticket. > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16330766#comment-16330766 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] Hi! Sorry, for delay. I have resolved conflicts, rerun my new tests locally and they passed. And started Run All [tests|https://ci.ignite.apache.org/viewQueued.html?itemId=1047828&tab=queuedBuildOverviewTab] > 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.5 > > > {{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 (v7.6.3#76005)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16320974#comment-16320974 ] Valentin Kulichenko commented on IGNITE-6846: - [~Alexey Kuznetsov], do you have any update here? Would be great if you do the proper merge, I will then review your change. Thanks! > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16306562#comment-16306562 ] Valentin Kulichenko commented on IGNITE-6846: - [~Alexey Kuznetsov], I tried to apply the pull request, but there are conflicts with master. Can you please check and resolve them? > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16285367#comment-16285367 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] ticket is ready for review > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16278290#comment-16278290 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] Only primary and backups. 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16277765#comment-16277765 ] Valentin Kulichenko commented on IGNITE-6846: - [~Alexey Kuznetsov], when {{IgniteCache#put}} is called on a client, on which nodes do we update the metrics? Only client? Only primary? Primary and backups? All participating nodes including client and affinity nodes? > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16274529#comment-16274529 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] "8. And once again, it should be consistent with other operations Invoke is a regular cache operation; the only difference is that it can do both read and update/remove in one go. Let's not overcomplicate this." Imagine, we perform regular get operation.The value would be extracted from near cache on the same node.As a result 'get' metric would be incremented on local node. Now, consider performing invoke: {code:java} cache0.invoke(i, new CacheEntryProcessor() { @Override public Object process(MutableEntry entry, Object... arguments) throws EntryProcessorException { entry.getValue(); return null; } }); {code} It would be executed on primary node(a-priory), and 'read-only invoke' metric must be incremented on primary node only(not on local node!). So, how could they be consistent with each other? > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16273942#comment-16273942 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] 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. > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16273616#comment-16273616 ] Valentin Kulichenko commented on IGNITE-6846: - How do we calculate times for other operations, on server or on client? If the latter, then I think we can just remove `ReadOnly` times. If on server, you should be able to easily calculate this though. 9. This is a very weird case, so I don't think it really matters. But since this EP removes entry at the end, let's count it as removal. 10. In my view, it's a missed read and then removal. What exactly is non-trivial here? > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16272393#comment-16272393 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] Ok, Im going to rework API. And make 'invoke' metrics be calculated the similar way as corresponding regular cache operations. > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16271935#comment-16271935 ] Valentin Kulichenko commented on IGNITE-6846: - As for the API, how about this? {code} public long getEntryProcessorInvocations(); public long getEntryProcessorReadOnlyInvocations(); public long getEntryProcessorHits(); public long getEntryProcessorMisses(); public long getEntryProcessorHitPercentage(); public long getEntryProcessorMissPercentage(); public long getEntryProcessorPuts(); public long getEntryProcessorRemovals(); public long getMinEntryProcessorInvocationTime(); public long getAverageEntryProcessorInvocationTime(); public long getMaxEntryProcessorInvocationTime(); public long getMinEntryProcessorReadOnlyInvocationTime(); public long getAverageEntryProcessorReadOnlyInvocationTime(); public long getMaxEntryProcessorReadOnlyInvocationTime(); {code} > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16271927#comment-16271927 ] Valentin Kulichenko commented on IGNITE-6846: - 2. Why not? Entry processor is atomic and expiration happens *after*, even if TTL is zero. I don't see a reason why invoke metrics should not change. 4. This should be consistent with other operations. Do we increment metrics for 'put' on backup node? If yes, let's do the same for invoke. 6. Again, behavior should be consistent for all operations and across all nodes. 8. And once again, it should be consistent with other operations :) Invoke is a regular cache operation; the only difference is that it can do both read and update/remove in one go. Let's not overcomplicate this. > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16270598#comment-16270598 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] Thanks for answers. 2.Assume, we invoked processor(read-only, not value is changed) on primary node, on transactional cache. Right after that expiry policy got expired(ttl equals CU.TTL_ZERO) and entry is removed. So 'invoke read-only' metric isn't incremented. Should we increment 'total number of invocations' metric in this case? I think no(moreover, no 'invoke*' metrics should be incremented) 4.For instance.If we update one key, in replicated atomic cache, entry processor is invoked only once, on primary node. And then invocation result is transfered by atomic update requests between backups(entry processor isn't transfered). So, may be we should increment only primary node's 'invoke *' metric ? While leaving backup's metrics zero. 6.In ATOMIC caches regular 'remove' metric isn't incremented if cache is empty. Whereas TRANSACTIONAL cache's 'remove' metric is incremented! I think we should not increment it in this case, and should not increment 'invoke delete' metric if cache is empty. And file a bug on TRANSACTIONAL cache 'removal' metric calculation. 7. The following metrics going to be added into CacheMetrics : {code:java} /** * The total number of cache invocations, caused update. * * @return The number of invocation updates. */ public long getCacheInvokeUpdates(); /** * The total number of cache invocations, caused removal. * * @return The number of invocation removals. */ public long getCacheInvokeRemovals(); /** * The total number of cache invocations, caused no updates. * * @return The number of read-only invocations. */ public long getCacheReadOnlyInvokes(); /** * The total number of cache invocations. * * @return The number of cache invocations. */ public long getCacheInvokes(); /** * The mean time to execute cache invokes. * * @return The time in µs. */ public long getAverageCacheInvokesTime(); /** * So far, the minimum time to execute cache invokes. * * @return The time in µs. */ public long getMinCacheInvokesTime(); /** * So far, the maximum time to execute cache invokes. * * @return The time in µs. */ public long getMaxCacheInvokesTime(); {code} > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16269747#comment-16269747 ] Valentin Kulichenko commented on IGNITE-6846: - [~Alexey Kuznetsov], here are my comments. 1. Makes sense. 2. Metrics for total number of invocations should be incremented. 3. Correct. 4. This sounds like a weird case, how do you update multiple entries with one entry processor invocation? 5. Correct. And this does not depend on what entry processor returns. 6. How does regular 'remove' metric behaves in this case? I think similar 'invoke' metric should be consistent with that one. 7. Can you draft the API and present it here? > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16264488#comment-16264488 ] Alexey Kuznetsov commented on IGNITE-6846: -- when entry is updated, both 'invoke update' and get\put\remove metrics updated > 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)
[jira] [Commented] (IGNITE-6846) Add metrics for entry processor invocations
[ https://issues.apache.org/jira/browse/IGNITE-6846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16264357#comment-16264357 ] Alexey Kuznetsov commented on IGNITE-6846: -- [~vkulichenko] Should we create separate metric for 'invoke removal' ? Or it shold be counted by 'invoke update' metric? PS now it is included in 'cache removal' metric > 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)