You see DNS, TCP, TLS, request send, server response, and download phases broken out individually. That 600ms latency you've been hunting? It's right, there was it the TLS handshake, the upstream's slow first byte, or the download itself?
No flame graphs, no packet capture, no extra tooling. One flag, full visibility.
Assertions That Speak CI/CD
Atrahasis CLI has first-class assertion support built-in, with no extra parser or wrapper script. Each assertion exits with code 1 on failure, which means atra slides into any CI pipeline as easily as curl did, but actually tells you whether your API is healthy:
atra GET https://api.example.com/users \
-a "status eq 200" \
-a "$.age eq 30" \
-a "body contains Alice" \
-a "header content-type contains xml" \
-a "response_time lt 10"
What you get in the terminal:
Live response-time chart per step, per iteration
Throughput and success rate summaries
Anomaly detection atra highlights when a particular iteration is significantly slower or faster than the average for that step
Step-by-step results with HTTP status, latency, and asserted outcomes
Flow variables ({{flow.userId}}), environment variables ({{base_url}}), and random generators ({{random.email}}), ({{random.uuid}}) are first-class. Chain a login response into the next request without writing a single line of glue code.
And because exit codes propagate, the same flow can run as a smoke test in CI, as a release gate, or as a local sanity check. One artifact, three jobs.
Load Testing in the Terminal
The same step definitions that drive your flow tests can drive a load test. No second toolchain, no second scripting language, no second mental model just run the same spec with a load profile:
atra run spec-group -s create-order -t stress
Desktop App:
SOCIAL SHARE CARD GENERATOR