<?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: Getting transaction without using transaction command in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160210#M45271</link>
    <description>&lt;P&gt;I am trying to get the duration (time between start and stop) for each userid and each transaction. After what, I want to get the count of transaction, min, avg, max of transaction duration for each userid. Probably I will add another search to filter something like where max&amp;gt;100sec or so.&lt;/P&gt;</description>
    <pubDate>Tue, 13 May 2014 05:35:55 GMT</pubDate>
    <dc:creator>melonman</dc:creator>
    <dc:date>2014-05-13T05:35:55Z</dc:date>
    <item>
      <title>Getting transaction without using transaction command</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160205#M45266</link>
      <description>&lt;P&gt;Hi &lt;/P&gt;

&lt;P&gt;I am using Hunk and I am looking for a way to get transaction (grouping events by userid with start transaction and stop transaction event).&lt;/P&gt;

&lt;P&gt;For example, I have events something like this:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;2014/05/01 00:00:01 userid=u01 action=start
2014/05/01 00:00:02 userid=u02 action=start
2014/05/01 00:00:03 userid=u01 action=stop
2014/05/01 00:00:04 userid=u03 action=start
2014/05/01 00:00:05 userid=u03 action=stop
2014/05/01 00:00:06 userid=u01 action=start
2014/05/01 00:00:07 userid=u01 action=stop
2014/05/01 00:00:08 userid=u02 action=stop
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Search result with transaction command is :&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;index=main sourcetype=transtest
| transaction userid startswith=action=start endswith=action=stop
| table _time userid duration'

           _time            userid duration
--------------------------- ------ --------
2014-05-01 00:00:06.000 JST u01           1
2014-05-01 00:00:04.000 JST u03           1
2014-05-01 00:00:02.000 JST u02           6
2014-05-01 00:00:01.000 JST u01           2
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;My try without transaction command is like this : &lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;index=main sourcetype=transtest
| stats min(_time) as _time max(_time) as max by userid
| eval duration = max - _time
| table _time userid duration

           _time            userid duration
--------------------------- ------ --------
2014-05-01 00:00:01.000 JST u01           6
2014-05-01 00:00:02.000 JST u02           6
2014-05-01 00:00:04.000 JST u03           1
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I want to get the result I get from transaction command, but I can not use transaction command because of the limitation of Hunk.&lt;/P&gt;

&lt;P&gt;Is there any way to get transaction information without using transaction command?&lt;/P&gt;

&lt;P&gt;Any commend would be appreciated.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 07:47:21 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160205#M45266</guid>
      <dc:creator>melonman</dc:creator>
      <dc:date>2014-05-12T07:47:21Z</dc:date>
    </item>
    <item>
      <title>Re: Getting transaction without using transaction command</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160206#M45267</link>
      <description>&lt;P&gt;Hi melonman,&lt;/P&gt;

&lt;P&gt;this is because the &lt;CODE&gt;stats&lt;/CODE&gt; result for &lt;CODE&gt;u01&lt;/CODE&gt; looks like this:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;2014/05/01 00:00:01 userid=u01 action=start
2014/05/01 00:00:03 userid=u01 action=stop
2014/05/01 00:00:06 userid=u01 action=start
2014/05/01 00:00:07 userid=u01 action=stop
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;and using min and max on this will result in min=00:00:01 max=00:00:07, therefore you will get a duration of 6.&lt;/P&gt;

&lt;P&gt;based on the provided example data and using &lt;CODE&gt;streamstats&lt;/CODE&gt; I can get what you want:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;the base search to get the events | streamstats current=f last(userid) AS last_userid last(action) AS last_action last(_time) as last_time by userid | eval duration=last_time - _time  | where last_action="stop" AND action="start" | table _time userid duration
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;the result will look like this:&lt;BR /&gt;
&lt;IMG src="http://answers.splunk.com//storage/Bildschirmfoto_vom_2014-05-12_10:39:17.png" alt="alt text" /&gt;&lt;/P&gt;

&lt;P&gt;Hope this helps ...&lt;/P&gt;

&lt;P&gt;cheers, MuS&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 08:11:02 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160206#M45267</guid>
      <dc:creator>MuS</dc:creator>
      <dc:date>2014-05-12T08:11:02Z</dc:date>
    </item>
    <item>
      <title>Re: Getting transaction without using transaction command</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160207#M45268</link>
      <description>&lt;P&gt;Thank you very much for your great thought. &lt;BR /&gt;
However, streamstats does not guarantee ddescending time order of events : &lt;/P&gt;

&lt;P&gt;&lt;A href="http://docs.splunk.com/Documentation/Hunk/6.1/Hunk/Searchavirtualindex"&gt;http://docs.splunk.com/Documentation/Hunk/6.1/Hunk/Searchavirtualindex&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Ummm...&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 10:32:33 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160207#M45268</guid>
      <dc:creator>melonman</dc:creator>
      <dc:date>2014-05-12T10:32:33Z</dc:date>
    </item>
    <item>
      <title>Re: Getting transaction without using transaction command</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160208#M45269</link>
      <description>&lt;P&gt;&lt;I&gt;dammit&lt;/I&gt;.... &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2014 10:54:10 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160208#M45269</guid>
      <dc:creator>MuS</dc:creator>
      <dc:date>2014-05-12T10:54:10Z</dc:date>
    </item>
    <item>
      <title>Re: Getting transaction without using transaction command</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160209#M45270</link>
      <description>&lt;P&gt;Melonman, what exactly are you trying to get out of the data? Maybe we can find a way to get it without using transactions command&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 05:28:51 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160209#M45270</guid>
      <dc:creator>Ledion_Bitincka</dc:creator>
      <dc:date>2014-05-13T05:28:51Z</dc:date>
    </item>
    <item>
      <title>Re: Getting transaction without using transaction command</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160210#M45271</link>
      <description>&lt;P&gt;I am trying to get the duration (time between start and stop) for each userid and each transaction. After what, I want to get the count of transaction, min, avg, max of transaction duration for each userid. Probably I will add another search to filter something like where max&amp;gt;100sec or so.&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 05:35:55 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160210#M45271</guid>
      <dc:creator>melonman</dc:creator>
      <dc:date>2014-05-13T05:35:55Z</dc:date>
    </item>
    <item>
      <title>Re: Getting transaction without using transaction command</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160211#M45272</link>
      <description>&lt;P&gt;Hmmm, since events are not guaranteed to be processed in any particular order and you absolutely need order to match the most recent start with the correct stop event (to compute the duration) there's no way around this without transaction. You can force the ordering of the events before transaction, eg. "search .... | sort - _time | transaction ...."&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2014 05:43:58 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Getting-transaction-without-using-transaction-command/m-p/160211#M45272</guid>
      <dc:creator>Ledion_Bitincka</dc:creator>
      <dc:date>2014-05-13T05:43:58Z</dc:date>
    </item>
  </channel>
</rss>

