Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Forgive me father, for I have sinned.
Please ignore what people would call the "parser" implementation.
Having something working was my first priority. Alongside the desire to write an actual tokenizer/parser for the dsl, the realization that very few will want to learn a new dsl also grew. And those that will take the time to understand it and its warts, most people will have forgotten about it by the time they have a problem and start
console
to debug.The DSL is very contained and doesn't have fancy features which would require a custom parser, yet it already verbose and has warts. My plan is to replace the query creation with an interactive menu system, allowing navigation with arrow keys, keyboard shortcuts and visual hints, allowing intuitive use, even for unskilled users.
Nevertheless, it's working and imo a milestone, showcasing the power of tracing we're starting to unleash!
Examples
You can

group_by
by field values:event.group_by.field.yak
Example query:
event.group_by.span.id
You can also select a parent span by
event.group_by.span.parent_by_name("parentspanname").id
.Filtering via span fields is also supported:
event.group_by.span.field.<fieldname>
Closes #31