Trace Filtering

Trace Filtering

Now let's move on with the search filtering capabilities!

Filtering by Fields

We can filter out specific nodes/logs using their associated fields as follows: {fieldName}={value}. Typing this into the search bar will filter out all nodes/logs that have the fieldName set to value.

More explanation with an example

  • For example, isEntry=true will highlight all logs that have a field of isEntry with a value of true.
  • We can also combine filters using logical operators like &&, ||, and ^. For instance, typing action=DequeueEvent && state=WaitForPrepareResponses will search for logs with the action DequeueEvent and the machine in the state WaitForPrepareResponses.

Demo Video: How to filter a trace by fields?

Filtering by Text

In addition to filtering by nodes, we can also filter out nodes and fields by text. This method of filtering will highlight any logs/nodes containing the text, or any of the log/node's field values that contain the text.

More explanation with an example

  • For example, typing true in the search bar will highlight logs/nodes that either contain the word true or have fields containing the text true.

Demo Video: How to filter a trace by text?

If the text you are trying to filter by contains any nonalphanumeric characters (i.e., any characters that aren't letters or numbers), you must surround the text with double quotes in order to filter.

More explanation with an example

  • For example, if we want to filter by the text status=0 and avoid treating it as a fields filter looking for logs/nodes with the status field equal to 0, we need to surround it with double quotes like the following. Typing "status=0" in the search bar (with the double quotes!) will search for logs that contain the text status=0, or where the log's fields contain the text status=0.

Demo Video: How to filter a trace that contains nonalphanumeric characters?