Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
93e79c3
add benchmarks website v3 design overview and plan
connortsui20 Apr 25, 2026
0dd2c63
[claude] feat(bench): add `--gh-json-v3` emitter and post-ingest scri…
connortsui20 Apr 26, 2026
84a80e8
[claude] benchmarks-website-v3: alpha server (axum + maud + duckdb) (…
connortsui20 Apr 26, 2026
18f4f8e
fix planning docs
connortsui20 Apr 26, 2026
8a0f617
ci(benchmarks): wire v3 ingest dual-write into bench/sql workflows
connortsui20 Apr 26, 2026
7bc9f34
[claude] benchmarks-website-v3: web UI (landing + chart pages) (#7641)
connortsui20 Apr 26, 2026
6988266
[claude] fix(benchmarks-server): include commit_sha in measurement_id…
connortsui20 Apr 26, 2026
d1b44f8
add duckdb to gitignore
connortsui20 Apr 26, 2026
f4a9bf5
[claude] Add vortex-bench-server v3 deployment infrastructure (#7644)
connortsui20 Apr 26, 2026
7ba792d
Benchmarks v3 migration to duckdb (#7646)
connortsui20 Apr 27, 2026
ccc5919
add .bench-env to gitignore
connortsui20 Apr 27, 2026
d21f57f
[claude] chore(benchmarks-migrate): post-alpha cleanup nits (#7671)
connortsui20 Apr 27, 2026
d36cab4
[claude] feat(benchmarks-website): historical comparison UX + mobile …
connortsui20 Apr 27, 2026
f05a9c0
feat(benchmarks-website): inline-charts landing + dynamic toolbar
claude Apr 27, 2026
f4660d1
feat(benchmarks-website): per-chart UX rebuild — zoom-as-scope, colla…
claude Apr 28, 2026
e80b991
fix CI lints
connortsui20 Apr 28, 2026
a8044c8
docs(benchmarks-website): restore distinct README.md content
claude Apr 28, 2026
ec0243a
improve ui and style
connortsui20 Apr 28, 2026
264d39d
add light mode and fix style to be similar to v2
connortsui20 Apr 28, 2026
5c1ee8f
docs(benchmarks-website): refresh planning docs to match current code
claude Apr 29, 2026
3afa43a
fix(benchmarks-website/migrate): recover 2-part legacy random-access …
claude Apr 29, 2026
ce77566
fix migration skips
connortsui20 Apr 29, 2026
ed968dc
benchmarks-website: sort tooltip rows, hide URL, click point opens PR
claude Apr 29, 2026
1cd7166
feat(benchmarks-website): per-chart range scrollbar strip
claude Apr 29, 2026
05af25f
feat(benchmarks-website): global engine/format filter bar
claude Apr 29, 2026
7113963
UI refactors of benchmarks v3 (#7723)
connortsui20 Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
VORTEX_EXPERIMENTAL_PATCHED_ARRAY: "1"
FLAT_LAYOUT_INLINE_ARRAY_NODE: "1"
run: |
bash scripts/bench-taskset.sh target/release_debug/${{ matrix.benchmark.id }} --formats ${{ matrix.benchmark.formats }} -d gh-json -o results.json
bash scripts/bench-taskset.sh target/release_debug/${{ matrix.benchmark.id }} --formats ${{ matrix.benchmark.formats }} -d gh-json -o results.json --gh-json-v3 results.v3.jsonl

- name: Setup AWS CLI
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37 # v6
Expand All @@ -105,6 +105,19 @@ jobs:
run: |
bash scripts/cat-s3.sh vortex-ci-benchmark-results data.json.gz results.json

- name: Ingest results to v3 server
if: vars.V3_INGEST_URL != ''
continue-on-error: true
shell: bash
env:
INGEST_BEARER_TOKEN: ${{ secrets.INGEST_BEARER_TOKEN }}
run: |
python3 scripts/post-ingest.py results.v3.jsonl \
--server "${{ vars.V3_INGEST_URL }}" \
--commit-sha "${{ github.sha }}" \
--benchmark-id "${{ matrix.benchmark.id }}" \
--repo-url "${{ github.server_url }}/${{ github.repository }}"

- name: Alert incident.io
if: failure()
uses: ./.github/actions/alert-incident-io
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,8 @@ jobs:
if: matrix.os == 'windows-x64'
run: |
cargo nextest run --cargo-profile ci --locked --workspace --all-features --no-fail-fast `
--exclude vortex-bench --exclude vortex-python --exclude vortex-duckdb `
--exclude vortex-bench --exclude vortex-bench-server `
--exclude vortex-python --exclude vortex-duckdb `
--exclude vortex-fuzz --exclude vortex-cuda --exclude vortex-nvcomp `
--exclude vortex-cub --exclude vortex-test-e2e-cuda --exclude duckdb-bench `
--exclude lance-bench --exclude datafusion-bench --exclude random-access-bench `
Expand Down
46 changes: 46 additions & 0 deletions .github/workflows/publish-bench-server.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Publish Bench Server

on:
push:
branches: [develop]
paths:
- "benchmarks-website/server/**"
- "vortex-bench/**"
- "Cargo.lock"
- ".github/workflows/publish-bench-server.yml"
workflow_dispatch: { }

jobs:
publish:
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
packages: write
id-token: write
steps:
- uses: actions/checkout@v6

- name: Log in to GHCR
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up QEMU
uses: docker/setup-qemu-action@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4

- name: Build and push
uses: docker/build-push-action@v7
with:
context: .
file: ./benchmarks-website/server/Dockerfile
platforms: linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository }}/vortex-bench-server:latest
ghcr.io/${{ github.repository }}/vortex-bench-server:${{ github.sha }}
15 changes: 15 additions & 0 deletions .github/workflows/sql-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,7 @@ jobs:
bash scripts/bench-taskset.sh uv run --project bench-orchestrator vx-bench run "${{ matrix.subcommand }}" \
--targets-json '${{ steps.targets.outputs.targets_json }}' \
--output results.json \
--gh-json-v3 results.v3.jsonl \
--no-build \
--runner "ec2_${{ inputs.machine_type }}" \
${{ matrix.iterations && format('--iterations {0}', matrix.iterations) || '' }} \
Expand All @@ -395,6 +396,7 @@ jobs:
bash scripts/bench-taskset.sh uv run --project bench-orchestrator vx-bench run "${{ matrix.subcommand }}" \
--targets-json '${{ steps.targets.outputs.targets_json }}' \
--output results.json \
--gh-json-v3 results.v3.jsonl \
--no-build \
--runner "ec2_${{ inputs.machine_type }}" \
${{ matrix.iterations && format('--iterations {0}', matrix.iterations) || '' }} \
Expand Down Expand Up @@ -499,6 +501,19 @@ jobs:
run: |
bash scripts/cat-s3.sh vortex-ci-benchmark-results data.json.gz results.json

- name: Ingest results to v3 server
if: inputs.mode == 'develop' && vars.V3_INGEST_URL != ''
continue-on-error: true
shell: bash
env:
INGEST_BEARER_TOKEN: ${{ secrets.INGEST_BEARER_TOKEN }}
run: |
python3 scripts/post-ingest.py results.v3.jsonl \
--server "${{ vars.V3_INGEST_URL }}" \
--commit-sha "${{ github.sha }}" \
--benchmark-id "${{ matrix.id }}" \
--repo-url "${{ github.server_url }}/${{ github.repository }}"

- name: Upload File Sizes
if: inputs.mode == 'develop' && matrix.remote_storage == null
shell: bash
Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/v3-commit-metadata.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Posts a v3 ingest envelope with no records on every push to develop, so the
# `commits` dim stays populated even when no benchmark ran.

name: v3 commit metadata

on:
push:
branches: [develop]
workflow_dispatch: { }

permissions:
contents: read

jobs:
commit-metadata:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 2

- name: Ingest commit metadata to v3 server
if: vars.V3_INGEST_URL != ''
continue-on-error: true
shell: bash
env:
INGEST_BEARER_TOKEN: ${{ secrets.INGEST_BEARER_TOKEN }}
run: |
echo -n > empty.jsonl
python3 scripts/post-ingest.py empty.jsonl \
--server "${{ vars.V3_INGEST_URL }}" \
--commit-sha "${{ github.sha }}" \
--benchmark-id "commit-metadata" \
--repo-url "${{ github.server_url }}/${{ github.repository }}"
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -242,3 +242,6 @@ trace*.pb

# pytest-benchmark output
vortex-python/.benchmarks/
# For local benchmarks website server and things like the WAL
**.duckdb*
.bench-env
Loading
Loading