ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikolay Izhikov (Jira)" <j...@apache.org>
Subject [jira] [Assigned] (IGNITE-12183) Rebalancing process metrics for cache groups
Date Mon, 25 Nov 2019 13:46:00 GMT

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

Nikolay Izhikov reassigned IGNITE-12183:
----------------------------------------

    Assignee: Nikolay Izhikov  (was: Surkov Aleksandr)

> 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: Nikolay Izhikov
>            Priority: Major
>              Labels: IEP-35, await
>             Fix For: 2.8
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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)

Mime
View raw message