All Apps and Add-ons
Highlighted

Multiple inline drilldown

Path Finder

I wonder if it is possible to perform more than one inline drilldown.

Here is what I would like to do:

  1. run a query A listing the top x error codes during a selected time frame, e.g. 10 minutes
  2. display the results in a table A
  3. when a table A row is clicked run a query B against an error code - bug ticket lookup table (there can be multiple tickets for a given error code)
  4. display the results in a second table B
  5. when clicking on a row in table B perform some action using the data of that row, e.g. show details, run another search ...

I have been using the Table - inline drilldown from the Sideview utils (3.2.6) as starting point.
I understand how to pass data from the clicked row of table A to narrow search B.
However, I struggle to see how step 5. could be made to work given the $row.fields.xxxx$ mechanism of passing data.

Highlighted

Re: Multiple inline drilldown

SplunkTrust
SplunkTrust

It should work same as step 3. The query C code should be nested within table B and pass the value from table B to query C using $row.fields.XXX$.

0 Karma
Highlighted

Re: Multiple inline drilldown

SplunkTrust
SplunkTrust

When you have more than one layer of inline drilldown going on, and you need somewhere in there to refer to more than one layer's worth of tokens, you sometimes have to change the "name" param of Table away from its default of "row". This param determines the "row" in $row.searchTerms$ and $row.fields.someFieldName$, so by changing the prefix on different drilldown layers you can avoid collisions.

<module name="Search">
  <param name="search">  (Query A)</param>

  <!--  this table will render the error codes. -->
  <module name="Pager"> 
    <module name="Table">

      <module name="Search">
        <param name="search">| inputlookup errorCodeToBugTicket | search errorCode="$row.fields.errorCode$"</param>

        <!--  this table will render the bug tickets for the error code the user clicked. -->
        <module name="Pager">
          <module name="Table">
            <param name="name">bugTicketRow</param>

            <module name="Search">
              <param name="search">SOME SEARCH TO SHOW DETAILS INCORPORATING BOTH $row.fields.errorCode$ and $bugTicketRow.fields.ticketId$</param>

              <module name="HTML">
                <param name="html"><![CDATA[
                  <h3>Details for $bugTicketRow.fields.ticketId$ and $row.fields.errorCode$ $search.timeRange.label$</h3>
                ]]></param>
              </module>

              <!--  this table will show whatever details around the search that incorporates both layers of drilldown tokens.. -->
              <module name="Pager">
                <module name="Table" />
              </module>
            </module>
          </module>
        </module>            
      </module>
    </module>      
  </module>
</module>

View solution in original post

0 Karma
Highlighted

Re: Multiple inline drilldown

Path Finder

Excellent, specifying the prefix to avoid collisions was precisely what I was missing. Thanks a lot.

0 Karma