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

Andrey Gura commented on IGNITE-11927:
--------------------------------------

[~NIzhikov] 

>> 3. There is no need for disabled flag in MetricRegistry. As we discused 
>> early, when metric disabled they don't consume any memory. MetricsRegistry 
>> should be collected by GC. After enabling it can be created and registered 
>> into GridMetricManager again.

>I don't understand your proposal.

>Metric instances are stored as a class field in the places where they updated.
>You can take a GridJobProcessor or CacheMetricImpl as examples.

>How and why we should clear these variables on disabling?
>Can you provide simple pseudo code for disable\enable processing.

At least metric registry can be just removed from registries. On enabling new 
instance can be created. Ideally, metrics can be moved to the special holder 
class and reference to it can be null after disabling.

Motivation: reducing memory consuming and GC pressure. There are users with big 
amount of caches (I saw cases with 5000 caches in 200 cache groups). 


> [IEP-35] Add ability to enable\disable subset of metrics
> --------------------------------------------------------
>
>                 Key: IGNITE-11927
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11927
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Nikolay Izhikov
>            Assignee: Nikolay Izhikov
>            Priority: Major
>              Labels: IEP-35
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Ignite should be able to:
> * Enable or disable an arbitrary subset of the metrics. User should be able 
> to do it in runtime.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to