tokio-rs / console-gsoc

Google Summer of Code tokio-console prototype
MIT License
12 stars 2 forks source link

Group by #38

Open matprec opened 5 years ago

matprec commented 5 years ago

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 grafik

Example query: event.group_by.span.id

grafik

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