You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maxim Muzafarov (Jira)" <ji...@apache.org> on 2019/10/01 15:20:00 UTC

[jira] [Updated] (IGNITE-12183) Rebalancing process metrics for cache groups

     [ https://issues.apache.org/jira/browse/IGNITE-12183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maxim Muzafarov updated IGNITE-12183:
-------------------------------------
    Labels: IEP-35 await  (was: IEP-35)

> Rebalancing process metrics for cache groups
> --------------------------------------------
>
>                 Key: IGNITE-12183
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12183
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Aleksandr Brazhnikov
>            Assignee: Surkov Aleksandr
>            Priority: Major
>              Labels: IEP-35, await
>             Fix For: 2.8
>
>
> h3. Intro
> Currently, some of the Apache Ignite rebalance process metrics are not working well enough. For instance, `EstimatedRebalancingKeys` keys time to time returns `-1` value due to a bug, or `rebalanceKeysReceived` metric treated as CacheMetric in fact calculated for the whole cache group (e.g. historical rebalance, see IGNITE-11330 and code block comment below). 
> All the rebalance process metrics must be re-worked.
> {code:java}
>     /**
>      * Update rebalancing metrics.
>      */
>     private void updateGroupMetrics() {
>         // TODO: IGNITE-11330: Update metrics for touched cache only.
>         // Due to historical rebalancing "EstimatedRebalancingKeys" metric is currently calculated for the whole cache
>         // group (by partition counters), so "RebalancedKeys" and "RebalancingKeysRate" is calculated in the same way.
>         for (GridCacheContext cctx0 : grp.caches()) {
>             if (cctx0.statisticsEnabled())
>                 cctx0.cache().metrics0().onRebalanceKeyReceived();
>         }
>     }
> {code}
> h3. What we have
> _CacheMetrics_ - statistics must be enabled to see these metrics.
> * getRebalancedKeys
> * getKeysToRebalanceLeft
> * getEstimatedRebalancingKeys
> * getEstimatedRebalancingFinishTime
> * getRebalancingStartTime
> * getRebalanceClearingPartitionsLeft
> * getRebalancingKeysRate
> * getRebalancingBytesRate
> h3. What to do
> All such metrics (or their analogue) must be available for the _CacheGroupMetrics_. I'd suggest to do the following:
> # Phase-1
> #* rebalancingPartitionsLeft long metric
> #* rebalancingReceivedKeys long metric
> #* rebalancingReceivedBytes long metric
> #* rebalancingStartTime long metric
> #* rebalancingFinishTime long metric
> # Phase-2
> #* rebalancingExpectedKeys long metric
> #* rebalancingExpectedBytes long metric
> #* rebalancingEvictedPartitionsLeft long metric
> # Phase-3 (statistics must be enabled)
> #* rebalancingKeysRate HitRate metric
> #* rebalancingBytesRate HitRate metric
> # Phase-4
> #* Mark rebalancing _CacheMetrics_ deprecated and remove from metrics framework IGNITE-11961.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)