Antithesis logomark
DOCS

Logs Explorer search

The Logs Explorer comes with powerful search capabilities, including regular expressions, temporal search and logical conditions. As well as general search, it provides special search options for assertion, fault injector and test command logs.

This reference page summarizes the options available.

Search fields

You can search the following fields.

General fields

These fields are available for all events.

output_text

The normal text output of an executable or script. Often from stdout or stderr streams.

Example: "An error occurred."

Operators: contains, excludes, regex, excludes regex

source

The human-readable name of the system or process that emitted the event.

Example: "kafka"

Operators: contains, excludes, regex, excludes regex

vtime

The time in seconds that passed within the simulation up to the event.

Example: 5.345623644

Operators: =, >, , <,

moment

A stringified JavaScript object representing an exact Moment. Contains an input_hash, vtime, and session_id.

Example: Moment.from({ input_hash: "8145871537511053238", vtime: 14.287596361711621, session_id: "adcdef1234567890dba63952203b5b5c-12-3"})

custom

A JSON field from a structured event, usually defined via the Antithesis SDK. Use dot notation to navigate nested fields (for example, a.b.c refers to {"a": {"b": {"c": ...}}}).

Example: source.pid

Operators: contains, excludes, exact match, doesn't match, regex, excludes regex, is present, is not present, =, , >, , <,

Assertion fields

These fields provide special search capabilities for assertion log messages, including the type of assertion and whether it is passing or failing.

message

The name of the assertion. Often a human-readable description of the property being tested.

Example: Client put requests can fail

Operators: contains, excludes, regex, excludes regex

type

The type of assertion.

Preset options: Always, Always Or Unreachable, Sometimes, Unreachable, Reachable

status

Whether the assertion is currently passing or failing its test condition.

Preset options: passing, failing

function

The function in which the assertion is called.

Example: example_function

Operators: contains, excludes, regex, excludes regex

file

The file in which the assertion is called.

Example: /opt/antithesis/test/v1/main/parallel_driver_example_file.py

Operators: contains, excludes, regex, excludes regex


Test command fields

These fields provide special search capabilities for test command logs.

command

The full name of the executable, including its file path.

Example: /opt/antithesis/test/v1/main/parallel_driver_generate_traffic.py

Operators: contains, excludes, regex, excludes regex

type

The command type, which dictates how and when a command runs.

Preset options: singleton, anytime, parallel, serial, first, eventually, finally

status

Whether a command has started or finished.

Preset options: started, finished successfully, finished with error


Fault injector fields

These fields provide special search capabilities for fault injector logs, including searching for the type of fault and the nodes affected.

fault

The fault type and name.

Preset options: any network fault, network partition, network clog, network restore, any node fault, node kill, node stop, node pause, node throttle, clock skip

affected_nodes

The containers or pods affected by a given fault. Use [ALL] to select all nodes.

Examples:

  • client1

Operators: contains, excludes, regex, excludes regex

quiet

Whether the fault injector is currently paused (true) or active (false).

Preset options: true, false

duration

The maximum duration in seconds that a given fault could execute.

Example: 2.5

Operators: =, >, , <,

Operators

The Logs Explorer search uses the following operators. The specific operators available depend on the field type.

OperatorDescription
containsField contains the given substring.
excludesField does not contain the given substring.
exact matchMatches exactly.
doesn't matchDoes not match.
regexCase-sensitive regular expression match within the field.
excludes regexNegated case-sensitive regular expression match.
is presentThe field exists on the event.
is not presentThe field does not exist on the event.
=Equal to.
Not equal to.
>Greater than.
Greater than or equal to.
<Less than.
Less than or equal to.

To find events within a time interval of a given event, use the optional Preceded by or Followed by groups.

OptionDescription
Preceded byFind events where the given event is preceded by a matching event within the look-back window.
Not preceded byFind events where the given event is not preceded by a matching event.
Followed byFind events where the given event is followed by a matching event within the look-forward window.
Not followed byFind events where the given event is not followed by a matching event.

The time window is specified in seconds. Each group supports its own independent set of filter conditions.

To search for logical relationships between events, use the AND and OR conditions.

Conditions within a group are joined with OR — an event matches if it satisfies any one of them. Groups themselves are joined with AND — an event must satisfy at least one condition in every group.

Use the + AND button to add a new group and the + OR button to add an alternative condition within a group.

Type coercions

Search performs some convenient type coercions to assist with event matching:

  • false matches 0 and vice versa; same for true and 1.
  • Numbers are standardized: 17.0 matches 17, -.50 matches -0.5, etc.
  • Events missing the field being searched will be ignored, even when using negative operators, like not contains.