feat(frontend): add sort by execution time with nulls last#5890
feat(frontend): add sort by execution time with nulls last#5890roshiiiz wants to merge 7 commits into
Conversation
|
👋 Thanks for your first contribution to Texera, @roshiiiz! If you're looking for a good place to start, browse issues labeled You can drive common housekeeping yourself by commenting one of these commands on its own line:
Each command must match exactly: |
Automated Reviewer SuggestionsBased on the
|
|
/request-review @xuang7 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5890 +/- ##
============================================
- Coverage 54.42% 53.92% -0.50%
+ Complexity 2896 2753 -143
============================================
Files 1107 1103 -4
Lines 42768 42638 -130
Branches 4599 4588 -11
============================================
- Hits 23277 22994 -283
- Misses 18134 18313 +179
+ Partials 1357 1331 -26
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
| config | throughput | MB/s | latency | max Δ latest / 7d | |
|---|---|---|---|---|---|
| 🔴 | bs=10 sw=10 sl=64 | 366 | 0.223 | 24,593/44,440/44,440 us | 🔴 +7.7% / 🔴 +27.0% |
| 🔴 | bs=100 sw=10 sl=64 | 775 | 0.473 | 131,227/147,240/147,240 us | 🟢 -11.1% / 🔴 +16.9% |
| ⚪ | bs=1000 sw=10 sl=64 | 925 | 0.565 | 1,081,746/1,145,592/1,145,592 us | ⚪ within ±5% / 🔴 +12.0% |
Baseline details
Latest main a0154d5 from same runner
| config | metric | PR | latest main | 7d avg | Δ latest | Δ 7d |
|---|---|---|---|---|---|---|
| bs=10 sw=10 sl=64 | throughput | 366 tuples/sec | 374 tuples/sec | 410.82 tuples/sec | -2.1% | -10.9% |
| bs=10 sw=10 sl=64 | MB/s | 0.223 MB/s | 0.228 MB/s | 0.251 MB/s | -2.2% | -11.1% |
| bs=10 sw=10 sl=64 | p50 | 24,593 us | 22,830 us | 23,785 us | +7.7% | +3.4% |
| bs=10 sw=10 sl=64 | p95 | 44,440 us | 43,011 us | 34,980 us | +3.3% | +27.0% |
| bs=10 sw=10 sl=64 | p99 | 44,440 us | 43,011 us | 34,980 us | +3.3% | +27.0% |
| bs=100 sw=10 sl=64 | throughput | 775 tuples/sec | 809 tuples/sec | 891.94 tuples/sec | -4.2% | -13.1% |
| bs=100 sw=10 sl=64 | MB/s | 0.473 MB/s | 0.494 MB/s | 0.544 MB/s | -4.3% | -13.1% |
| bs=100 sw=10 sl=64 | p50 | 131,227 us | 119,611 us | 112,277 us | +9.7% | +16.9% |
| bs=100 sw=10 sl=64 | p95 | 147,240 us | 165,671 us | 139,802 us | -11.1% | +5.3% |
| bs=100 sw=10 sl=64 | p99 | 147,240 us | 165,671 us | 139,802 us | -11.1% | +5.3% |
| bs=1000 sw=10 sl=64 | throughput | 925 tuples/sec | 921 tuples/sec | 1,041 tuples/sec | +0.4% | -11.1% |
| bs=1000 sw=10 sl=64 | MB/s | 0.565 MB/s | 0.562 MB/s | 0.635 MB/s | +0.5% | -11.1% |
| bs=1000 sw=10 sl=64 | p50 | 1,081,746 us | 1,085,044 us | 972,714 us | -0.3% | +11.2% |
| bs=1000 sw=10 sl=64 | p95 | 1,145,592 us | 1,128,883 us | 1,023,057 us | +1.5% | +12.0% |
| bs=1000 sw=10 sl=64 | p99 | 1,145,592 us | 1,128,883 us | 1,023,057 us | +1.5% | +12.0% |
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,547.18,200,128000,366,0.223,24593.08,44440.10,44440.10
1,100,10,64,20,2581.97,2000,1280000,775,0.473,131227.23,147240.11,147240.11
2,1000,10,64,20,21617.33,20000,12800000,925,0.565,1081746.47,1145592.12,1145592.12
xuang7
left a comment
There was a problem hiding this comment.
Thanks for the PR! Overall, this looks good to me and tested locally. One small thing: frontend/junit.xml seems to have been accidentally committed. Could you remove it? Also, we can consider adjusting the order of the sort options. This option might fit better with the other "By ..." options instead of being placed after all the other options.
|
@xuang7
|
What changes were proposed in this PR?
This PR adds the ability to sort workflows by "Execution Time" on the main Dashboard, and ensures that workflows which have never been executed (where execution time is
null) are pushed to the bottom of the list rather than awkwardly floating at the top.Changes made:
sort-method.ts,sort-button.component).UnifiedResourceSchema.scalain the backend to includeresourceExecutionTimeField.DashboardResource.scalaandWorkflowSearchQueryBuilder.scalato handle the new sort condition, specifically appending.nullsLast()so that un-executed workflows drop to the bottom of the list.Any related issues, documentation, discussions?
Issue#3406
How was this PR tested?
Tested manually in a local development environment:
sbt.Was this PR authored or co-authored using generative AI tooling?
Generated-by: Antigravity (DeepMind)