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

ASF GitHub Bot commented on STORM-200:
--------------------------------------

Github user d2r commented on the pull request:

    https://github.com/apache/incubator-storm/pull/38#issuecomment-47559759
  
    @dashengju 
    
    OK, can you try with this patch?
    
    ```Diff
    diff --git a/storm-core/src/clj/backtype/storm/testing.clj 
b/storm-core/src/clj/backtype/storm/testing.clj
    index c3eb76f..70c783a 100644
    --- a/storm-core/src/clj/backtype/storm/testing.clj
    +++ b/storm-core/src/clj/backtype/storm/testing.clj
    @@ -234,7 +234,10 @@
              (log-error t# "Error in cluster")
              (throw t#))
            (finally
    -         (kill-local-storm-cluster ~cluster-sym)))))
    +         (let [keep-waiting?# (atom true)]
    +           (future (while @keep-waiting?# (simulate-wait ~cluster-sym)))
    +           (kill-local-storm-cluster ~cluster-sym)
    +           (reset! keep-waiting?# false))))))
    
     (defmacro with-simulated-time-local-cluster
       [& args]
    ```
    
    The above seems to fix the issue.  It could prevent spurious hangs we see 
with other tests as well.
    
    
    > -(def TEST-TIMEOUT-MS 5000)
    > +(def TEST-TIMEOUT-MS 30000)
    
    This change is not needed.  If it does not progress within 5 seconds, then 
it probably will not progress after another 25 seconds either.  (It is 
unrelated to the hang.)



> Proposal for Multilang's Metrics feature
> ----------------------------------------
>
>                 Key: STORM-200
>                 URL: https://issues.apache.org/jira/browse/STORM-200
>             Project: Apache Storm (Incubating)
>          Issue Type: New Feature
>            Reporter: DashengJu
>            Priority: Minor
>         Attachments: update.patch
>
>
> Storm 0.9.0.1 exposes a metrics interface to report summary statistics across 
> the full topology. We can build our own metric, and build metrics consumer to 
> use those statistics.
> But when we use Multilang(ie. Python), we can not use this feature. So we 
> want to summit a proposal for multilang's metrics. 
> The specifics of the proposal:
> 1. The main idea is: when user want to add a metric statistics in 
> multilang(python) bolt,
>     a) he need first create a metric object and register in ShellBolt's 
> sub-class, 
>     b) then update the metric in Python bolt process through RPC call.
> 2. In Metrics API:
>     a) extend IMetric interface add a method for RPC call:public void 
> updateMetricFromRPC(List<Object> params);  
>     b) modify IMetric implements, to support updateMetricFromRPC;
> 3. In ShellBolt,
>     a) we have a Map<String, IMetric> to hold user's registered metrics  
> object;
>     b) we have a method registerMetric(String name, T metric) for user to 
> register their metris object;
>     c) we have a method handleMetrics(Map action) to handle RPC call from 
> Python process;
> 4) In Multilang protocol: add a command "metrics" for shell process to make 
> RPC call. The protocol is: {"command":"metrics", 
> "name":"metric-registerd-name", "params":["param-1", param-2]}
> 5) In storm.py:add rpcMetrics(name, params), user can update remote metric 
> through this RPC call.
> any suggestions?



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to