meta.json

Create a meta.json file in your framework directory:

{
  "display_name": "your-framework",
  "language": "Go",
  "engine": "net/http",
  "type": "production",
  "description": "Short description of the framework and its key features.",
  "repo": "https://github.com/org/repo",
  "enabled": true,
  "tests": ["baseline", "pipelined", "limited-conn", "json", "json-comp", "upload", "api-4", "api-16", "baseline-h2", "static-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)
typeproduction for standard framework usage, tuned for optimized/non-default configurations, engine for bare-metal implementations
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
jsonHTTP/1.1/json/{count}?m=N
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)
uploadHTTP/1.1/upload
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)
staticHTTP/1.1/static/* (port 8080)
async-dbHTTP/1.1/async-db?min=X&max=Y&limit=N (requires DATABASE_URL)
crudHTTP/1.1/api/items, /api/items/{id} (GET/POST/PUT; requires DATABASE_URL, optional REDIS_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)
stream-grpcgRPCBenchmarkService/StreamSum (h2c, port 8080)
stream-grpc-tlsgRPCBenchmarkService/StreamSum (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.