Skip to content

Measure Axum's per-request HTTP client against a pooled one #1585

Open

Description

@aram356

Summary

Measure Axum's per-request HTTP client against a pooled one, and keep it per request unless the measurement shows the Next.js regression gone (SH-1's exception).

Part of #1558, server-side identity on every adapter. Plan ID T4, planned in wave 2 (MVP: Fastly and Axum); priority P2, size S. Design: spec; order and dependencies: plan.

Requirements

SH-1 Built once

Settings, the partner registry, store clients and the HTTP client are built once per process or isolate.

Current state

What the code does today, from the design's survey at the revisions it names:

  • SH-1: Cloudflare and Spin rebuild app state per request; Axum builds the partner registry per request (app.rs:495 at Cut Trusted Server over to EdgeZero PR 275 #1506's head 9ec4711d3) and the HTTP client per request on purpose, because a pooled client regressed a Next.js flow (main platform.rs:620-623). Keep that client choice unless a measurement shows the regression gone.

Acceptance criteria

  • SH-1: An adapter test shows settings, the partner registry and store clients built once across two requests, and the HTTP client too, except Axum's, which stays per request until a measurement shows the Next.js regression gone
  • SH-1: After that measurement Axum's client is held to the same rule

Dependencies

Blocked by:

Notes from the plan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions