quiclog / qvis

QUIC and HTTP/3 visualization tools
https://qvis.edm.uhasselt.be
MIT License
176 stars 23 forks source link

Add a (simple) query language / CLI interface #50

Open rmarx opened 3 years ago

rmarx commented 3 years ago

One of the advantages of qlog/JSON is that it's human-readable while still being computer-processable.

However, qvis currently doesn't really expose that power dynamic well. Many people have turned to jq for manually processing qlogs with custom queries, but that can be cumbersome in practice, and doesn't integrate with visualizations.

@mpiraux did a few simple tools that allow you to select individual fields for plotting in e.g., linecharts to kind of get the best of both worlds.

Others have suggested a full CLI interface that e.g., wraps jq (or https://github.com/kantord/emuto) with some high-level, qlog specific queries would be interesting.

Ideally, we would have something akin to SQL for querying qlogs, and provide both a CLI-tool for this (that outputs partial qlog for example) and an integration into qvis for (basic) visualization/exploration.

This could then also help with filtering in the sequence diagram for example, see #36

rmarx commented 3 years ago

@lpardue mentioned some use cases:

List all streams where the sum total of STREAM data was (<, =, >, etc) some value.

when "URL is /1MB.zip, and (response code is not 200 or payload data transferred is not 1 MB)

One high-level inspiration could be KQL https://www.elastic.co/guide/en/kibana/master/kuery-query.html