Closed renovate[bot] closed 6 months ago
federation-v1/constant-vus-subgraphs-delay
This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. It's being executed with a constant amount of VUs over a fixed amount of time. It measure things like memory usage, CPU usage, average RPS. It also includes a summary of the entire execution, and metrics information about HTTP execution times.
This scenario was running 100 VUs over 30s
Gateway | RPS ⬇️ | Requests | Duration | Notes |
---|---|---|---|---|
apollo-router | 149 | 4569 total, 0 failed | avg: 616ms, p95: 800ms | ✅ |
wundergraph | 102 | 3157 total, 0 failed | avg: 922ms, p95: 1163ms | ✅ |
mesh-supergraph-bun | 83 | 2566 total, 0 failed | avg: 1157ms, p95: 1732ms | ✅ |
cosmo | 80 | 2511 total, 0 failed | avg: 1186ms, p95: 1421ms | ✅ |
apollo-server | 45 | 1421 total, 0 failed | avg: 2138ms, p95: 2508ms | ✅ |
mesh-supergraph | 27 | 882 total, 0 failed | avg: 3531ms, p95: 5692ms | ✅ |
mercurius | 11 | 449 total, 0 failed | avg: 7581ms, p95: 8957ms | ✅ |
federation-v1/constant-vus-over-time
This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. It's being executed with a constant amount of VUs over a fixed amount of time. It measure things like memory usage, CPU usage, average RPS. It also includes a summary of the entire execution, and metrics information about HTTP execution times.
This scenario was running 100 VUs over 30s
Gateway | RPS ⬇️ | Requests | Duration | Notes |
---|---|---|---|---|
cosmo | 176 | 5357 total, 0 failed | avg: 496ms, p95: 741ms | ✅ |
apollo-router | 166 | 5087 total, 0 failed | avg: 523ms, p95: 716ms | ✅ |
wundergraph | 157 | 4801 total, 0 failed | avg: 554ms, p95: 923ms | ✅ |
mesh-supergraph-bun | 98 | 3012 total, 0 failed | avg: 983ms, p95: 1705ms | ✅ |
apollo-server | 49 | 1570 total, 0 failed | avg: 1958ms, p95: 2187ms | ✅ |
mercurius | 32 | 993 total, 0 failed | avg: 3086ms, p95: 4245ms | ✅ |
mesh-supergraph | 30 | 967 total, 0 failed | avg: 3193ms, p95: 5173ms | ✅ |
federation-v1/constant-vus-subgraphs-delay-resources
This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. It's being executed with a constant amount of VUs over a fixed amount of time. It measure things like memory usage, CPU usage, average RPS. It also includes a summary of the entire execution, and metrics information about HTTP execution times.
This scenario was running 100 VUs over 30s
Gateway | RPS ⬇️ | Requests | Duration | Notes |
---|---|---|---|---|
apollo-router | 165 | 5050 total, 0 failed | avg: 535ms, p95: 725ms | ✅ |
wundergraph | 103 | 3187 total, 0 failed | avg: 916ms, p95: 1126ms | ✅ |
mesh-supergraph-bun | 102 | 3144 total, 0 failed | avg: 932ms, p95: 1303ms | ✅ |
cosmo | 82 | 2583 total, 0 failed | avg: 1154ms, p95: 1417ms | ✅ |
apollo-server | 61 | 1915 total, 0 failed | avg: 1590ms, p95: 2028ms | ✅ |
mesh-supergraph | 60 | 1866 total, 0 failed | avg: 1617ms, p95: 2485ms | ✅ |
mercurius | 12 | 476 total, 0 failed | avg: 7105ms, p95: 8344ms | ✅ |
federation-v1/ramping-vus
This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. We are running a heavy load of concurrent VUs to measure response time and other stats, during stress. It measure things like memory usage, CPU usage, response times. It also includes a summary of the entire execution, and metrics information about HTTP execution times.
This scenario was trying to reach 500 concurrent VUs over 60s
Gateway | duration(p95)⬇️ | RPS | Requests | Durations | Notes |
---|---|---|---|---|---|
cosmo | 2207ms | 176 | 12363 total, 0 failed | avg: 756ms, p95: 2207ms, max: 6897ms, med: 538ms | ❌ 3 unexpected GraphQL errors, non-compatible response structure (3) |
apollo-router | 2491ms | 172 | 12070 total, 0 failed | avg: 835ms, p95: 2492ms, max: 7062ms, med: 523ms | ✅ |
wundergraph | 2507ms | 167 | 11702 total, 0 failed | avg: 792ms, p95: 2508ms, max: 5282ms, med: 519ms | ✅ |
mesh-supergraph-bun | 5365ms | 114 | 8039 total, 0 failed | avg: 2283ms, p95: 5366ms, max: 9126ms, med: 2079ms | ✅ |
mesh-supergraph | 6518ms | 69 | 4871 total, 0 failed | avg: 3924ms, p95: 6519ms, max: 7842ms, med: 3995ms | ✅ |
apollo-server | 23411ms | 68 | 5043 total, 0 failed | avg: 4138ms, p95: 23411ms, max: 44918ms, med: 2212ms | ✅ |
This PR contains the following updates:
v1.41.1
->v1.42.0
Release Notes
apollographql/router (ghcr.io/apollographql/router)
### [`v1.42.0`](https://togithub.com/apollographql/router/releases/tag/v1.42.0) [Compare Source](https://togithub.com/apollographql/router/compare/v1.41.1...v1.42.0) ##### 🚀 Features ##### Add headers to the JWKS download request ([Issue #4651](https://togithub.com/apollographql/router/issues/4651)) The router supports the new `authentication.router.jwt.jwks.headers` option for setting static headers on HTTP requests to download a JWKS from an identity provider. For details, see the [JWKS configuration option](https://www.apollographql.com/docs/router/configuration/authn-jwt#jwks). By [@Geal](https://togithub.com/Geal) in [https://github.com/apollographql/router/pull/4688](https://togithub.com/apollographql/router/pull/4688) ##### Support loading JWT from other sources ([PR #4711](https://togithub.com/apollographql/router/pull/4711)) The router supports the new `authentication.router.jwt.sources` option. It enables cookies as an alternative source for tokens and allows multiple alternative sources. For details, see the [sources configuration option](https://www.apollographql.com/docs/router/configuration/authn-jwt#sources). By [@Geal](https://togithub.com/Geal) in [https://github.com/apollographql/router/pull/4711](https://togithub.com/apollographql/router/pull/4711) ##### 🐛 Fixes ##### Attach `dd.trace_id` to JSON formatted log messages ([PR #4764](https://togithub.com/apollographql/router/pull/4764)) To enable correlation between DataDog tracing and logs, `dd.trace_id` must appear as a span attribute on the root of each JSON formatted log message. Once you configure the `dd.trace_id` attribute in router.yaml, it will automatically be extracted from the root span and attached to the logs: ```yaml title="router.yaml" telemetry: instrumentation: spans: mode: spec_compliant router: attributes: dd.trace_id: true ``` By [@BrynCooke](https://togithub.com/BrynCooke) in [https://github.com/apollographql/router/pull/4764](https://togithub.com/apollographql/router/pull/4764)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.