load-profile-generator·codegen·active

Load Profile Generator

Translates business-level load expectations (peak Black Friday traffic, end-of-month reporting) into k6/JMeter/Locust scripts with realistic think times.

LEOtrigger · agent
Load Profile Generator
Translates business-level load expectations into k6, JMeter, or Locust scripts with realistic think times, ramp curves, and traffic mix.
When this skill fires
·A user describes load in natural language:"simulate Black Friday peak for our checkout flow"
·A capacity-planning ticket references a target throughput and SLO
·An ARIA recommendation calls for load testing as part of a release readiness check
Translation layers
Business → traffic shape
·"Black Friday peak" → 12× baseline RPS over 4 hours, with a 30-minute spike at hour 1
·"End-of-month reporting" → sustained 3× baseline for 6 hours
·"Marketing campaign launch" → 2× ramp over 30 min, hold for 3 hours, ramp down
LEO maintains a small library of these "shapes" derived from real customer load profiles.
Traffic shape → user journey mix
The shape alone isn't enough — Black Friday checkout traffic looks different from Black Friday browsing traffic. LEO infers a journey mix from the requirement:
·Browse (50%)
·Add to cart (25%)
·Checkout (15%)
·Account / login (10%)
Mix can be overridden when the user provides one explicitly.
Journey mix → script
LEO emits a script in the chosen framework with:
·A virtual user definition per journey
·Realistic think times between actions (sampled from a distribution, not constant)
·Authentication setup and token reuse where appropriate
·Tagged metrics soThreshold Detector can analyze per-journey
Realistic think times
Constant think times (sleep(1) between every action) are unrealistic and produce optimistic results. LEO uses log-normal distributions calibrated to the journey type — a checkout flow has longer pauses than a browse flow.
Ramp curves
·Linear — for capacity planning, default
·Stepped — for finding breaking points, increases users in discrete jumps
·Spike — sudden 10×+ load to test resilience
·Soak — flat load for hours to surface memory leaks and resource exhaustion
What it produces
A complete script file (k6 by default):
·Imports and setup
·VU groups per journey, with thinkable times and assertions
·Stages array defining the ramp curve
·Custom metrics for journey-level latency and error rate
·A README documenting the assumed traffic mix and how to override
The README is mandatory. A load test you can't reason about in two minutes is worse than no load test.