<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Using streamstats to track currently active values in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349917#M103594</link>
    <description>&lt;P&gt;Though these answers are all interesting and full of great tricks, they don't quite get to where I was headed. I ended up writing some python to accomplish what is needed -- adding and removing values from a streaming set based on other field values.&lt;/P&gt;</description>
    <pubDate>Thu, 28 Jun 2018 00:38:51 GMT</pubDate>
    <dc:creator>vbumgarner</dc:creator>
    <dc:date>2018-06-28T00:38:51Z</dc:date>
    <item>
      <title>Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349900#M103577</link>
      <description>&lt;P&gt;Given input like this:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;id,  action, message
 1,     add, Adding this thing
 2,     add, Adding this other thing
  ,        , I am a different message
 1, destroy, Remove this thing
  ,        , I am yet a different message
 2, destroy, Remove this other thing
  ,        , And I am yet a different message
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I want to get:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt; activeids, id,  action, message
         1,  1,     add, Adding this thing
       1;2,  2,     add, Adding this other thing
       1;2,   ,        , I am a different message
         2,  1, destroy, Remove this thing
         2,   ,        , I am yet a different message
          ,  2, destroy, Remove this other thing
          ,   ,        , And I am yet a different message
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I've been fighting with &lt;CODE&gt;streamstats global=false current=false window=1 last(activeids) as activeids&lt;/CODE&gt; and a load of &lt;CODE&gt;eval&lt;/CODE&gt; statements, but streamstats doesn't seem to calculate the values when I think it should (in order of execution per event).&lt;/P&gt;

&lt;P&gt;When does streamstats actually do its work vs. other statements in the pipeline?&lt;/P&gt;

&lt;P&gt;Here's a query that illustrates what I'm trying to do:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| stats count 
| eval r="message=No_id_yet"
| eval r=mvappend(r,"id=1 action=add message=Adding_this_id")
| eval r=mvappend(r,"id=2 action=add message=Adding_this_other_id")
| eval r=mvappend(r,"message=Im_a_different_message")
| eval r=mvappend(r,"id=1 action=destroy message=Remove_this_thing")
| eval r=mvappend(r,"message=Im_yet_a_different_message")
| eval r=mvappend(r,"id=2 action=destroy message=Remove_this_other_thing")
| eval r=mvappend(r,"message=And_Im_yet_a_different_message")
| mvexpand r | rename r as _raw | extract 
| table id action message 

| streamstats window=1 current=false last(activeids) as activeids_prev 
| fillnull activeids_prev 

| eval add=if(action=="add", id, null) 
| eval remove=if(action=="destroy", id, null) 
| eval activeids=if(isnotnull(add), mvdedup(mvappend(activeids_prev,add)), activeids_prev)
| eval activeids=if(isnotnull(remove),split( replace( mvjoin(activeids, "IMPOSSIBLEDELIMITER") , remove, "") , "IMPOSSIBLEDELIMITER" ), activeids )
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;What I see in the results is that the &lt;CODE&gt;last(activeids) as activeids_prev&lt;/CODE&gt; doesn't actually match anything. It seems that the eval statements are happening before the streamstats. &lt;/P&gt;

&lt;P&gt;What am I missing?&lt;/P&gt;</description>
      <pubDate>Wed, 18 Apr 2018 22:44:38 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349900#M103577</guid>
      <dc:creator>vbumgarner</dc:creator>
      <dc:date>2018-04-18T22:44:38Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349901#M103578</link>
      <description>&lt;P&gt;do you have active id's fields in your data ?&lt;/P&gt;</description>
      <pubDate>Wed, 18 Apr 2018 23:01:23 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349901#M103578</guid>
      <dc:creator>ssadanala1</dc:creator>
      <dc:date>2018-04-18T23:01:23Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349902#M103579</link>
      <description>&lt;P&gt;Take a look at the example query.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Apr 2018 23:44:18 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349902#M103579</guid>
      <dc:creator>vbumgarner</dc:creator>
      <dc:date>2018-04-18T23:44:18Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349903#M103580</link>
      <description>&lt;P&gt;The commands are executing in order. After the table command on line 11, you have a table with three columns/fields: &lt;CODE&gt;id&lt;/CODE&gt;, &lt;CODE&gt;action&lt;/CODE&gt;, and &lt;CODE&gt;message&lt;/CODE&gt;. The next command is this:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| streamstats window=1 current=false last(activeids) as activeids_prev 
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;But that's asking streamstats to act on a field called &lt;CODE&gt;activeids&lt;/CODE&gt;, which does not yet exist.&lt;/P&gt;</description>
      <pubDate>Thu, 19 Apr 2018 13:00:05 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349903#M103580</guid>
      <dc:creator>elliotproebstel</dc:creator>
      <dc:date>2018-04-19T13:00:05Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349904#M103581</link>
      <description>&lt;P&gt;Right. What I need is for the eval statements to run per row as it’s going along. My latest attempt is to try to shove the eval statements inside the last() on the streamstats command, but it doesn’t seem to honor the field just created by itself, and a fillnull beforehand doesn’t make any difference.  &lt;/P&gt;</description>
      <pubDate>Thu, 19 Apr 2018 17:15:19 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349904#M103581</guid>
      <dc:creator>vbumgarner</dc:creator>
      <dc:date>2018-04-19T17:15:19Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349905#M103582</link>
      <description>&lt;P&gt;And by “right”, I mean “you’re absolutely right, the eval statements AFTER the streamstats are irrelevant.”&lt;/P&gt;</description>
      <pubDate>Thu, 19 Apr 2018 17:16:29 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349905#M103582</guid>
      <dc:creator>vbumgarner</dc:creator>
      <dc:date>2018-04-19T17:16:29Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349906#M103583</link>
      <description>&lt;P&gt;See this&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| gentimes start=-1 | eval r="message=No_id_yet" | eval r=mvappend(r,"id=1 action=add message=Adding_this_id") | eval r=mvappend(r,"id=2 action=add message=Adding_this_other_id") | eval r=mvappend(r,"message=Im_a_different_message") | eval r=mvappend(r,"id=1 action=destroy message=Remove_this_thing") | eval r=mvappend(r,"message=Im_yet_a_different_message") | eval r=mvappend(r,"id=2 action=destroy message=Remove_this_other_thing") | eval r=mvappend(r,"message=And_Im_yet_a_different_message") | mvexpand r | rename r as _raw | extract | table id action message | streamstats count as rownum| filldown id | filldown action | eval id="idnum".id | fillnull value=" " action| eval temp=rownum."##".id."##".action."##".message | eval action1=if(action="add",1,-1) | chart values(action1) over temp by id | rex field=temp "(?&amp;lt;rownum&amp;gt;.*)##(?&amp;lt;id&amp;gt;.*)##(?&amp;lt;action&amp;gt;.*)##(?&amp;lt;message&amp;gt;.*)" | fields - temp | table rownum id action message * | filldown * | eval activeids="" | foreach idnum* [| eval activeids=if('&amp;lt;&amp;lt;FIELD&amp;gt;&amp;gt;'=1,activeids.":"."&amp;lt;&amp;lt;MATCHSTR&amp;gt;&amp;gt;",activeids)] | eval activeids=replace(activeids,"^:","") | eval action=if(NOT match(message,"Adding") AND NOT match(message,"Remove"),"",action) | table activeids id action message
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 19 Apr 2018 21:36:13 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349906#M103583</guid>
      <dc:creator>somesoni2</dc:creator>
      <dc:date>2018-04-19T21:36:13Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349907#M103584</link>
      <description>&lt;P&gt;Thank you @vbumgarner, for the fake data generator.  I approached it COMPLETELY differently than @somesoni2 because I try to preserve my events and work with them, but his answer clearly works.  I probably would not have even tried if you hadn't clarified the whole matter; I wish all OPs were as thorough as you!  This was a VERY fun and interesting challenge!  Try this (it should scale very nicely):&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| gentimes start=-1 
| eval r="message=No_id_yet" 
| eval r=mvappend(r,"id=1 action=add message=Adding_this_id") 
| eval r=mvappend(r,"id=2 action=add message=Adding_this_other_id") 
| eval r=mvappend(r,"message=Im_a_different_message") 
| eval r=mvappend(r,"id=1 action=destroy message=Remove_this_thing") 
| eval r=mvappend(r,"message=Im_yet_a_different_message") 
| eval r=mvappend(r,"id=2 action=destroy message=Remove_this_other_thing") 
| eval r=mvappend(r,"message=And_Im_yet_a_different_message") 
| mvexpand r 
| rename r as _raw 
| extract 
| table id action message

| rename COMMENT AS "Everything above generates sample data; everything below is your solution"

| eval {action}=id
| streamstats values(add) AS add values(destroy) AS destroy
| nomv add
| rex field=add, mode=sed "s/[\r\n\s]+/,/g s/^/,/ s/$/,/"
| nomv destroy
| rex field=destroy, mode=sed "s/[\r\n\s]+/|/g s/^/,(?:/ s/$/)(?=,)/"
| eval activeids=split(if(coalesce(len(destroy),0)==0, add, replace(add, destroy, ",")), ",")
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;P.S.  This would make a GREAT SmartAnSwerS post!&lt;/P&gt;</description>
      <pubDate>Fri, 20 Apr 2018 03:54:49 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349907#M103584</guid>
      <dc:creator>woodcock</dc:creator>
      <dc:date>2018-04-20T03:54:49Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349908#M103585</link>
      <description>&lt;P&gt;@vbumgarner, logging another approach different from @somesoni2 and @woodcock. Based on the pattern of data seems like the behavior of push and pop for your data is a &lt;CODE&gt;queue&lt;/CODE&gt; implementation i.e the data that comes in first goes out first. &lt;/P&gt;

&lt;P&gt;In my solution approach I have tried to maintain recursive list ids to be added and ids to be destroyed (with a filldown). With nomv lists are converted into single value patterns to replaced destroy list in add list to get the final list.&lt;/P&gt;

&lt;P&gt;PS: I have added some additional data to cover add/delete sequences.&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;| makeresults
| eval r="message=No_id_yet" 
| eval r=mvappend(r,"id=1 action=add message=Adding_this_id") 
| eval r=mvappend(r,"id=2 action=add message=Adding_this_other_id") 
| eval r=mvappend(r,"id=3 action=add message=Adding_this_other_id") 
| eval r=mvappend(r,"message=Im_a_different_message") 
| eval r=mvappend(r,"id=1 action=destroy message=Remove_this_thing") 
| eval r=mvappend(r,"message=Im_yet_a_different_message") 
| eval r=mvappend(r,"id=2 action=destroy message=Remove_this_other_thing") 
| eval r=mvappend(r,"message=And_Im_yet_a_different_message") 
| eval r=mvappend(r,"id=4 action=add message=Adding_this_other_id")
| eval r=mvappend(r,"message=Im_yet_a_different_message")
| eval r=mvappend(r,"id=3 action=destroy message=Remove_this_other_thing") 
| eval r=mvappend(r,"id=5 action=add message=Adding_this_other_id")
| eval r=mvappend(r,"id=6 action=add message=Adding_this_other_id")
| eval r=mvappend(r,"id=4 action=destroy message=Remove_this_other_thing") 
| eval r=mvappend(r,"id=5 action=destroy message=Remove_this_other_thing") 
| eval r=mvappend(r,"id=6 action=destroy message=Remove_this_other_thing") 
| mvexpand r 
| rename r as _raw 
| extract 
| table id action message

| search action="add" OR action="destroy"
| eval addList=case(action=="add",id), destroyList=case(action="destroy",id)
| streamstats values(addList) as addList values(destroyList) as destroyList by action 
| nomv addList
| nomv destroyList
| filldown addList destroyList
| fillnull value=0 destroyList
| eval finalList=replace(replace(replace(addList,destroyList,""),"^\s",""),"\s",";")
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Whether this works for you or not, I would like to seriously thank you for posting such a good brain-teaser. This should actually be listed as &lt;CODE&gt;Smart Questions&lt;/CODE&gt; &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Apr 2018 06:37:50 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349908#M103585</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2018-04-20T06:37:50Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349909#M103586</link>
      <description>&lt;P&gt;@woodcock, thanks for your answer... I learned something new today &lt;CODE&gt;| eval {action}=id&lt;/CODE&gt; ... wow!!! I did not know &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Apr 2018 06:58:15 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349909#M103586</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2018-04-20T06:58:15Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349910#M103587</link>
      <description>&lt;P&gt;Are you telling me that you knew that &lt;CODE&gt;replace&lt;/CODE&gt; will take RegEx from inside a field's value?  I have never met anyone who knew that and that is really the main key to my approach.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Apr 2018 14:48:33 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349910#M103587</guid>
      <dc:creator>woodcock</dc:creator>
      <dc:date>2018-04-20T14:48:33Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349911#M103588</link>
      <description>&lt;P&gt;No I did not know  that &lt;CODE&gt;| eval addList=case(action=="add",id), destroyList=case(action="destroy",id)&lt;/CODE&gt; can be done easily with &lt;CODE&gt;| eval {action}=id&lt;/CODE&gt;&lt;/P&gt;

&lt;P&gt;I do know about &lt;CODE&gt;replace()&lt;/CODE&gt; using RegEx, but I am sure I would not even know 10% of Tips and Tricks you have under your sleeves :). I am actually bad with &lt;CODE&gt;sed&lt;/CODE&gt; and try to escape the need for sed most of the time with &lt;CODE&gt;replace()&lt;/CODE&gt; instead.&lt;/P&gt;</description>
      <pubDate>Fri, 20 Apr 2018 15:21:35 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349911#M103588</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2018-04-20T15:21:35Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349912#M103589</link>
      <description>&lt;P&gt;Wow, I didn't know &lt;CODE&gt;| eval {action}=id&lt;/CODE&gt; either. That's golden!&lt;/P&gt;

&lt;P&gt;Okay, to throw another wrench into this... I can't count on remove or add not being called multiple times for the same id, nor that I won't encounter removes before adds. &lt;/P&gt;

&lt;P&gt;Add these two lines at line 3:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt; | eval r=mvappend(r,"id=2 action=destroy message=Remove_this_other_thing") 
 | eval r=mvappend(r,"id=2 action=destroy message=Remove_this_other_thing") 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 20 Apr 2018 17:17:13 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349912#M103589</guid>
      <dc:creator>vbumgarner</dc:creator>
      <dc:date>2018-04-20T17:17:13Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349913#M103590</link>
      <description>&lt;P&gt;@vbumgarner then do a &lt;CODE&gt;dedup&lt;/CODE&gt; on &lt;CODE&gt;id&lt;/CODE&gt; and &lt;CODE&gt;action&lt;/CODE&gt; after the table command:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;  | table id action message
  | dedup id action
  |  &amp;lt;remainingSearchAsSuggested&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 20 Apr 2018 17:26:14 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349913#M103590</guid>
      <dc:creator>niketn</dc:creator>
      <dc:date>2018-04-20T17:26:14Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349914#M103591</link>
      <description>&lt;P&gt;My solution should work with any combination of mis-sequencing or duplicates, so long as it is sorted in the order that the most up-to-date things are on top when the streamstats runs.  The only thing is that if you do a "destroy" before an "add", then the "add" will never work because once a "destroy" is encountered, it persists forever in my solution.&lt;/P&gt;</description>
      <pubDate>Sat, 21 Apr 2018 03:27:33 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349914#M103591</guid>
      <dc:creator>woodcock</dc:creator>
      <dc:date>2018-04-21T03:27:33Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349915#M103592</link>
      <description>&lt;P&gt;I got that tip both in conference sessions (10 little-used commands) and also in answers.  The best "I didn't know that!" moments always come from this forum.&lt;/P&gt;</description>
      <pubDate>Sat, 21 Apr 2018 03:29:22 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349915#M103592</guid>
      <dc:creator>woodcock</dc:creator>
      <dc:date>2018-04-21T03:29:22Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349916#M103593</link>
      <description>&lt;P&gt;Hi @vbumgarner&lt;/P&gt;

&lt;P&gt;My name is Anam and I am the Community Content Specialist for Splunk Answers. Please go ahead and accept the answer that worked for you. If it is a comment, let me know and I can convert it to an answer and accept it.&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 21:39:38 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349916#M103593</guid>
      <dc:creator>Anam</dc:creator>
      <dc:date>2018-06-20T21:39:38Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349917#M103594</link>
      <description>&lt;P&gt;Though these answers are all interesting and full of great tricks, they don't quite get to where I was headed. I ended up writing some python to accomplish what is needed -- adding and removing values from a streaming set based on other field values.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jun 2018 00:38:51 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349917#M103594</guid>
      <dc:creator>vbumgarner</dc:creator>
      <dc:date>2018-06-28T00:38:51Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349918#M103595</link>
      <description>&lt;P&gt;That sounds great! Can you share what your solution was so other community members can benefit from it?&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jun 2018 17:54:37 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349918#M103595</guid>
      <dc:creator>Anam</dc:creator>
      <dc:date>2018-06-28T17:54:37Z</dc:date>
    </item>
    <item>
      <title>Re: Using streamstats to track currently active values</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349919#M103596</link>
      <description>&lt;P&gt;OK, @vbumgarner, time to &lt;CODE&gt;Accept&lt;/CODE&gt; the best one of these fine answers.&lt;/P&gt;</description>
      <pubDate>Sat, 30 Jun 2018 18:23:20 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Using-streamstats-to-track-currently-active-values/m-p/349919#M103596</guid>
      <dc:creator>woodcock</dc:creator>
      <dc:date>2018-06-30T18:23:20Z</dc:date>
    </item>
  </channel>
</rss>

