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

ASF GitHub Bot commented on METRON-562:
---------------------------------------

Github user nickwallen commented on a diff in the pull request:

    https://github.com/apache/incubator-metron/pull/352#discussion_r87668638
  
    --- Diff: 
metron-analytics/metron-profiler/src/main/java/org/apache/metron/profiler/bolt/ProfileBuilderBolt.java
 ---
    @@ -243,8 +244,18 @@ private void flush(Tuple tickTuple) {
         measurement.setValue(result);
         emit(measurement, tickTuple);
     
    +    // Execute the update with the old state
    +    Map<String, String> tickUpdate = profileConfig.getTickUpdate();
    +    Map<String, Object> state = executor.getState();
    +    if(tickUpdate != null) {
    +      tickUpdate.forEach((var, expr) -> executor.assign(var, expr, 
executor.getState()));
    --- End diff --
    
    The 3rd argument to executor.assign is called 'transientState'.  It exists 
only to make additional state available to the expression;  additional state 
that is not already maintained by the executor itself.  The normal use for it 
is when you want to make the fields in a telemetry message available to the 
expression.
    
    Setting transientState=executor.getState() does not make sense here.  It is 
exactly the same as passing nothing at all.  The state in executor.getState() 
is already exposed to the expression.
    
    Hopefully, I am describing this well enough.  As another feeble attempt at 
explanation, the following two expression are equivalent.
    
    ```
    tickUpdate.forEach((var, expr) -> executor.assign(var, expr, 
executor.getState()));
    ```
    ```
    tickUpdate.forEach((var, expr) -> executor.assign(var, expr, null));
    ```


> Add rudimentary statistical outlier detection
> ---------------------------------------------
>
>                 Key: METRON-562
>                 URL: https://issues.apache.org/jira/browse/METRON-562
>             Project: Metron
>          Issue Type: New Feature
>            Reporter: Casey Stella
>            Assignee: Casey Stella
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> With the advent of the profiler, we can now capture state.  Furthermore, with 
> Stellar, we can capture statistical summaries.  We should provide rudimentary 
> outlier detection functionality in the form of Stellar functions that can 
> operate on captured state from the profiler.
> To begin, we should enable simple outlier tests using distance from a central 
> measure such as Median Absolute Deviation (see 
> http://www.itl.nist.gov/div898/handbook/eda/section3/eda35h.htm).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to