Splunk Search

Do we need to use a subsearch to divide the results of one search by the results of another search to find a percentage?

splunker9999
Path Finder

Hi,

We are looking for timeout percentage from the total events.

For Ex:
1. Query1: index=datapower Time=*|stats count

2. Query2: index=datapower Time>10000|stats count

Now we are looking for results as Query1/Query2. Do we need to do this with subsearch? Can anyone help with this?

Thanks

0 Karma
1 Solution

somesoni2
Revered Legend

Try something like this

index=datapower Time=* | stats count as Query1 count(eval(Time>10000)) as Query2 | eval Result=Query1/Query2

OR

index=datapower Time=* | eval Query2=if(Time>10000,1,0) | stats count as Query1 csum(Query2) as Query2 | eval Result=Query1/Query2

View solution in original post

jrodman
Splunk Employee
Splunk Employee

The strict answer to your question is yes, you need two searches for the general case, whether subsearches, or other methods like reusing the output of one search as input in another.

However the usual answer is to craft a search that doesn't need to handle the general case, and thus this is a comment since +somesoni2 has addressed the inquiry.

0 Karma

somesoni2
Revered Legend

Try something like this

index=datapower Time=* | stats count as Query1 count(eval(Time>10000)) as Query2 | eval Result=Query1/Query2

OR

index=datapower Time=* | eval Query2=if(Time>10000,1,0) | stats count as Query1 csum(Query2) as Query2 | eval Result=Query1/Query2
Get Updates on the Splunk Community!

ICYMI - Check out the latest releases of Splunk Edge Processor

Splunk is pleased to announce the latest enhancements to Splunk Edge Processor.  HEC Receiver authorization ...

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...