TypeScript Test Scripts
Write database stress tests in TypeScript with full type safety. Use k6 scenarios, thresholds, and the built-in helpers framework.
Flexible Data Generation
Generate realistic test data with uniform, normal, and Zipfian distributions. Strings, integers, floats, UUIDs, booleans, dates — with sequence and random modes.
k6 Under the Hood
Built as a k6 extension. Get virtual users, scenarios, thresholds, real-time web dashboard, and HTML report export out of the box. All k6 features work natively.
Built-in Workloads
Start immediately with TPC-B, TPC-C, and TPC-DS preset workloads. Or scaffold your own with stroppy gen --preset=simple.
SQL-First Approach
Organize SQL in structured files with named sections and queries. Named parameters, automatic placeholder conversion, and argument validation out of the box.
Extensible Drivers
PostgreSQL driver built-in with connection pooling and COPY support. Add your own database driver by implementing a simple Go interface and registering it.
Up and running in 30 seconds
stroppy gen --preset=simplecd simple && npm installstroppy run simple.tsOr use Docker
# Pull and run directly
docker pull ghcr.io/stroppy-io/stroppy:latest
# Run built-in TPC-B benchmark
docker run --network host \
stroppy run /workloads/tpcb/tpcb.ts \
/workloads/tpcb/tpcb.sql
# With custom database URL
docker run --network host \
-e DRIVER_URL="postgres://u:p@host/db" \
stroppy run /workloads/simple/simple.ts