Logical operators

Logical operators combine conditions within a spanset filter. All conditions apply to the same span; matching across different spans of a trace (structural operators) is not supported on Kloudfuse.

And (&&)

Combines conditions so that a span matches only when every condition holds. This is the workhorse for narrowing a search: service plus operation, service plus latency, and so on.

Syntax

{ <condition> && <condition> }
none

Parameters

Parameter Required Description

<condition>

Required

Any attribute or intrinsic comparison.

Example

Find the Python demo service’s outbound client spans.

{.service_name = "demo-python-service" && kind = client}
Expected output
Root service Root span Duration

demo-python-service

database

50 ms

demo-python-service

database

50 ms

demo-python-service

database

50 ms

Both conditions are evaluated against the same span. Cross-span (structural) matching is not supported: TraceQL.

Or (||)

Combines conditions so that a span matches when any condition holds. Parenthesize when mixing && and || to make precedence explicit.

Syntax

{ <condition> || <condition> }
none

Parameters

Parameter Required Description

<condition>

Required

Any attribute or intrinsic comparison.

Example

Find spans for either of the demo operations.

{name = "database" || name = "user"}
Expected output
Root service Root span Duration

demo-java-service

database

50 ms

demo-go-service

database

50 ms

demo-python-service

database

51 ms