Performance Profiling
Latency percentiles from the YAML you already have.
Profile mode sends each request many times and reports min, max, mean, median, p95, p99 and standard deviation. Exclude warmup runs, add concurrency, and export the raw timings.
search.yaml
# curl-runner search.yaml --profile-histogram --profile-export timings.csv
global:
profile:
iterations: 100
warmup: 5
concurrency: 4
requests:
- name: Search
url: https://api.example.com/search?q=shoesBenefits
Percentiles, not one number
p50, p95 and p99 show the tail a single timing hides, alongside the failure rate.
Honest numbers
Warmup iterations are left out of the statistics, so a cold start doesn’t skew the result.
Take the data with you
Print an ASCII histogram in the terminal, or export every timing as JSON or CSV.
Good for
- Comparing an endpoint before and after a change
- Spotting tail latency on a slow route
- Quick checks under light concurrent load
- Collecting timings for a spreadsheet or chart