HttpArena
Knowledge BaseFrameworks

meta.json Reference

Create a meta.json file in your framework directory:

{
  "display_name": "your-framework",
  "language": "Go",
  "engine": "net/http",
  "type": "flagship",
  "mode": "standard",
  "completeness": { "routing": true, "middleware": true, "request": true, "response": true },
  "description": "Short description of the framework and its key features.",
  "repo": "https://github.com/org/repo",
  "enabled": true,
  "tests": ["baseline", "pipelined", "limited-conn", "json-comp", "8gbit", "baseline-h2"],
  "maintainers": ["your-github-username"]
}

Fields

FieldDescription
display_nameName shown on the leaderboard
languageProgramming language (e.g., Go, Rust, C#, Java)
engineHTTP server engine (e.g., Kestrel, Tomcat, hyper)
typeflagship, emerging or experimental for frameworks - servers you write application code against, tiered by how production-proven they are; engine for implementations applications are not written against (raw sockets, WSGI/ASGI hosts); infrastructure for reverse proxies / static-file servers. See Implementation Rules
modeFrameworks only: standard (default - idiomatic, production-style usage) or tuned (non-default config / optimizations)
completenessFrameworks only: which of routing, middleware, request and response the framework does for you. Each one set to false takes 2.5% off the composite; an axis you leave out reads as done, and omitting the field scores a full ×1.00. Omit it entirely on an entry that runs only WebSocket or gRPC profiles - the factor never applies on those boards. See Completeness
descriptionShown in the framework detail popup on the leaderboard
repoLink to the framework's source repository
enabledSet to false to skip this framework during benchmark runs
testsArray of test profiles this framework participates in
maintainersArray of GitHub usernames to notify when a PR modifies this framework

Available test profiles

ProfileProtocolRequired endpoints
baselineHTTP/1.1/baseline11
pipelinedHTTP/1.1/pipeline
limited-connHTTP/1.1/baseline11
json-compHTTP/1.1/json/{count}?m=N (must honor Accept-Encoding: gzip, br)
json-tlsHTTP/1.1 + TLS/json/{count}?m=N (port 8081, ALPN http/1.1)
8gbitHTTP/1.1 + TLSPOST /echo on port 8081 (10 KB echoed verbatim)
api-4HTTP/1.1/baseline11, /json/{count}, /async-db (4 CPU, 16 GB)
api-16HTTP/1.1/baseline11, /json/{count}, /async-db (16 CPU, 32 GB)
async-dbHTTP/1.1/async-db?min=X&max=Y&limit=N (requires DATABASE_URL)
baseline-h2HTTP/2/baseline2 (TLS, port 8443)
static-h2HTTP/2/static/* (TLS, port 8443)
baseline-h2cHTTP/2 cleartext/baseline2 (port 8082, prior-knowledge)
json-h2cHTTP/2 cleartext/json/{count}?m=N (port 8082, prior-knowledge)
baseline-h3HTTP/3/baseline2 (QUIC, port 8443)
static-h3HTTP/3/static/* (QUIC, port 8443)
gateway-64HTTP/2Compose stack serving /static/*, /json, /async-db, /baseline2 (TLS, port 8443)
gateway-h3HTTP/3Compose stack serving /static/*, /json, /async-db, /baseline2 (QUIC, port 8443)
production-stackHTTP/2Compose stack: edge + JWT auth sidecar + Redis + server (TLS, port 8443)
unary-grpcgRPCBenchmarkService/GetSum (h2c, port 8080)
unary-grpc-tlsgRPCBenchmarkService/GetSum (TLS, port 8443)
echo-wsWebSocket/ws echo (port 8080)

Only include profiles your framework supports. Frameworks missing a profile simply don't appear in that profile's leaderboard.

Per-profile endpoint contracts, request/response shapes, and validation rules live under the Test Profiles section - link to the specific profile's Implementation page from your PR description when adding a new framework.