-
Notifications
You must be signed in to change notification settings - Fork 530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TraceQL: Support Parent and Ancestor structural operators #2670
Comments
To clarify the example...
This will match the same set of traces as
But the span set for those matched traces would be different? In the first case, the span set would be spans with |
Yes. In all structural operator cases we are returning spans from the RHS only for consistency. Your example is correct. |
I am working on this, please let me know if anyone else has picked it up. |
* Add tracql support for ancestor and parent operator #2670 * Add ast evaluation logic * Add changelog entry * Add doc entry * Fix ancestor condition extraction * Add column lookups based on ancestor and parent field * Remove ancestor and parent intrinsic fields * Fix doc * Remove comment change
Currently TraceQL supports descendant
>>
and child>
operators. These operators are evaluated on two spansets and return the spans from the right hand side. i.e.{ span.http.target = "/customers" } >> { status = error }
returns spans with the error status below thespan.http.target
endpoint.However, it might be useful to find all
/customer
spans that have errors somewhere beneath them. This is not possible with the current operators but could be acheived using something like:{ status = error } << { span.http.target = "/customers" }
By reversing the operator we keep the behavior that structural operators always return spans from the right hand side. We also retain the meaning of the direction of the arrow and count of arrows.
Ancestor:
Parent
The text was updated successfully, but these errors were encountered: