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

Mostafa Elhemali updated HADOOP-9090:
-------------------------------------

    Attachment: HADOOP-9090.justEnhanceDefaultImpl.5.patch

Thanks Ravi for the feedback - I knew it was a bit controversial to put this 
method in the MetricsSystem interface and require it from other systems, but I 
figured it's the only way for outside customer to really take advantage of this 
since MetricsSystemImpl is not intended for out-of-Hadoop consumption. Having 
said that, my immediate need would be met without putting it in the interface 
so I took that out for now (we can always add it in another explicit JIRA if 
needed).

I've also added a new multi-threaded test in the new patch to make sure 
everything is alright there.
                
> Refactor MetricsSystemImpl to allow for an on-demand publish system
> -------------------------------------------------------------------
>
>                 Key: HADOOP-9090
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9090
>             Project: Hadoop Common
>          Issue Type: New Feature
>          Components: metrics
>            Reporter: Mostafa Elhemali
>            Priority: Minor
>         Attachments: HADOOP-9090.2.patch, 
> HADOOP-9090.justEnhanceDefaultImpl.2.patch, 
> HADOOP-9090.justEnhanceDefaultImpl.3.patch, 
> HADOOP-9090.justEnhanceDefaultImpl.4.patch, 
> HADOOP-9090.justEnhanceDefaultImpl.5.patch, 
> HADOOP-9090.justEnhanceDefaultImpl.patch, HADOOP-9090.patch
>
>
> Updated description based on feedback:
> We have a need to publish metrics out of some short-living processes, which 
> is not really well-suited to the current metrics system implementation which 
> periodically publishes metrics asynchronously (a behavior that works great 
> for long-living processes). Of course I could write my own metrics system, 
> but it seems like such a waste to rewrite all the awesome code currently in 
> the MetricsSystemImpl and supporting classes.
> The way this JIRA solves this problem is adding a new method 
> publishMetricsNow() to the MetricsSystemImpl() class, that does a synchronous 
> out-of-band push of the metrics from the sources to the sink. I also add a 
> method to MetricsSinkAdapter (putMetricsImmediate) to support that change.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to