Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Rust crate axum to 0.7.0 #300

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Update Rust crate axum to 0.7.0 #300

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 27, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
axum dependencies minor 0.6.20 -> 0.7.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

tokio-rs/axum (axum)

v0.7.5: axum - v0.7.5

Compare Source

  • fixed: Fixed layers being cloned when calling axum::serve directly with
    a Router or MethodRouter (#​2586)
  • fixed: h2 is no longer pulled as a dependency unless the http2 feature
    is enabled (#​2605)

v0.7.4: axum - v0.7.4

Compare Source

  • fixed: Fix performance regression present since axum 0.7.0 (#​2483)
  • fixed: Improve debug_handler on tuple response types (#​2201)
  • added: Add must_use attribute to Serve and WithGracefulShutdown (#​2484)
  • added: Re-export axum_core::body::BodyDataStream from axum

v0.7.3: axum - v0.7.3

Compare Source

  • added: Body implements From<()> now (#​2411)
  • change: Update version of multer used internally for multipart (#​2433)
  • change: Update tokio-tungstenite to 0.21 (#​2435)
  • added: Enable tracing feature by default (#​2460)
  • added: Support graceful shutdown on serve (#​2398)
  • added: RouterIntoService implements Clone (#​2456)

v0.7.2: axum - v0.7.2

Compare Source

  • added: Add axum::body::to_bytes (#​2373)
  • fixed: Gracefully handle accept errors in serve (#​2400)

v0.7.1: axum - v0.7.1

Compare Source

  • fix: Fix readme.

v0.7.0: axum - v0.7.0

Compare Source

  • breaking: Update public dependencies. axum now requires
  • breaking: axum now requires tower-http 0.5
  • breaking: Remove deprecated WebSocketUpgrade::max_send_queue
  • breaking: The following types/traits are no longer generic over the request body
    (i.e. the B type param has been removed) (#​1751 and #​1789):
    • FromRequestParts
    • FromRequest
    • HandlerService
    • HandlerWithoutStateExt
    • Handler
    • LayeredFuture
    • Layered
    • MethodRouter
    • Next
    • RequestExt
    • RouteFuture
    • Route
    • Router
  • breaking: axum no longer re-exports hyper::Body as that type is removed
    in hyper 1.0. Instead axum has its own body type at axum::body::Body (#​1751)
  • breaking: extract::BodyStream has been removed as body::Body
    implements Stream and FromRequest directly (#​1751)
  • breaking: Change sse::Event::json_data to use axum_core::Error as its error type (#​1762)
  • breaking: Rename DefaultOnFailedUpdgrade to DefaultOnFailedUpgrade (#​1664)
  • breaking: Rename OnFailedUpdgrade to OnFailedUpgrade (#​1664)
  • breaking: TypedHeader has been move to axum-extra (#​1850)
  • breaking: Removed re-exports of Empty and Full. Use
    axum::body::Body::empty and axum::body::Body::from respectively (#​1789)
  • breaking: The response returned by IntoResponse::into_response must use
    axum::body::Body as the body type. axum::response::Response does this
    (#​1789)
  • breaking: Removed the BoxBody type alias and its box_body
    constructor. Use axum::body::Body::new instead (#​1789)
  • breaking: Remove RawBody extractor. axum::body::Body implements FromRequest directly (#​1789)
  • breaking: The following types from http-body no longer implement IntoResponse:
    • Full, use Body::from instead
    • Empty, use Body::empty instead
    • BoxBody, use Body::new instead
    • UnsyncBoxBody, use Body::new instead
    • MapData, use Body::new instead
    • MapErr, use Body::new instead
  • added: Add axum::extract::Request type alias where the body is axum::body::Body (#​1789)
  • added: Add Router::as_service and Router::into_service to workaround
    type inference issues when calling ServiceExt methods on a Router (#​1835)
  • breaking: Removed axum::Server as it was removed in hyper 1.0. Instead
    use axum::serve(listener, service) or hyper/hyper-util for more configuration options (#​1868)
  • breaking: Only inherit fallbacks for routers nested with Router::nest.
    Routers nested with Router::nest_service will no longer inherit fallbacks (#​1956)
  • fixed: Don't remove the Sec-WebSocket-Key header in WebSocketUpgrade (#​1972)
  • added: Add axum::extract::Query::try_from_uri (#​2058)
  • added: Implement IntoResponse for Box<str> and Box<[u8]> ([#​2035])
  • breaking: Simplify MethodFilter. It no longer uses bitflags (#​2073)
  • fixed: Fix bugs around merging routers with nested fallbacks (#​2096)
  • fixed: Fix .source() of composite rejections (#​2030)
  • fixed: Allow unreachable code in #[debug_handler] (#​2014)
  • change: axum's MSRV is now 1.66 (#​1882)
  • added: Implement IntoResponse for (R,) where R: IntoResponse (#​2143)
  • changed: For SSE, add space between field and value for compatibility (#​2149)
  • added: Add NestedPath extractor (#​1924)
  • added: Add handle_error function to existing ServiceExt trait (#​2235)
  • breaking: impl<T> IntoResponse(Parts) for Extension<T> now requires
    T: Clone, as that is required by the http crate (#​1882)
  • added: Add axum::Json::from_bytes (#​2244)
  • added: Implement FromRequestParts for http::request::Parts (#​2328)
  • added: Implement FromRequestParts for http::Extensions (#​2328)
  • fixed: Clearly document applying DefaultBodyLimit to individual routes (#​2157)

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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link

github-actions bot commented Nov 27, 2023

Overview for: federation-v2/v2-constant-vus-over-time

This scenario runs 5 subgraphs and a GraphQL gateway with Federation v2 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

Comparison

Comparison

Gateway RPS ⬇️ Requests Duration Notes
mesh-supergraph-bun 91 2800 total, 0 failed avg: 1089ms, p95: 1125ms
apollo-router 32 1000 total, 0 failed avg: 3041ms, p95: 3166ms
apollo-server 31 1000 total, 0 failed avg: 3123ms, p95: 4009ms
mesh-supergraph 31 1000 total, 0 failed avg: 3147ms, p95: 4278ms
Summary for: `mesh-supergraph-bun`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 8400      ✗ 0    
     data_received..................: 3.2 MB  103 kB/s
     data_sent......................: 2.5 MB  80 kB/s
     http_req_blocked...............: avg=454.3µs min=1.04µs  med=2.17µs  max=22.88ms p(90)=3.21µs  p(95)=4.88µs 
     http_req_connecting............: avg=92.96µs min=0s      med=0s      max=8.06ms  p(90)=0s      p(95)=0s     
     http_req_duration..............: avg=1.08s   min=1s      med=1s      max=3.15s   p(90)=1.03s   p(95)=1.12s  
       { expected_response:true }...: avg=1.08s   min=1s      med=1s      max=3.15s   p(90)=1.03s   p(95)=1.12s  
     http_req_failed................: 0.00%   ✓ 0         ✗ 2800 
     http_req_receiving.............: avg=42.68µs min=16.73µs med=36.46µs max=2.76ms  p(90)=61.75µs p(95)=71.44µs
     http_req_sending...............: avg=56.26µs min=7.44µs  med=12.57µs max=3.96ms  p(90)=20.88µs p(95)=38.9µs 
     http_req_tls_handshaking.......: avg=0s      min=0s      med=0s      max=0s      p(90)=0s      p(95)=0s     
     http_req_waiting...............: avg=1.08s   min=1s      med=1s      max=3.15s   p(90)=1.03s   p(95)=1.12s  
     http_reqs......................: 2800    91.118959/s
     iteration_duration.............: avg=1.08s   min=1s      med=1s      max=3.17s   p(90)=1.03s   p(95)=1.12s  
     iterations.....................: 2800    91.118959/s
     vus............................: 100     min=100     max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-router`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 3000      ✗ 0    
     data_received..................: 1.2 MB  38 kB/s
     data_sent......................: 875 kB  29 kB/s
     http_req_blocked...............: avg=468.98µs min=972ns   med=2.08µs max=9.05ms p(90)=64.17µs  p(95)=5.65ms  
     http_req_connecting............: avg=142.98µs min=0s      med=0s     max=6.93ms p(90)=6.04µs   p(95)=752.47µs
     http_req_duration..............: avg=3.04s    min=2.97s   med=3.03s  max=3.18s  p(90)=3.09s    p(95)=3.16s   
       { expected_response:true }...: avg=3.04s    min=2.97s   med=3.03s  max=3.18s  p(90)=3.09s    p(95)=3.16s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 1000 
     http_req_receiving.............: avg=53.12µs  min=12.85µs med=25.7µs max=3.32ms p(90)=79.4µs   p(95)=198.96µs
     http_req_sending...............: avg=126.21µs min=6.87µs  med=12.4µs max=4.98ms p(90)=125.37µs p(95)=982.24µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s     max=0s     p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=3.04s    min=2.97s   med=3.03s  max=3.18s  p(90)=3.09s    p(95)=3.16s   
     http_reqs......................: 1000    32.846074/s
     iteration_duration.............: avg=3.04s    min=2.97s   med=3.03s  max=3.19s  p(90)=3.09s    p(95)=3.17s   
     iterations.....................: 1000    32.846074/s
     vus............................: 100     min=100     max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-server`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 3000      ✗ 0    
     data_received..................: 1.3 MB  41 kB/s
     data_sent......................: 875 kB  28 kB/s
     http_req_blocked...............: avg=161.3µs  min=1.47µs  med=2.59µs  max=11.86ms p(90)=46.14µs p(95)=1.18ms  
     http_req_connecting............: avg=129.11µs min=0s      med=0s      max=4.06ms  p(90)=6.07µs  p(95)=1.02ms  
     http_req_duration..............: avg=3.12s    min=3s      med=3.01s   max=4.28s   p(90)=3.3s    p(95)=4s      
       { expected_response:true }...: avg=3.12s    min=3s      med=3.01s   max=4.28s   p(90)=3.3s    p(95)=4s      
     http_req_failed................: 0.00%   ✓ 0         ✗ 1000 
     http_req_receiving.............: avg=58.94µs  min=24.02µs med=54.33µs max=1.4ms   p(90)=82.62µs p(95)=91.54µs 
     http_req_sending...............: avg=71.66µs  min=8.23µs  med=15.36µs max=1.67ms  p(90)=50.55µs p(95)=413.51µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s      max=0s      p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=3.12s    min=3s      med=3.01s   max=4.27s   p(90)=3.29s   p(95)=4s      
     http_reqs......................: 1000    31.550104/s
     iteration_duration.............: avg=3.12s    min=3s      med=3.01s   max=4.28s   p(90)=3.3s    p(95)=4.01s   
     iterations.....................: 1000    31.550104/s
     vus............................: 80      min=80      max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 3000      ✗ 0    
     data_received..................: 1.2 MB  36 kB/s
     data_sent......................: 875 kB  27 kB/s
     http_req_blocked...............: avg=164.14µs min=1.31µs  med=2.59µs  max=3.83ms   p(90)=42.19µs p(95)=1.49ms  
     http_req_connecting............: avg=142.47µs min=0s      med=0s      max=3.75ms   p(90)=8.17µs  p(95)=1.23ms  
     http_req_duration..............: avg=3.14s    min=3s      med=3.01s   max=4.59s    p(90)=3.35s   p(95)=4.27s   
       { expected_response:true }...: avg=3.14s    min=3s      med=3.01s   max=4.59s    p(90)=3.35s   p(95)=4.27s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 1000 
     http_req_receiving.............: avg=56.89µs  min=22.14µs med=52.34µs max=586.46µs p(90)=80.14µs p(95)=92.05µs 
     http_req_sending...............: avg=80.85µs  min=8.31µs  med=16.34µs max=10.08ms  p(90)=56.38µs p(95)=444.53µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=3.14s    min=3s      med=3.01s   max=4.59s    p(90)=3.34s   p(95)=4.27s   
     http_reqs......................: 1000    31.139657/s
     iteration_duration.............: avg=3.14s    min=3s      med=3.01s   max=4.59s    p(90)=3.35s   p(95)=4.28s   
     iterations.....................: 1000    31.139657/s
     vus............................: 7       min=7       max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview

@renovate renovate bot force-pushed the renovate/axum-0.x branch 9 times, most recently from 3011a82 to 2cade17 Compare December 4, 2023 01:03
@renovate renovate bot changed the title Update Rust crate axum to 0.7.1 Update Rust crate axum to 0.7.2 Dec 4, 2023
Copy link
Contributor Author

renovate bot commented Dec 6, 2023

⚠ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: federation-v1/subgraphs/reviews/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path federation-v1/subgraphs/reviews/Cargo.toml --package axum@0.6.20 --precise 0.7.5
    Updating crates.io index
error: failed to select a version for the requirement `axum = "^0.6.0"`
candidate versions found which didn't match: 0.7.5
location searched: crates.io index
required by package `async-graphql-axum v6.0.11`
    ... which satisfies dependency `async-graphql-axum = "^6.0.11"` (locked to 6.0.11) of package `accounts v0.1.0 (/tmp/renovate/repos/github/the-guild-org/gateways-benchmark/federation-v1/subgraphs/reviews)`
perhaps a crate was updated and forgotten to be re-vendored?

File name: federation-v1/subgraphs/products/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path federation-v1/subgraphs/products/Cargo.toml --package axum@0.6.20 --precise 0.7.5
    Updating crates.io index
error: failed to select a version for the requirement `axum = "^0.6.0"`
candidate versions found which didn't match: 0.7.5
location searched: crates.io index
required by package `async-graphql-axum v6.0.11`
    ... which satisfies dependency `async-graphql-axum = "^6.0.11"` (locked to 6.0.11) of package `accounts v0.1.0 (/tmp/renovate/repos/github/the-guild-org/gateways-benchmark/federation-v1/subgraphs/products)`
perhaps a crate was updated and forgotten to be re-vendored?

File name: federation-v1/subgraphs/inventory/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path federation-v1/subgraphs/inventory/Cargo.toml --package axum@0.6.20 --precise 0.7.5
    Updating crates.io index
error: failed to select a version for the requirement `axum = "^0.6.0"`
candidate versions found which didn't match: 0.7.5
location searched: crates.io index
required by package `async-graphql-axum v6.0.11`
    ... which satisfies dependency `async-graphql-axum = "^6.0.11"` (locked to 6.0.11) of package `accounts v0.1.0 (/tmp/renovate/repos/github/the-guild-org/gateways-benchmark/federation-v1/subgraphs/inventory)`
perhaps a crate was updated and forgotten to be re-vendored?

File name: federation-v1/subgraphs/accounts/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path federation-v1/subgraphs/accounts/Cargo.toml --package axum@0.6.20 --precise 0.7.5
    Updating crates.io index
error: failed to select a version for the requirement `axum = "^0.6.0"`
candidate versions found which didn't match: 0.7.5
location searched: crates.io index
required by package `async-graphql-axum v6.0.11`
    ... which satisfies dependency `async-graphql-axum = "^6.0.11"` (locked to 6.0.11) of package `accounts v0.1.0 (/tmp/renovate/repos/github/the-guild-org/gateways-benchmark/federation-v1/subgraphs/accounts)`
perhaps a crate was updated and forgotten to be re-vendored?

@renovate renovate bot force-pushed the renovate/axum-0.x branch 2 times, most recently from 8011cdd to bdbdba4 Compare December 6, 2023 15:35
@renovate renovate bot changed the title Update Rust crate axum to 0.7.2 Update Rust crate axum to 0.7.3 Dec 29, 2023
@renovate renovate bot changed the title Update Rust crate axum to 0.7.3 Update Rust crate axum to 0.7.4 Jan 13, 2024
@renovate renovate bot force-pushed the renovate/axum-0.x branch 10 times, most recently from 0214b12 to 8f89602 Compare February 16, 2024 07:34
@renovate renovate bot force-pushed the renovate/axum-0.x branch 23 times, most recently from 680cf26 to b7235bf Compare March 24, 2024 19:59
@renovate renovate bot changed the title Update Rust crate axum to 0.7.4 Update Rust crate axum to 0.7.5 Mar 24, 2024
@renovate renovate bot force-pushed the renovate/axum-0.x branch 2 times, most recently from b199990 to e09d41e Compare April 8, 2024 12:13
@renovate renovate bot changed the title Update Rust crate axum to 0.7.5 Update Rust crate axum to 0.7.0 May 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants