oxidecomputer / oxidecomputer/omicron
OxQL: support using 'group_by' with N-dimensional tables
Open
Nobody has claimed this yet.
customer
enhancement
Metrics
oxql
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
Currently the group_by operator in OxQL requires that the table schema be one-dimensional. For queries that span multiple similar tables, e.g. virtual_disk:failed_reads, virtual_disk:failed_writes, being able to group the results would be convenient.
Example query:
{
get virtual_disk:failed_reads;
get virtual_disk:failed_writes;
get virtual_disk:failed_flushes
}
| filter timestamp > @now() - 1d
| align mean_within(5m)
| join
| group_by [attached_instance_id]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in oximeter/db/src/oxql/plan/group_by.rs, especially the schema dimensionality check linked in the issue, and trace how group_by handles joined results. Run the example OxQL query to reproduce the limitation; done means grouping works for the shown N-dimensional tables after join.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100