Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
66c2b63
bump grafbase and hive router
enisdenjo Oct 26, 2025
7c0b77f
hive-router-query-planner gateway
enisdenjo Oct 26, 2025
2c1d791
run
enisdenjo Oct 26, 2025
5788311
bump in lockfile
enisdenjo Oct 26, 2025
e8ac701
bump locfile
enisdenjo Oct 26, 2025
6710481
no jit
enisdenjo Oct 26, 2025
3d4ad61
Merge branch 'main' into hive-rtr-qp-in-hive-gw
enisdenjo Nov 5, 2025
12b8862
do config ts
enisdenjo Nov 5, 2025
7a047f8
Merge branch 'main' into hive-rtr-qp-in-hive-gw
enisdenjo Nov 11, 2025
30f06ed
bump stable
enisdenjo Nov 11, 2025
1bc8582
router runtimes
enisdenjo Nov 11, 2025
5622f57
others and lock
enisdenjo Nov 11, 2025
faeca1a
workflow
enisdenjo Nov 11, 2025
18c84be
notify
enisdenjo Nov 11, 2025
e39b15f
router runtime on others too
enisdenjo Nov 11, 2025
37d3be4
fix lockfile
enisdenjo Nov 11, 2025
bd435ef
no bun
enisdenjo Nov 11, 2025
c41fe43
no backtics
enisdenjo Nov 11, 2025
4ce746d
no bun
enisdenjo Nov 11, 2025
74504aa
no delays
enisdenjo Nov 11, 2025
2c43d8e
print invalid once
enisdenjo Nov 11, 2025
b0e5ebb
event_name in fed-v1 group
enisdenjo Nov 11, 2025
8e9b349
revert printonce
enisdenjo Nov 11, 2025
238267e
Update results for scenario: ramping-vus
invalid-email-address Nov 11, 2025
4251ff3
Update results for scenario: constant-vus-over-time
invalid-email-address Nov 11, 2025
4352207
no delay stuff
enisdenjo Nov 11, 2025
863bc35
wait for hive gateway
enisdenjo Nov 11, 2025
e2b351c
Update results for scenario: constant-vus-over-time
invalid-email-address Nov 11, 2025
dde4457
Update results for scenario: ramping-vus
invalid-email-address Nov 11, 2025
58fe3a4
wait for url also ramping
enisdenjo Nov 11, 2025
1db236a
Update results for scenario: ramping-vus
invalid-email-address Nov 11, 2025
0c2481f
Update results for scenario: constant-vus-over-time
invalid-email-address Nov 11, 2025
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
9 changes: 6 additions & 3 deletions .github/workflows/benchmark.template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ on:
fork:
type: number
required: true
waitForUrl:
type: string

jobs:
test:
Expand All @@ -39,7 +41,7 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5

- name: setup node
uses: the-guild-org/shared-config/setup@v1
with:
Expand All @@ -53,7 +55,7 @@ jobs:
override: true

- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2

- name: run subgraphs
run: |
make run-subgraphs &
Expand All @@ -69,7 +71,7 @@ jobs:
- name: configure eqemu
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
with:
platforms: 'linux/arm64,linux/amd64'
platforms: "linux/arm64,linux/amd64"

- name: configure docker buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3
Expand Down Expand Up @@ -99,6 +101,7 @@ jobs:
MEM_LIMIT: ${{ inputs.memoryLimit }}
CPU_LIMIT: ${{ inputs.cpuLimit }}
FORK: ${{ inputs.fork }}
WAIT_FOR_URL: ${{ inputs.waitForUrl }}

- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
if: always()
Expand Down
143 changes: 73 additions & 70 deletions .github/workflows/federation-v1.workflow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ on:
workflow_dispatch: {}

concurrency:
group: federation-${{ github.ref }}
# we group by event name because we dont want to cancel workflow dispatch runs on pr commits
group: federation-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true

jobs:
Expand All @@ -21,7 +22,7 @@ jobs:
- apollo-gateway
- apollo-router
- hive-gateway
- hive-gateway-bun
- hive-gateway-router-runtime
- hive-router
- cosmo
- grafbase
Expand All @@ -36,6 +37,7 @@ jobs:
fork: 2
memoryLimit: 6gb
mode: constant
waitForUrl: ${{ startsWith(matrix.directory, 'hive-gateway') && 'http://localhost:4000/healthcheck' || '' }}

constant-vus-over-time-report:
needs: constant-vus-over-time
Expand All @@ -44,73 +46,73 @@ jobs:
with:
scenarioName: constant-vus-over-time

constant-vus-subgraphs-delay:
needs:
- decide-runner
strategy:
fail-fast: false
matrix:
directory:
- apollo-gateway
- apollo-router
- hive-gateway
- hive-gateway-bun
- hive-router
- cosmo
- grafbase
uses: ./.github/workflows/benchmark.template.yaml
with:
gateway: ${{ matrix.directory }}
vu: 50
time: ${{ github.event_name == 'pull_request' && '30s' || '60s' }}
scenarioName: constant-vus-subgraphs-delay
runner: ${{ needs.decide-runner.outputs.runner }}
cpuLimit: 3
fork: 2
memoryLimit: 6gb
subgraphDelay: 50
mode: constant

constant-vus-subgraphs-delay-report:
needs: constant-vus-subgraphs-delay
uses: ./.github/workflows/report.template.yaml
secrets: inherit
with:
scenarioName: constant-vus-subgraphs-delay

constant-vus-subgraphs-delay-resources:
needs:
- decide-runner
strategy:
fail-fast: false
matrix:
directory:
- apollo-gateway
- apollo-router
- hive-gateway
- hive-gateway-bun
- hive-router
- cosmo
- grafbase
uses: ./.github/workflows/benchmark.template.yaml
with:
gateway: ${{ matrix.directory }}
vu: 50
time: ${{ github.event_name == 'pull_request' && '30s' || '60s' }}
scenarioName: constant-vus-subgraphs-delay-resources
runner: ${{ needs.decide-runner.outputs.runner }}
cpuLimit: 4
fork: 3
memoryLimit: 8gb
subgraphDelay: 50
mode: constant

constant-vus-subgraphs-delay-resources-report:
needs: constant-vus-subgraphs-delay-resources
uses: ./.github/workflows/report.template.yaml
secrets: inherit
with:
scenarioName: constant-vus-subgraphs-delay-resources
# TODO: do we need the delay scenarios?
# constant-vus-subgraphs-delay:
# needs:
# - decide-runner
# strategy:
# fail-fast: false
# matrix:
# directory:
# - apollo-gateway
# - apollo-router
# - hive-gateway
# - hive-gateway-router-runtime
# - hive-router
# - cosmo
# - grafbase
# uses: ./.github/workflows/benchmark.template.yaml
# with:
# gateway: ${{ matrix.directory }}
# vu: 50
# time: ${{ github.event_name == 'pull_request' && '30s' || '60s' }}
# scenarioName: constant-vus-subgraphs-delay
# runner: ${{ needs.decide-runner.outputs.runner }}
# cpuLimit: 3
# fork: 2
# memoryLimit: 6gb
# subgraphDelay: 50
# mode: constant
# waitForUrl: ${{ startsWith(matrix.directory, 'hive-gateway') && 'http://localhost:4000/healthcheck' || '' }}
# constant-vus-subgraphs-delay-report:
# needs: constant-vus-subgraphs-delay
# uses: ./.github/workflows/report.template.yaml
# secrets: inherit
# with:
# scenarioName: constant-vus-subgraphs-delay
# constant-vus-subgraphs-delay-resources:
# needs:
# - decide-runner
# strategy:
# fail-fast: false
# matrix:
# directory:
# - apollo-gateway
# - apollo-router
# - hive-gateway
# - hive-gateway-router-runtime
# - hive-router
# - cosmo
# - grafbase
# uses: ./.github/workflows/benchmark.template.yaml
# with:
# gateway: ${{ matrix.directory }}
# vu: 50
# time: ${{ github.event_name == 'pull_request' && '30s' || '60s' }}
# scenarioName: constant-vus-subgraphs-delay-resources
# runner: ${{ needs.decide-runner.outputs.runner }}
# cpuLimit: 4
# fork: 3
# memoryLimit: 8gb
# subgraphDelay: 50
# mode: constant
# waitForUrl: ${{ startsWith(matrix.directory, 'hive-gateway') && 'http://localhost:4000/healthcheck' || '' }}
# constant-vus-subgraphs-delay-resources-report:
# needs: constant-vus-subgraphs-delay-resources
# uses: ./.github/workflows/report.template.yaml
# secrets: inherit
# with:
# scenarioName: constant-vus-subgraphs-delay-resources

ramping-vus:
needs:
Expand All @@ -122,7 +124,7 @@ jobs:
- apollo-gateway
- apollo-router
- hive-gateway
- hive-gateway-bun
- hive-gateway-router-runtime
- hive-router
- cosmo
- grafbase
Expand All @@ -137,6 +139,7 @@ jobs:
fork: 3
memoryLimit: 8gb
mode: stress
waitForUrl: ${{ startsWith(matrix.directory, 'hive-gateway') && 'http://localhost:4000/healthcheck' || '' }}

ramping-vus-report:
needs: ramping-vus
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ The benchmark uses Unix-specific tools and commands that are not available on Wi
```bash
make test gateway=<gateway_name> mode=<constant|stress>
```
Replace `<gateway_name>` with one of: `apollo-router`, `cosmo`, `grafbase`, `hive-gateway`, `hive-gateway-bun`, or `hive-router`.
Replace `<gateway_name>` with one of: `apollo-router`, `cosmo`, `grafbase`, `hive-gateway`, `hive-gateway-bun`, `hive-gateway-router-runtime`, `hive-gateway-router-runtime-bun`, or `hive-router`.

Examples:
```bash
Expand Down
Loading