# Baton

> Baton is an open source, self-hosted micro-benchmark CLI from American Express, scripted in Go. It is discontinued.

- Canonical: https://perf.jmeter.ai/tools/baton/
- Official: https://github.com/americanexpress/baton
- Source: https://github.com/americanexpress/baton
- Vendor: American Express
- Category: Micro-benchmark CLI
- License: Open Source — Free; Apache License 2.0.
- Deployment: Self-hosted
- Status: Discontinued
- Scripting: Go
- Protocols: HTTP, HTTPS
- OS support: macOS, Linux
- First released: 2015

- Last verified: 2026-08-12

## What it is
Baton generates GET, POST, PUT, and DELETE HTTP requests from a compact Go CLI and reports run results. The repository is no longer actively maintained, so it is listed as discontinued for new benchmark programs.

## Choose it when
- Quick HTTP or protocol micro-benchmarks from a single machine
- Teams that prefer open-source licensing and self-hosting options
- Groups comfortable scripting in Go

## Look elsewhere when
- New greenfield programs (prefer an active successor or alternative)
- Full multi-protocol enterprise journeys and rich business-flow reporting
- Teams unwilling to operate generators, results storage, and scaling

## Architecture
Baton is typically driven as a CLI micro-benchmark with Go. It favors single-host or simple distributed runs rather than enterprise controller grids.

## Pricing
Free; Apache License 2.0.

## Compare

## FAQ
### Who is Baton for?
Baton is best for developers who need fast HTTP or protocol micro-benchmarks from a terminal. It is open source, so teams can self-host and extend it. Vendor: American Express. Deployment model: self-hosted. Free; Apache License 2.0. Confirm details against the official site and a short proof-of-concept in your environment.

### How does Baton differ from Vegeta?
Compared with Vegeta, both sit in micro-benchmark cli, so shortlist on protocols, team skills, and pricing rather than category alone. Baton lists protocols HTTP, HTTPS; Vegeta lists HTTP, HTTPS. Status is discontinued versus active. Use the Test Rig to compare full specs side by side before a proof-of-concept.

### What scripting language and concurrency model does Baton use?
Baton uses Go for scripting or scenario definition. Runtime model: CLI-driven request generation with a lightweight concurrency model suited to single-host benchmarks. OS support: macOS, Linux. Protocols: HTTP, HTTPS. Match these to how your team already authors tests and which systems you must drive under load.

### What is the cloud or enterprise path for Baton?
Baton is primarily self-hosted; teams typically run generators on their own machines, CI runners, or private cloud. Plan for generator capacity, network access to targets, and result storage yourself. As open source, commercial support or hosted siblings may exist separately. Check the official site. Pricing note: Free; Apache License 2.0.

### What are known limitations of Baton?
Baton appears as discontinued in this directory. Prefer an actively maintained alternative for new work. Historical references remain so older docs and diagrams still resolve. Verify any remaining commercial support directly with the vendor before depending on it. Confirm details against the official site and a short proof-of-concept in your environment.

---
Curated by NaveenKumar Namachivayam (QAInsights) · methodology: https://perf.jmeter.ai/about/#methodology · corrections: https://github.com/QAInsights/Performance-Testing-Tools/issues/new?title=Tool%20submission%3A%20&body=Tool%20name%3A%20%0AOfficial%20URL%3A%20%0AWhat%20should%20be%20added%20or%20corrected%3F%20%0A