Skip to content

Latest commit

 

History

History
78 lines (51 loc) · 2.26 KB

File metadata and controls

78 lines (51 loc) · 2.26 KB

Streaming and load testing

README · Docs · Guides · Packages

Generate data streams at controlled rates. Pipe to files, databases, or HTTP endpoints.

Guides · Quick start · Streaming · Corruption · Mock API server

Contents

Stream to file

seedfaker name email phone --format jsonl --seed bench --until 2025 -n 1000000 > users.jsonl

Deterministic — re-run and get the same file.

Rate-limited output

--rate N limits output to N records per second:

seedfaker run nginx -n 0 --rate 200 --seed traffic --until 2025
49.117.186.194 - yg0292 [28/Mar/2025:00:00:05 +0000] "POST https://service.prod.net/v3/users HTTP/1.1" 200 448752 ...

Unlimited stream

-n 0 runs until the pipe closes or Ctrl+C:

seedfaker name email --format jsonl -n 0 --seed stream --until 2025 | your-consumer

Pipe to an HTTP endpoint

Generate shaped JSON, write to a file, then feed to a load testing tool:

Generate request bodies as a file, then feed to your load testing tool:

seedfaker name email amount=amount:plain:1..500 \
  -t '{"user":"{{name}}","email":"{{email}}","amount":{{amount}}}' \
  --seed load --until 2025 -n 10000 > requests.jsonl

POST individually for small-scale testing:

seedfaker name email -t '{"user":"{{name}}","email":"{{email}}"}' \
  --seed load --until 2025 -n 5 | while IFS= read -r line; do
  curl -s -X POST -H 'Content-Type: application/json' -d "$line" http://localhost:8080/ingest
done

Generate corrupted data

--corrupt produces realistic defects — encoding errors, truncation, field swaps:

seedfaker name email phone --format jsonl --corrupt high --seed chaos --until 2025 -n 100 > malformed.jsonl

Feed to your service to verify error handling.


README · Docs · Guides · Packages